diff --git a/BUILD.txt b/BUILD.txt index f4c89cb7..f6e41c31 100644 --- a/BUILD.txt +++ b/BUILD.txt @@ -93,11 +93,14 @@ Building -------- Building ANTLR is trivial, assuming that you have loaded Maven version -2.0.9 or better on to your build system and installed it as explained +3.0.3 or better on to your build system and installed it as explained here: http://maven.apache.org/download.html +Note that the ANTLR toolset will ONLY build with version 3.0.3 of Maven +as of release 3.4. + If you are unfamiliar with Maven (and even if you are), the best resource for learning about it is The Definitive Guide: @@ -166,14 +169,14 @@ everything packaged up so it can build the uber-jar assembly. Somewhere in the build output (towards the end), you will find a line like this: -[INFO] Building jar: /home/jimi/antlrsrc/code/antlr/main/target/antlr-master-3.1.3-SNAPSHOT-completejar.jar +[INFO] Building jar: /home/jimi/antlrsrc/code/antlr/main/target/antlr-master-3.4-SNAPSHOT-completejar.jar This is the executable jar that you need and you can either copy it somewhere or, like me, you can create this script (assuming UNIX) somewhere in your PATH: #! /bin/bash -java -jar ~/antlrsrc/code/antlr/main/target/antlr-master-3.1.3-SNAPSHOT-completejar.jar $* +java -jar ~/antlrsrc/code/antlr/main/target/antlr-master-3.4-SNAPSHOT-completejar.jar $* Version Numbering ------------------- @@ -236,18 +239,8 @@ Deploying Deploying the tools at the current version is relatively easy, but to deploy to the ANTLR repositories (snapshot or release) you must have -been granted access to the antlr.org server and supplied an ssh -key. Few people will have this access of course. - -Assuming that you have ssh access to antlr.org, then you will need to -do the following before deployment will authorize and work correctly -(UNIX assumed here): - -$ eval `ssh-agent` -Agent PID nnnnn -$ ssh-add -Enter passphrase for /home/you/.ssh/id_rsa: -Identity added.... +been granted access to the Sonatype OSS repositories' ANTLR login. +Few people will have this access of course. Next, because we do not publish access information for antlr.org, you will need to configure the repository server names locally. You do @@ -258,43 +251,36 @@ this by creating (or adding to) the file: Which should look like this: - - - - - antlr-snapshot - mavensync - passphrase for your private key - /home/youruserlogin/.ssh/id_rsa - - - antlr-repo - mavensync - passphrase for your private key - /home/youruserlogin/.ssh/id_rsa - - + + + + sonatype-nexus-snapshots + xxxxxxx + xxxxxxx + + + sonatype-nexus-staging + xxxxxxx + xxxxxxx + + When this configuration is in place, you will be able to deploy the components, either individually or from the master directory: -mvn -Dmaven.test.skip=true deploy +mvn -Dmaven.test.skip=true -Ddeplot deploy You will then see lots of information about checking existing version -information and so on, and the components will be deployed. +information and so on, and the components will be deployed once you +supply the ANTLR public key passphrase to sign the jars. Note that so long as the artifacts are versioned with a.b.c-SNAPSHOT then deployment will always be to the development snapshot directory. When the artifacts are versioned with a release version -then deployment will be to the antlr.org release repository, which -will then be mirrored around the world. It is important not to deploy -a release until you have built and tested it to your satisfaction. +then deployment will be to the release stahinh repository, which +will then be mirrored around the world if closed and release. +The sonatype documentation should be consulted. Release Checklist ------------------ diff --git a/antlr3-maven-archetype/pom.xml b/antlr3-maven-archetype/pom.xml index 2e59bad5..6de349ca 100644 --- a/antlr3-maven-archetype/pom.xml +++ b/antlr3-maven-archetype/pom.xml @@ -6,11 +6,14 @@ 4.0.0 org.antlr antlr3-maven-archetype - 3.3-SNAPSHOT + 3.4 maven-archetype - ANTLR3 Maven Archetype + ANTLR3 Maven Archetype 3.4 + + + UTF-8 + - - - - - - antlr-repo - ANTLR Testing repository - scpexe://antlr.org/home/mavensync/antlr-repo - - - - antlr-snapshot - ANTLR Testing Snapshot Repository - scpexe://antlr.org/home/mavensync/antlr-snapshot - - - - + + + org.sonatype.oss + oss-parent + 7 + + + + + release-sign-artifacts + + + deploy + true + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.3 + + + sign-artifacts + verify + + sign + + + + + + + + + @@ -63,7 +84,7 @@ org.apache.maven.archetype archetype-packaging - 2.0-alpha-4 + 2.0 @@ -72,13 +93,14 @@ maven-archetype-plugin - 2.0-alpha-4 + 2.0 true org.apache.maven.plugins maven-source-plugin + 2.1.2 attach-sources @@ -88,7 +110,21 @@ - + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.8 + + + attach-javadocs + + jar + + + + + diff --git a/antlr3-maven-archetype/src/main/resources/archetype-resources/pom.xml b/antlr3-maven-archetype/src/main/resources/archetype-resources/pom.xml index 6b734ad5..e8db1143 100644 --- a/antlr3-maven-archetype/src/main/resources/archetype-resources/pom.xml +++ b/antlr3-maven-archetype/src/main/resources/archetype-resources/pom.xml @@ -24,7 +24,7 @@ Archetype by Jim Idle (jimi@temporal-wave.com) - Oct 2009 Report bugs to the ANTLR interest list at http://www.antlr.org - Generated by antlr3-maven-archetype version 3.2.1-SNAPSHOT + Generated by antlr3-maven-archetype version 3.4 ======================================================================= --> @@ -58,7 +58,7 @@ org.antlr antlr-runtime - 3.3-SNAPSHOT + 3.4 compile @@ -84,7 +84,7 @@ org.antlr antlr3-maven-plugin - 3.3-SNAPSHOT + 3.4 @@ -95,16 +95,16 @@ - maven-compiler-plugin + 2.0.2 1.6 jsr14 diff --git a/antlr3-maven-plugin/pom.xml b/antlr3-maven-plugin/pom.xml index 47b13377..58dc982b 100644 --- a/antlr3-maven-plugin/pom.xml +++ b/antlr3-maven-plugin/pom.xml @@ -36,6 +36,23 @@ + + + + org.sonatype.oss + oss-parent + 7 + + 4.0.0 @@ -64,8 +81,8 @@ we cannot use the paren pom to control the version number and MUST update in this pom manually! --> - 3.3.1-SNAPSHOT - Maven plugin for ANTLR V3 + 3.4 + Maven plugin for ANTLR V3.4 2.0 @@ -109,13 +126,44 @@ Jim Idle - March 2009 + + + release-sign-artifacts + + + deploy + true + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.3 + + + sign-artifacts + verify + + sign + + + + + + + + + + Jim Idle http://www.temporal-wave.com - Originator, version 3.1.3 + Originator, version 3.1.3+ @@ -161,55 +209,6 @@ Jim Idle - March 2009 http://www.antlr.org/LICENSE.txt - - - - - antlr-repo - ANTLR Testing repository - scpexe://antlr.org/home/mavensync/antlr-repo - - - - antlr-snapshot - ANTLR Testing Snapshot Repository - scpexe://antlr.org/home/mavensync/antlr-snapshot - - - - antlr-repo - ANTLR Maven Plugin Web Site - scpexe://antlr.org/home/mavensync/antlr-maven-webs/antlr3-maven-plugin - - - - - - - - - antlr-snapshot - ANTLR Testing Snapshot Repository - http://antlr.org/antlr-snapshot - - true - always - - - - false - - - - - @@ -273,7 +272,7 @@ Jim Idle - March 2009 org.antlr antlr - 3.3 + 3.4 @@ -14,12 +13,6 @@ --> completejar - - false - @@ -29,7 +22,7 @@ false @@ -49,43 +42,34 @@ - + + + + false + + true - - - - - - - - - org.antlr:gunit + + - - - - - - false - + true @@ -43,57 +43,10 @@ including in the archive. In the main this is because we did not store the modules in perforce using directory names that match the module names. This was for historic reasons as we already moved everything - about massively, jsut to move to Maven inthe first place. + about massively, just to move to Maven in the first place. --> - - - - - - org.antlr:gunit - - - - - - - - - - src - src - - - - - - - pom.xml - CHANGES.txt - LICENSE.txt - README.txt - antlr.config - - - - - - - @@ -164,7 +117,7 @@ --> tool - + - - - org.antlr:antlr3-maven-plugin - - - - - - - - - - - src - src - - - - - - pom.xml - - - - - - - - - - - - - org.antlr:maven-gunit-plugin - - - - - - - gunit-maven-plugin - - - - - - src - src - - - - - - - pom.xml - - - - - diff --git a/gunit-maven-plugin/pom.xml b/gunit-maven-plugin/pom.xml index 04789dec..a11a50ed 100644 --- a/gunit-maven-plugin/pom.xml +++ b/gunit-maven-plugin/pom.xml @@ -34,6 +34,22 @@ + + + org.sonatype.oss + oss-parent + 7 + + 4.0.0 @@ -43,9 +59,9 @@ org.antlr maven-gunit-plugin maven-plugin - 3.3.1-SNAPSHOT + 3.4 - Maven plugin for gUnit ANTLR V3 + Maven plugin for gUnit ANTLR V3.4 A Maven plugin for incorporating gUnit testing of grammars http://antlr.org @@ -70,49 +86,35 @@ - - - - antlr-repo - ANTLR Testing repository - scpexe://antlr.org/home/mavensync/antlr-repo - - - - antlr-snapshot - ANTLR Testing Snapshot Repository - scpexe://antlr.org/home/mavensync/antlr-snapshot - - - - antlr-repo - ANTLR gUnit Maven Plugin Web Site - scpexe://antlr.org/home/mavensync/antlr-maven-webs/maven-gunit-plugin - - - - - - - - - antlr-snapshot - ANTLR Testing Snapshot Repository - http://antlr.org/antlr-snapshot - - true - always - - - - + + + release-sign-artifacts + + + deploy + true + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.3 + + + sign-artifacts + verify + + sign + + + + + + + + @@ -176,7 +178,7 @@ org.antlr antlr - 3.3 + 3.4 - - - - antlr-repo - ANTLR Testing repository - scpexe://antlr.org/home/mavensync/antlr-repo - - - - antlr-snapshot - ANTLR Testing Snapshot Repository - scpexe://antlr.org/home/mavensync/antlr-snapshot - - - - - - - - - - antlr-snapshot - ANTLR Testing Snapshot Repository - http://antlr.org/antlr-snapshot - - always - - - - + + org.sonatype.oss + oss-parent + 7 + + 4.0.0 org.antlr antlr-master pom - 4.0-SNAPSHOT - ANTLR Master build control POM + 3.4 + ANTLR Master build control POM 3.4 http://maven.apache.org + + - - - runtime/Java - tool - antlr3-maven-plugin - gunit - gunit-maven-plugin - antlr3-maven-archetype - - + + uber + + + uber + true + + + + runtime/Java + tool + + + + - Define where the ANTLR releated jars are deployed both for - the main ANTLR repository, which syncs with the maven main - repository, and the snapshot repository, which can be - used by developers that need the latest development version of - something, but is used here to show maven where to deploy - snapshots and releases. - --> - - - - antlr-repo - ANTLR Testing repository - scpexe://antlr.org/home/mavensync/antlr-repo - - - - antlr-snapshot - ANTLR Testing Snapshot Repository - scpexe://antlr.org/home/mavensync/antlr-snapshot - - - - - - - - - - antlr-snapshot - ANTLR Testing Snapshot Repository - http://antlr.org/antlr-snapshot - - true - always - - - - + + + maven-assembly-plugin + 2.2.1 + + false + + + + antlrjar.xml + antlrsources.xml + + + + + org.antlr.Tool + + + + + + + + + + + release-sign-artifacts + + + deploy + true + + + + runtime/Java + tool + antlr3-maven-plugin + gunit + gunit-maven-plugin + antlr3-maven-archetype + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.3 + + + sign-artifacts + verify + + sign + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.8 + + + attach-javadocs + + jar + + + + + + + org.apache.maven.plugins + maven-source-plugin + 2.1.2 + + + attach-sources + + jar + + + + + + + + + + antlr.config @@ -153,7 +256,7 @@ true - + @@ -178,8 +281,9 @@ maven-compiler-plugin + 2.3.2 - 1.5 + 1.6 jsr14 src @@ -187,88 +291,21 @@ maven-surefire-plugin + 2.9 org.codehaus.mojo findbugs-maven-plugin + 2.3.2 true true true - - - - - - maven-assembly-plugin - - - false - - - - antlrjar.xml - antlrsources.xml - - - - - org.antlr.Tool - - - - - - - - - - org.apache.maven.plugins - maven-source-plugin - - - attach-sources - - jar - - - - - + - - - org.apache.maven.wagon - wagon-ssh-external - 1.0-beta-2 - - - diff --git a/runtime/ActionScript/project/.actionScriptProperties b/runtime/ActionScript/project/.actionScriptProperties deleted file mode 100644 index 547b8d73..00000000 --- a/runtime/ActionScript/project/.actionScriptProperties +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/runtime/ActionScript/project/.flexLibProperties b/runtime/ActionScript/project/.flexLibProperties deleted file mode 100644 index 1090456b..00000000 --- a/runtime/ActionScript/project/.flexLibProperties +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/runtime/ActionScript/project/lib/flexunit.swc b/runtime/ActionScript/project/lib/flexunit.swc old mode 100755 new mode 100644 diff --git a/runtime/C/C.vcproj b/runtime/C/C.vcproj index 2d4d94d1..16d9c2b4 100644 --- a/runtime/C/C.vcproj +++ b/runtime/C/C.vcproj @@ -979,15 +979,6 @@ RelativePath="..\..\tool\src\main\resources\org\antlr\codegen\templates\C\Dbg.stg" > - - - - ' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + Specifying the System Type ========================== -There may be some features `configure' cannot figure out automatically, -but needs to determine by the type of machine the package will run on. -Usually, assuming the package is built to be run on the _same_ -architectures, `configure' can figure that out, but if it prints a -message saying it cannot guess the machine type, give it the + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: @@ -153,7 +262,8 @@ type, such as `sun4', or a canonical name which has the form: where SYSTEM can have one of these forms: - OS KERNEL-OS + OS + KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't @@ -171,9 +281,9 @@ eventually be run) with `--host=TYPE'. Sharing Defaults ================ -If you want to set default values for `configure' scripts to share, you -can create a site shell script called `config.site' that gives default -values for variables like `CC', `cache_file', and `prefix'. + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. @@ -182,7 +292,7 @@ A warning: not all `configure' scripts look for a site script. Defining Variables ================== -Variables not defined in a site shell script can be set in the + Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set @@ -201,11 +311,19 @@ an Autoconf bug. Until the bug is fixed you can use this workaround: `configure' Invocation ====================== -`configure' recognizes the following options to control how it operates. + `configure' recognizes the following options to control how it +operates. `--help' `-h' - Print a summary of the options to `configure', and exit. + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. `--version' `-V' @@ -232,6 +350,16 @@ an Autoconf bug. Until the bug is fixed you can use this workaround: Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. +`--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. diff --git a/runtime/C/Makefile.am b/runtime/C/Makefile.am index 604af0ae..9867f7ea 100644 --- a/runtime/C/Makefile.am +++ b/runtime/C/Makefile.am @@ -25,10 +25,8 @@ LIBSOURCES = src/antlr3baserecognizer.c \ src/antlr3parser.c \ src/antlr3rewritestreams.c \ src/antlr3string.c \ - src/antlr3stringstream.c \ src/antlr3tokenstream.c \ - src/antlr3treeparser.c \ - src/antlr3ucs2inputstream.c + src/antlr3treeparser.c libantlr3c_la_SOURCES = $(LIBSOURCES) @@ -60,7 +58,6 @@ include_HEADERS = include/antlr3.h \ include/antlr3recognizersharedstate.h \ include/antlr3rewritestreams.h \ include/antlr3string.h \ - include/antlr3stringstream.h \ include/antlr3tokenstream.h \ include/antlr3treeparser.h \ antlr3config.h diff --git a/runtime/C/configure.ac b/runtime/C/configure.ac index b44092b8..b3d9c3a8 100644 --- a/runtime/C/configure.ac +++ b/runtime/C/configure.ac @@ -1,7 +1,7 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -AC_INIT(libantlr3c, 3.3-SNAPSHOT, jimi@temporal-wave.com) +AC_INIT(libantlr3c, 3.4, jimi@temporal-wave.com) AC_PREREQ(2.60) AC_COPYRIGHT([ (The "BSD licence") diff --git a/runtime/C/dist/libantlr3c-3.1.4-SNAPSHOT.tar.gz b/runtime/C/dist/libantlr3c-3.1.4-SNAPSHOT.tar.gz deleted file mode 100644 index a9ad784d..00000000 Binary files a/runtime/C/dist/libantlr3c-3.1.4-SNAPSHOT.tar.gz and /dev/null differ diff --git a/runtime/C/dist/libantlr3c-3.4.tar.gz b/runtime/C/dist/libantlr3c-3.4.tar.gz new file mode 100644 index 00000000..daeb3131 Binary files /dev/null and b/runtime/C/dist/libantlr3c-3.4.tar.gz differ diff --git a/runtime/C/src/antlr3commontoken.c b/runtime/C/src/antlr3commontoken.c index e615861a..26274310 100644 --- a/runtime/C/src/antlr3commontoken.c +++ b/runtime/C/src/antlr3commontoken.c @@ -545,7 +545,7 @@ static pANTLR3_STRING toString (pANTLR3_COMMON_TOKEN token) if (text->factory == NULL) { - return text; // This usall ymeans it is the EOF token + return text; // This usally means it is the EOF token } /* A new empty string to assemble all the stuff in @@ -570,9 +570,9 @@ static pANTLR3_STRING toString (pANTLR3_COMMON_TOKEN token) if (token->getChannel(token) > ANTLR3_TOKEN_DEFAULT_CHANNEL) { - outtext->append8(outtext, "(channel = "); - outtext->addi (outtext, (ANTLR3_INT32)token->getChannel(token)); - outtext->append8(outtext, ") "); + outtext->append8(outtext, "(channel = "); + outtext->addi (outtext, (ANTLR3_INT32)token->getChannel(token)); + outtext->append8(outtext, ") "); } outtext->append8(outtext, "Line: "); diff --git a/runtime/C/src/antlr3commontree.c b/runtime/C/src/antlr3commontree.c index 01339c7a..65de38f3 100644 --- a/runtime/C/src/antlr3commontree.c +++ b/runtime/C/src/antlr3commontree.c @@ -337,7 +337,7 @@ ANTLR3_API pANTLR3_COMMON_TREE antlr3CommonTreeNew() { pANTLR3_COMMON_TREE tree; - tree = ANTLR3_MALLOC(sizeof(ANTLR3_COMMON_TREE)); + tree = ANTLR3_CALLOC(1, sizeof(ANTLR3_COMMON_TREE)); if (tree == NULL) { diff --git a/runtime/C/src/antlr3inputstream.c b/runtime/C/src/antlr3inputstream.c index 42efffde..e3f1c26e 100644 --- a/runtime/C/src/antlr3inputstream.c +++ b/runtime/C/src/antlr3inputstream.c @@ -291,10 +291,18 @@ antlr38BitReuse(pANTLR3_INPUT_STREAM input, pANTLR3_UINT8 inString, ANTLR3_UINT3 input->data = inString; input->sizeBuf = size; - // Now we can set up the file name + // Now we can set up the file name. As we are reusing the stream, there may already + // be a string that we can reuse for holding the filename. // - input->istream->streamName = input->strFactory->newStr(input->strFactory, name == NULL ? (pANTLR3_UINT8)"-memory-" : name); - input->fileName = input->istream->streamName; + if (input->istream->streamName == NULL) + { + input->istream->streamName = input->strFactory->newStr(input->strFactory, name == NULL ? (pANTLR3_UINT8)"-memory-" : name); + input->fileName = input->istream->streamName; + } + else + { + input->istream->streamName->set(input->istream->streamName, (name == NULL ? (const char *)"-memory-" : (const char *)name)); + } input->reset(input); } diff --git a/runtime/C/src/antlr3lexer.c b/runtime/C/src/antlr3lexer.c index fa8e7db8..d981ab79 100644 --- a/runtime/C/src/antlr3lexer.c +++ b/runtime/C/src/antlr3lexer.c @@ -104,7 +104,7 @@ antlr3LexerNew(ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state) */ if (lexer->rec->state->tokSource == NULL) { - lexer->rec->state->tokSource = (pANTLR3_TOKEN_SOURCE)ANTLR3_MALLOC(sizeof(ANTLR3_TOKEN_SOURCE)); + lexer->rec->state->tokSource = (pANTLR3_TOKEN_SOURCE)ANTLR3_CALLOC(1, sizeof(ANTLR3_TOKEN_SOURCE)); if (lexer->rec->state->tokSource == NULL) { diff --git a/runtime/C/src/antlr3string.c b/runtime/C/src/antlr3string.c index 8a0dab96..b29c0202 100644 --- a/runtime/C/src/antlr3string.c +++ b/runtime/C/src/antlr3string.c @@ -101,7 +101,7 @@ antlr3StringFactoryNew(ANTLR3_UINT32 encoding) /* Allocate memory */ - factory = (pANTLR3_STRING_FACTORY) ANTLR3_MALLOC(sizeof(ANTLR3_STRING_FACTORY)); + factory = (pANTLR3_STRING_FACTORY) ANTLR3_CALLOC(1, sizeof(ANTLR3_STRING_FACTORY)); if (factory == NULL) { @@ -121,62 +121,57 @@ antlr3StringFactoryNew(ANTLR3_UINT32 encoding) // Install the API // + // TODO: These encodings need equivalent functions to + // UTF16 and 8Bit if I am going to support those encodings in the STRING stuff. + // The STRING stuff was intended as a quick and dirty hack for people that did not + // want to worry about memory and performance very much, but nobody ever reads the + // notes or comments or uses the email list search. I want to discourage using these + // interfaces as it is much more efficient to use the pointers within the tokens + // directly, so I am not implementing the string stuff for the newer encodings. + // We install the standard 8 and 16 bit functions for the UTF 8 and 16 but they + // will not be useful beyond returning the text. + // switch(encoding) { - - case ANTLR3_ENC_UTF16: - - factory->newRaw = newRawUTF16; - factory->newSize = newSizeUTF16; - factory->newPtr = newPtrUTF16_UTF16; - factory->newPtr8 = newPtrUTF16_8; - factory->newStr = newStrUTF16_UTF16; - factory->newStr8 = newStrUTF16_8; - factory->printable = printableUTF16; - factory->destroy = destroy; - factory->close = closeFactory; - break; - - // TODO: These encodings need equivalent functions to - // UTF16 and 8Bit if I am going to support those encodings in the STRING stuff. - // The STRING stuff was intended as a quick and dirty hack for people that did not - // want to worry about memory and performance very much, but nobody ever reads the - // notes or comments or uses the email list search. I want to discourage using these - // interfaces as it is much more efficient to use the pointers within the tokens - // directly, so I am not implementing the string stuff for the newer encodings. - // - case ANTLR3_ENC_UTF8: - break; - - case ANTLR3_ENC_UTF32: - break; - - case ANTLR3_ENC_UTF16BE: - break; - - case ANTLR3_ENC_UTF16LE: - break; - - case ANTLR3_ENC_UTF32BE: - break; - - case ANTLR3_ENC_UTF32LE: - break; - - case ANTLR3_ENC_EBCDIC: - case ANTLR3_ENC_8BIT: - default: - - factory->newRaw = newRaw8; - factory->newSize = newSize8; - factory->newPtr = newPtr8; - factory->newPtr8 = newPtr8; - factory->newStr = newStr8; - factory->newStr8 = newStr8; - factory->printable = printable8; - factory->destroy = destroy; - factory->close = closeFactory; - break; + case ANTLR3_ENC_UTF32: + break; + + case ANTLR3_ENC_UTF32BE: + break; + + case ANTLR3_ENC_UTF32LE: + break; + + case ANTLR3_ENC_UTF16BE: + case ANTLR3_ENC_UTF16LE: + case ANTLR3_ENC_UTF16: + + factory->newRaw = newRawUTF16; + factory->newSize = newSizeUTF16; + factory->newPtr = newPtrUTF16_UTF16; + factory->newPtr8 = newPtrUTF16_8; + factory->newStr = newStrUTF16_UTF16; + factory->newStr8 = newStrUTF16_8; + factory->printable = printableUTF16; + factory->destroy = destroy; + factory->close = closeFactory; + break; + + case ANTLR3_ENC_UTF8: + case ANTLR3_ENC_EBCDIC: + case ANTLR3_ENC_8BIT: + default: + + factory->newRaw = newRaw8; + factory->newSize = newSize8; + factory->newPtr = newPtr8; + factory->newPtr8 = newPtr8; + factory->newStr = newStr8; + factory->newStr8 = newStr8; + factory->printable = printable8; + factory->destroy = destroy; + factory->close = closeFactory; + break; } return factory; } diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Antlr3.Runtime.Debug.csproj b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Antlr3.Runtime.Debug.csproj index 43cd082d..5ca19d89 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Antlr3.Runtime.Debug.csproj +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Antlr3.Runtime.Debug.csproj @@ -10,7 +10,7 @@ Properties Antlr.Runtime.Debug Antlr3.Runtime.Debug - v3.5 + v2.0 512 Perforce Project ..\..\..\..\..\.. @@ -18,8 +18,9 @@ MSSCCI:Perforce SCM true - ..\Antlr3.Runtime\Key.snk - Client + ..\..\..\..\..\..\..\keys\antlr\Key.snk + + true @@ -40,9 +41,6 @@ - - 3.5 - @@ -55,24 +53,12 @@ - - - - - - - - - - - - - - - + + Key.snk + @@ -81,11 +67,6 @@ - - - Key.snk - - {8FDC0A87-9005-4D5A-AB75-E55CEB575559} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Antlr3.Runtime.Debug_vs2010.csproj b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Antlr3.Runtime.Debug_vs2010.csproj deleted file mode 100644 index 6f39d3ac..00000000 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Antlr3.Runtime.Debug_vs2010.csproj +++ /dev/null @@ -1,107 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {5EE27A90-B023-42C9-AAF1-52B0424C5D0B} - Library - Properties - Antlr.Runtime.Debug - Antlr3.Runtime.Debug - v4.0 - 512 - SAK - SAK - SAK - SAK - false - ..\Antlr3.Runtime\Key.snk - Client - - - - - 3.5 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - 3.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Key.snk - - - - - {8FDC0A87-9005-4D5A-AB75-E55CEB575559} - Antlr3.Runtime - - - - - \ No newline at end of file diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Antlr3.Runtime.Debug_vs2010.csproj.vspscc b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Antlr3.Runtime.Debug_vs2010.csproj.vspscc deleted file mode 100644 index b6d32892..00000000 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Antlr3.Runtime.Debug_vs2010.csproj.vspscc +++ /dev/null @@ -1,10 +0,0 @@ -"" -{ -"FILE_VERSION" = "9237" -"ENLISTMENT_CHOICE" = "NEVER" -"PROJECT_FILE_RELATIVE_PATH" = "" -"NUMBER_OF_EXCLUDED_FILES" = "0" -"ORIGINAL_PROJECT_FILE_PATH" = "" -"NUMBER_OF_NESTED_PROJECTS" = "0" -"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" -} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugEventSocketProxy.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugEventSocketProxy.cs index 789bcc81..64b0fd22 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugEventSocketProxy.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugEventSocketProxy.cs @@ -142,7 +142,7 @@ public override void Terminate() } catch ( IOException ioe ) { - ioe.PrintStackTrace( Console.Error ); + ExceptionExtensions.PrintStackTrace( ioe, Console.Error ); } } @@ -155,7 +155,7 @@ protected virtual void Ack() } catch ( IOException ioe ) { - ioe.PrintStackTrace( Console.Error ); + ExceptionExtensions.PrintStackTrace( ioe, Console.Error ); } } @@ -434,9 +434,9 @@ protected virtual void SerializeText( StringBuilder buf, string text ) protected virtual string EscapeNewlines( string txt ) { - txt = txt.replaceAll( "%", "%25" ); // escape all escape char ;) - txt = txt.replaceAll( "\n", "%0A" ); // escape \n - txt = txt.replaceAll( "\r", "%0D" ); // escape \r + txt = txt.Replace( "%", "%25" ); // escape all escape char ;) + txt = txt.Replace( "\n", "%0A" ); // escape \n + txt = txt.Replace( "\r", "%0D" ); // escape \r return txt; } diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugParser.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugParser.cs index ca641132..18d8db8c 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugParser.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugParser.cs @@ -95,7 +95,7 @@ public virtual void SetDebugListener(IDebugEventListener value) public virtual void ReportError( IOException e ) { Console.Error.WriteLine( e ); - e.PrintStackTrace( Console.Error ); + ExceptionExtensions.PrintStackTrace( e, Console.Error ); } public override void BeginResync() diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugTreeParser.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugTreeParser.cs index 9c4510d5..6461387e 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugTreeParser.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/DebugTreeParser.cs @@ -96,7 +96,7 @@ public virtual void SetDebugListener(IDebugEventListener value) public virtual void ReportError( IOException e ) { Console.Error.WriteLine( e ); - e.PrintStackTrace( Console.Error ); + ExceptionExtensions.PrintStackTrace( e, Console.Error ); } public override void ReportError( RecognitionException e ) diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/DictionaryExtensions.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/DictionaryExtensions.cs deleted file mode 100644 index 68a7a8df..00000000 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/DictionaryExtensions.cs +++ /dev/null @@ -1,141 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2005-2008 Terence Parr - * All rights reserved. - * - * Conversion to C#: - * Copyright (c) 2008 Sam Harwell, Pixel Mine, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System.Collections.Generic; -using IDictionary = System.Collections.IDictionary; -using ObsoleteAttribute = System.ObsoleteAttribute; - -#if DEBUG -using System.Linq; -#endif - -namespace Antlr.Runtime.JavaExtensions -{ - public static class DictionaryExtensions - { -#if DEBUG - [Obsolete] - public static bool containsKey( this IDictionary map, object key ) - { - return map.Contains( key ); - } - - [Obsolete] - public static object get( this IDictionary map, object key ) - { - return map[key]; - } -#endif - - public static TValue get( this IDictionary map, TKey key ) - { - TValue value; - if ( map.TryGetValue( key, out value ) ) - return value; - - if ( typeof( TValue ).IsValueType ) - throw new KeyNotFoundException(); - - return default( TValue ); - } - - // disambiguates - public static TValue get( this Dictionary map, TKey key ) - { - TValue value; - if ( map.TryGetValue( key, out value ) ) - return value; - - if ( typeof( TValue ).IsValueType ) - throw new KeyNotFoundException(); - - return default( TValue ); - } - - public static TValue get( this SortedList map, TKey key ) - { - TValue value; - if ( map.TryGetValue( key, out value ) ) - return value; - - if ( typeof( TValue ).IsValueType ) - throw new KeyNotFoundException(); - - return default( TValue ); - } - -#if DEBUG - [Obsolete] - public static void put( this IDictionary map, object key, object value ) - { - map[key] = value; - } - - [Obsolete] - public static void put( this IDictionary map, TKey key, TValue value ) - { - map[key] = value; - } - - [Obsolete] - public static void put( this Dictionary map, TKey key, TValue value ) - { - map[key] = value; - } - - [Obsolete] - public static HashSet keySet( this IDictionary map ) - { - return new HashSet( map.Keys.Cast() ); - } - - [Obsolete] - public static HashSet keySet( this IDictionary map ) - { - return new HashSet( map.Keys ); - } - - // disambiguates for Dictionary, which implements both IDictionary and IDictionary - [Obsolete] - public static HashSet keySet( this Dictionary map ) - { - return new HashSet( map.Keys ); - } - - [Obsolete] - public static HashSet keySet( this SortedList map ) - { - return new HashSet( map.Keys.Cast() ); - } -#endif - } -} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/ExceptionExtensions.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/ExceptionExtensions.cs index 65696c87..0776cfec 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/ExceptionExtensions.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/ExceptionExtensions.cs @@ -1,10 +1,10 @@ /* - * [The "BSD licence"] - * Copyright (c) 2005-2008 Terence Parr + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr * All rights reserved. * * Conversion to C#: - * Copyright (c) 2008 Sam Harwell, Pixel Mine, Inc. + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,55 +30,14 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -using System; -using System.Diagnostics; -using System.Linq; - -using TargetInvocationException = System.Reflection.TargetInvocationException; - namespace Antlr.Runtime.JavaExtensions { - public static class ExceptionExtensions - { -#if DEBUG - [Obsolete] - public static string getMessage( this Exception e ) - { - return e.Message; - } -#endif - - public static StackFrame[] getStackTrace( this Exception e ) - { - StackTrace trace = new StackTrace( e, true ); - StackFrame[] frames = trace.GetFrames(); - if ( frames == null ) - { - // don't include this helper function in the trace - frames = new StackTrace( true ).GetFrames().Skip( 1 ).ToArray(); - } - return frames; - } - -#if DEBUG - [Obsolete] - public static string getMethodName( this StackFrame frame ) - { - return frame.GetMethod().Name; - } - - [Obsolete] - public static string getClassName( this StackFrame frame ) - { - return frame.GetMethod().DeclaringType.Name; - } -#endif + using Exception = System.Exception; + using TextWriter = System.IO.TextWriter; - public static void PrintStackTrace( this Exception e ) - { - e.PrintStackTrace( Console.Out ); - } - public static void PrintStackTrace( this Exception e, System.IO.TextWriter writer ) + internal static class ExceptionExtensions + { + public static void PrintStackTrace( Exception e, TextWriter writer ) { writer.WriteLine( e.ToString() ); string trace = e.StackTrace ?? string.Empty; @@ -88,13 +47,5 @@ public static void PrintStackTrace( this Exception e, System.IO.TextWriter write writer.WriteLine( " " + line ); } } - -#if DEBUG - [Obsolete] - public static Exception getTargetException( this TargetInvocationException e ) - { - return e.InnerException ?? e; - } -#endif } } diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/Iterator.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/Iterator.cs deleted file mode 100644 index 96316c2c..00000000 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/Iterator.cs +++ /dev/null @@ -1,115 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2005-2008 Terence Parr - * All rights reserved. - * - * Conversion to C#: - * Copyright (c) 2008 Sam Harwell, Pixel Mine, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using IEnumerable = System.Collections.IEnumerable; -using IEnumerator = System.Collections.IEnumerator; - -namespace Antlr.Runtime.JavaExtensions -{ - public class Iterator : IEnumerator - { - static readonly object[] EmptySource = new object[0]; - - IEnumerable _enumerable; - IEnumerator _iterator; - bool _hasNext; - - public Iterator() - : this( EmptySource ) - { - } - public Iterator( IEnumerable enumerable ) - { - _enumerable = enumerable; - _iterator = enumerable.GetEnumerator(); - _hasNext = _iterator.MoveNext(); - } - - public IEnumerable Source - { - get - { - return _enumerable; - } - } - - public virtual bool hasNext() - { - return _hasNext; - } - - public virtual object next() - { - object current = _iterator.Current; - _hasNext = _iterator.MoveNext(); - return current; - } - - // these are for simulation of ASTEnumeration - public virtual bool hasMoreNodes() - { - return _hasNext; - } - - public virtual object nextNode() - { - return next(); - } - - #region IEnumerator Members - public virtual object Current - { - get - { - return _iterator.Current; - } - } - public virtual bool MoveNext() - { - return _iterator.MoveNext(); - } - public virtual void Reset() - { - _iterator.Reset(); - } - #endregion - - #region IDisposable Members - public void Dispose() - { - _enumerable = null; - _hasNext = false; - _iterator = null; - } - #endregion - } -} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Misc/DoubleKeyMap`3.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Misc/DoubleKeyMap`3.cs index 99e7bfda..16cfc263 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Misc/DoubleKeyMap`3.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Misc/DoubleKeyMap`3.cs @@ -73,15 +73,14 @@ public virtual ICollection KeySet(TKey1 k1) public virtual ICollection Values() { - HashSet s = new HashSet(); + Dictionary s = new Dictionary(); foreach (IDictionary k2 in data.Values) { foreach (TValue v in k2.Values) - { - s.Add(v); - } + s[v] = true; } - return s; + + return s.Keys; } } } diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Misc/Stats.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Misc/Stats.cs index 60e07820..6a465f7b 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Misc/Stats.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Misc/Stats.cs @@ -33,7 +33,6 @@ namespace Antlr.Runtime.Misc { using System.Collections.Generic; - using System.Linq; using Directory = System.IO.Directory; using Environment = System.Environment; @@ -41,10 +40,6 @@ namespace Antlr.Runtime.Misc using Math = System.Math; using Path = System.IO.Path; -#if DEBUG - using ObsoleteAttribute = System.ObsoleteAttribute; -#endif - /** Stats routines needed by profiler etc... * * @@ -78,7 +73,7 @@ public static double Stddev( int[] X ) { return 0; } - double xbar = X.Average(); + double xbar = Average(X); double s2 = 0.0; for ( int i = 0; i < m; i++ ) { @@ -94,7 +89,7 @@ public static double Stddev( List X ) { return 0; } - double xbar = X.Average(); + double xbar = Average(X); double s2 = 0.0; for ( int i = 0; i < m; i++ ) { @@ -104,32 +99,18 @@ public static double Stddev( List X ) return Math.Sqrt( s2 ); } -#if DEBUG /** Compute the sample mean */ - [Obsolete] - public static double avg( IList X ) - { - return X.DefaultIfEmpty( 0 ).Average(); - } - - [Obsolete] - public static int min( IList X ) + public static double Average(ICollection X) { - return X.DefaultIfEmpty( int.MaxValue ).Min(); - } + if (X.Count == 0) + return 0.0; - [Obsolete] - public static int max( IList X ) - { - return X.DefaultIfEmpty( int.MinValue ).Max(); - } + double sum = 0.0; + foreach (int i in X) + sum += i; - [Obsolete] - public static int sum( IList X ) - { - return X.Sum(); + return sum / X.Count; } -#endif public static void WriteReport( string filename, string data ) { diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/ParseTreeBuilder.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/ParseTreeBuilder.cs index bcdde983..deeaf3b0 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/ParseTreeBuilder.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/ParseTreeBuilder.cs @@ -33,7 +33,6 @@ namespace Antlr.Runtime.Debug { using System.Collections.Generic; - using System.Linq; using ParseTree = Antlr.Runtime.Tree.ParseTree; /** @@ -59,7 +58,7 @@ public virtual ParseTree Tree { get { - return callStack.Last(); + return callStack.Peek(); } } diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Profiler.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Profiler.cs index c418d9c2..54caac8f 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Profiler.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Profiler.cs @@ -50,6 +50,7 @@ namespace Antlr.Runtime.Debug public class Profiler : BlankDebugEventListener { public static readonly string DataSeparator = "\t"; + public static readonly string NewLine = Environment.NewLine; internal static bool dump = false; @@ -70,7 +71,7 @@ public class Profiler : BlankDebugEventListener protected int ruleLevel = 0; //protected int decisionLevel = 0; protected IToken lastRealTokenTouchedInDecision; - protected HashSet uniqueRules = new HashSet(); + protected Dictionary uniqueRules = new Dictionary(); protected Stack currentGrammarFileName = new Stack(); protected Stack currentRuleName = new Stack(); protected Stack currentLine = new Stack(); @@ -102,7 +103,7 @@ public override void EnterRule(string grammarFileName, string ruleName) //System.out.println("enterRule "+grammarFileName+":"+ruleName); ruleLevel++; stats.numRuleInvocations++; - uniqueRules.Add(grammarFileName + ":" + ruleName); + uniqueRules.Add(grammarFileName + ":" + ruleName, true); stats.maxRuleInvocationDepth = Math.Max(stats.maxRuleInvocationDepth, ruleLevel); currentGrammarFileName.Push(grammarFileName); currentRuleName.Push(ruleName); @@ -543,25 +544,25 @@ public static string ToString(ProfileStats stats) StringBuilder buf = new StringBuilder(); buf.Append("ANTLR Runtime Report; Profile Version "); buf.Append(stats.Version); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("parser name "); buf.Append(stats.name); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("Number of rule invocations "); buf.Append(stats.numRuleInvocations); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("Number of unique rules visited "); buf.Append(stats.numUniqueRulesInvoked); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("Number of decision events "); buf.Append(stats.numDecisionEvents); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("Number of rule invocations while backtracking "); buf.Append(stats.numGuessingRuleInvocations); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("max rule invocation nesting depth "); buf.Append(stats.maxRuleInvocationDepth); - buf.AppendLine(); + buf.Append(NewLine); // buf.Append("number of fixed lookahead decisions "); // buf.Append(); // buf.Append(newline); @@ -609,31 +610,31 @@ public static string ToString(ProfileStats stats) // buf.Append(newline); buf.Append("rule memoization cache size "); buf.Append(stats.numMemoizationCacheEntries); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("number of rule memoization cache hits "); buf.Append(stats.numMemoizationCacheHits); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("number of rule memoization cache misses "); buf.Append(stats.numMemoizationCacheMisses); - buf.AppendLine(); + buf.Append(NewLine); // buf.Append("number of evaluated semantic predicates "); // buf.Append(); // buf.Append(newline); buf.Append("number of tokens "); buf.Append(stats.numTokens); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("number of hidden tokens "); buf.Append(stats.numHiddenTokens); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("number of char "); buf.Append(stats.numCharsMatched); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("number of hidden char "); buf.Append(stats.numHiddenCharsMatched); - buf.AppendLine(); + buf.Append(NewLine); buf.Append("number of syntax errors "); buf.Append(stats.numReportedErrors); - buf.AppendLine(); + buf.Append(NewLine); return buf.ToString(); } @@ -653,7 +654,7 @@ public virtual string GetDecisionStatsDump() buf.Append("sempred"); buf.Append(DataSeparator); buf.Append("canbacktrack"); - buf.AppendLine(); + buf.Append("\n"); foreach (string fileName in decisions.KeySet()) { foreach (int d in decisions.KeySet(fileName)) @@ -674,7 +675,7 @@ public virtual string GetDecisionStatsDump() buf.Append(s.numSemPredEvals); buf.Append(DataSeparator); buf.Append(s.couldBacktrack ? "1" : "0"); - buf.AppendLine(); + buf.Append(NewLine); } } return buf.ToString(); diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Properties/AssemblyInfo.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Properties/AssemblyInfo.cs index 32339406..b8c988f4 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Properties/AssemblyInfo.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/Properties/AssemblyInfo.cs @@ -1,10 +1,10 @@ /* - * [The "BSD licence"] - * Copyright (c) 2005-2008 Terence Parr + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr * All rights reserved. * * Conversion to C#: - * Copyright (c) 2008-2010 Sam Harwell, Pixel Mine, Inc. + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -66,5 +66,5 @@ * the Major or Minor version is incremented. * 3. Revision is the Perforce changelist number associated with the release. */ -[assembly: AssemblyVersion("3.3.1.7705")] -[assembly: AssemblyFileVersion("3.3.1.7705")] +[assembly: AssemblyVersion("3.3.4.8517")] +[assembly: AssemblyFileVersion("3.3.4.8517")] diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/RemoteDebugEventSocketListener.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/RemoteDebugEventSocketListener.cs index 5e79aaef..e390065f 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/RemoteDebugEventSocketListener.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/RemoteDebugEventSocketListener.cs @@ -33,11 +33,14 @@ namespace Antlr.Runtime.Debug { using Antlr.Runtime.JavaExtensions; + + using Array = System.Array; using BaseTree = Antlr.Runtime.Tree.BaseTree; using Console = System.Console; using Exception = System.Exception; using IOException = System.IO.IOException; using ITree = Antlr.Runtime.Tree.ITree; + using Math = System.Math; using Socket = System.Net.Sockets.Socket; using SocketException = System.Net.Sockets.SocketException; using TextReader = System.IO.TextReader; @@ -314,7 +317,7 @@ protected virtual void EventHandler() catch ( Exception e ) { Console.Error.WriteLine( e ); - e.PrintStackTrace( Console.Error ); + ExceptionExtensions.PrintStackTrace( e, Console.Error ); } finally { @@ -359,7 +362,7 @@ protected virtual void CloseConnection() catch ( Exception e ) { Console.Error.WriteLine( e ); - e.PrintStackTrace( Console.Error ); + ExceptionExtensions.PrintStackTrace( e, Console.Error ); } finally { @@ -703,26 +706,20 @@ public virtual string[] GetEventElements( string @event ) str = @event.Substring( firstQuoteIndex + 1 ); @event = eventWithoutString; } - StringTokenizer st = new StringTokenizer( @event, "\t", false ); - int i = 0; - while ( st.hasMoreTokens() ) - { - if ( i >= MAX_EVENT_ELEMENTS ) - { - // ErrorManager.internalError("event has more than "+MAX_EVENT_ELEMENTS+" args: "+event); - return elements; - } - elements[i] = st.nextToken(); - i++; - } + + string[] tokens = @event.Split('\t'); + Array.Copy(tokens, elements, Math.Min(tokens.Length, MAX_EVENT_ELEMENTS)); + if (tokens.Length >= MAX_EVENT_ELEMENTS) + return elements; + if ( str != null ) { - elements[i] = str; + elements[tokens.Length] = str; } } catch ( Exception e ) { - e.PrintStackTrace( Console.Error ); + ExceptionExtensions.PrintStackTrace( e, Console.Error ); } return elements; } @@ -730,16 +727,15 @@ public virtual string[] GetEventElements( string @event ) protected virtual string UnEscapeNewlines( string txt ) { // this unescape is slow but easy to understand - txt = txt.replaceAll( "%0A", "\n" ); // unescape \n - txt = txt.replaceAll( "%0D", "\r" ); // unescape \r - txt = txt.replaceAll( "%25", "%" ); // undo escaped escape chars + txt = txt.Replace( "%0A", "\n" ); // unescape \n + txt = txt.Replace( "%0D", "\r" ); // unescape \r + txt = txt.Replace( "%25", "%" ); // undo escaped escape chars return txt; } public virtual bool TokenIndexesAreInvalid() { - return false; - //return tokenIndexesInvalid; + return tokenIndexesInvalid; } #endregion diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/Antlr3.Runtime.JavaExtensions.csproj b/runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/Antlr3.Runtime.JavaExtensions.csproj index 0934e85f..959a9f96 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/Antlr3.Runtime.JavaExtensions.csproj +++ b/runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/Antlr3.Runtime.JavaExtensions.csproj @@ -35,6 +35,12 @@ prompt 4 + + true + + + ..\..\..\..\..\..\..\keys\antlr\Key.snk + @@ -51,10 +57,21 @@ + + + + + + + + + + + @@ -62,6 +79,11 @@ Antlr3.Runtime + + + Key.snk + + - \ No newline at end of file diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Antlr3.Runtime_vs2010.csproj.vspscc b/runtime/CSharp3/Sources/Antlr3.Runtime/Antlr3.Runtime_vs2010.csproj.vspscc deleted file mode 100644 index b6d32892..00000000 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Antlr3.Runtime_vs2010.csproj.vspscc +++ /dev/null @@ -1,10 +0,0 @@ -"" -{ -"FILE_VERSION" = "9237" -"ENLISTMENT_CHOICE" = "NEVER" -"PROJECT_FILE_RELATIVE_PATH" = "" -"NUMBER_OF_EXCLUDED_FILES" = "0" -"ORIGINAL_PROJECT_FILE_PATH" = "" -"NUMBER_OF_NESTED_PROJECTS" = "0" -"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" -} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/AstParserRuleReturnScope`2.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/AstParserRuleReturnScope`2.cs new file mode 100644 index 00000000..0ebe32d8 --- /dev/null +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/AstParserRuleReturnScope`2.cs @@ -0,0 +1,60 @@ +/* + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr + * All rights reserved. + * + * Conversion to C#: + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +namespace Antlr.Runtime +{ + public class AstParserRuleReturnScope : ParserRuleReturnScope, IAstRuleReturnScope, IAstRuleReturnScope + { + private TTree _tree; + + public TTree Tree + { + get + { + return _tree; + } + + set + { + _tree = value; + } + } + + object IAstRuleReturnScope.Tree + { + get + { + return Tree; + } + } + } +} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/CommonToken.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/CommonToken.cs index adfd713a..5797ca87 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/CommonToken.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/CommonToken.cs @@ -114,13 +114,12 @@ public string Text if ( input == null ) return null; - if (start < input.Count && stop < input.Count) - text = input.Substring( start, stop - start + 1 ); - else - text = ""; + if (start <= stop && stop < input.Count) + return input.Substring( start, stop - start + 1 ); - return text; + return ""; } + set { /** Override the text for this token. getText() will return this text diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/RuleReturnScope.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/IRuleReturnScope`1.cs similarity index 98% rename from runtime/CSharp3/Sources/Antlr3.Runtime/RuleReturnScope.cs rename to runtime/CSharp3/Sources/Antlr3.Runtime/IRuleReturnScope`1.cs index 77f6e450..bc64f646 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/RuleReturnScope.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/IRuleReturnScope`1.cs @@ -1,5 +1,5 @@ /* - * [The "BSD licence"] + * [The "BSD license"] * Copyright (c) 2011 Terence Parr * All rights reserved. * diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeConstants.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/ITemplateRuleReturnScope.cs similarity index 84% rename from runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeConstants.cs rename to runtime/CSharp3/Sources/Antlr3.Runtime/ITemplateRuleReturnScope.cs index 9cd316c9..8a3de744 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeConstants.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/ITemplateRuleReturnScope.cs @@ -1,10 +1,10 @@ /* - * [The "BSD licence"] - * Copyright (c) 2005-2008 Terence Parr + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr * All rights reserved. * * Conversion to C#: - * Copyright (c) 2008-2009 Sam Harwell, Pixel Mine, Inc. + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,10 +30,13 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -namespace Antlr.Runtime.Tree +namespace Antlr.Runtime { - public static class TreeConstants + public interface ITemplateRuleReturnScope { - public static readonly ITree INVALID_NODE = new CommonTree( Tokens.Invalid ); + object Template + { + get; + } } } diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/EnumeratorExtensions.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/ITemplateRuleReturnScope`1.cs similarity index 80% rename from runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/EnumeratorExtensions.cs rename to runtime/CSharp3/Sources/Antlr3.Runtime/ITemplateRuleReturnScope`1.cs index 74c77d33..5c1e81e5 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/EnumeratorExtensions.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/ITemplateRuleReturnScope`1.cs @@ -1,10 +1,10 @@ /* - * [The "BSD licence"] - * Copyright (c) 2005-2008 Terence Parr + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr * All rights reserved. * * Conversion to C#: - * Copyright (c) 2008 Sam Harwell, Pixel Mine, Inc. + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,15 +30,13 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -using IEnumerable = System.Collections.IEnumerable; - -namespace Antlr.Runtime.JavaExtensions +namespace Antlr.Runtime { - public static class EnumeratorExtensions + public interface ITemplateRuleReturnScope : ITemplateRuleReturnScope { - public static Iterator iterator( this IEnumerable enumerable ) + new TTemplate Template { - return new Iterator( enumerable ); + get; } } } diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/LegacyCommonTokenStream.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/LegacyCommonTokenStream.cs index cfdb570d..936f5866 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/LegacyCommonTokenStream.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/LegacyCommonTokenStream.cs @@ -33,9 +33,7 @@ namespace Antlr.Runtime { using System.Collections.Generic; - using System.Linq; - using ArgumentOutOfRangeException = System.ArgumentOutOfRangeException; using InvalidOperationException = System.InvalidOperationException; using StringBuilder = System.Text.StringBuilder; @@ -65,7 +63,7 @@ public class LegacyCommonTokenStream : ITokenStream protected IDictionary channelOverrideMap; /** Set; discard any tokens with this type */ - protected HashSet discardSet; + protected List discardSet; /** Skip tokens on any channel but this one; this is how we skip whitespace... */ protected int channel = TokenChannels.Default; @@ -239,7 +237,7 @@ public virtual void DiscardTokenType( int ttype ) { if ( discardSet == null ) { - discardSet = new HashSet(); + discardSet = new List(); } discardSet.Add( ttype ); } diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Lexer.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Lexer.cs index 81958e9a..cf478c68 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Lexer.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Lexer.cs @@ -144,7 +144,7 @@ public virtual IToken NextToken() } try { - mTokens(); + ParseNextToken(); if ( state.token == null ) { Emit(); @@ -155,15 +155,20 @@ public virtual IToken NextToken() } return state.token; } - catch ( NoViableAltException nva ) + catch (MismatchedRangeException mre) { - ReportError( nva ); - Recover( nva ); // throw out current char and try again + ReportError(mre); + // MatchRange() routine has already called recover() + } + catch (MismatchedTokenException mte) + { + ReportError(mte); + // Match() routine has already called recover() } catch ( RecognitionException re ) { ReportError( re ); - // match() routine has already called recover() + Recover( re ); // throw out current char and try again } } } @@ -421,5 +426,10 @@ public virtual void TraceOut( string ruleName, int ruleIndex ) string inputSymbol = ( (char)input.LT( 1 ) ) + " line=" + Line + ":" + CharPositionInLine; base.TraceOut( ruleName, ruleIndex, inputSymbol ); } + + protected virtual void ParseNextToken() + { + mTokens(); + } } } diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/FastQueue.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/FastQueue.cs index d73ac59e..2dc5bfc9 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/FastQueue.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/FastQueue.cs @@ -97,7 +97,7 @@ public virtual T this[int i] public virtual T Dequeue() { if (Count == 0) - throw new InvalidOperationException(string.Format("queue index {0} > last index {1}", 0, _data.Count - 1)); + throw new InvalidOperationException(); T o = this[0]; _p++; diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/FunctionDelegates.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/FunctionDelegates.cs new file mode 100644 index 00000000..4fb91bf7 --- /dev/null +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/FunctionDelegates.cs @@ -0,0 +1,40 @@ +/* + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr + * All rights reserved. + * + * Conversion to C#: + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +namespace Antlr.Runtime.Misc +{ + public delegate void Action(); + + public delegate TResult Func(); + + public delegate TResult Func(T arg); +} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/IOExtensions.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/ListStack`1.cs similarity index 55% rename from runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/IOExtensions.cs rename to runtime/CSharp3/Sources/Antlr3.Runtime/Misc/ListStack`1.cs index c1fe2932..e66adcb2 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/JavaExtensions/IOExtensions.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/ListStack`1.cs @@ -1,10 +1,10 @@ /* - * [The "BSD licence"] - * Copyright (c) 2005-2008 Terence Parr + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr * All rights reserved. * * Conversion to C#: - * Copyright (c) 2008-2009 Sam Harwell, Pixel Mine, Inc. + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,65 +30,69 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#if DEBUG - -using System; - -using TextReader = System.IO.TextReader; -using TextWriter = System.IO.TextWriter; - -namespace Antlr.Runtime.JavaExtensions +namespace Antlr.Runtime.Misc { - public static class IOExtensions + using System.Collections.Generic; + using InvalidOperationException = System.InvalidOperationException; + + public class ListStack : List { - [Obsolete] - public static void close( this TextReader reader ) + public T Peek() { - reader.Close(); + return Peek(0); } - [Obsolete] - public static void close( this TextWriter writer ) + public T Peek(int depth) { - writer.Close(); - } + T item; + if (!TryPeek(depth, out item)) + throw new InvalidOperationException(); - [Obsolete] - public static void print( this TextWriter writer, T value ) - { - writer.Write( value ); + return item; } - [Obsolete] - public static void println( this TextWriter writer ) + public bool TryPeek(out T item) { - writer.WriteLine(); + return TryPeek(0, out item); } - [Obsolete] - public static void println( this TextWriter writer, T value ) + public bool TryPeek(int depth, out T item) { - writer.WriteLine( value ); + if (depth >= Count) + { + item = default(T); + return false; + } + + item = this[Count - depth - 1]; + return true; } - [Obsolete] - public static void write( this TextWriter writer, T value ) + public T Pop() { - writer.Write( value ); + T result; + if (!TryPop(out result)) + throw new InvalidOperationException(); + + return result; } - [Obsolete] - public static int read( this TextReader reader, char[] buffer, int index, int count ) + public bool TryPop(out T item) { - return reader.Read( buffer, index, count ); + if (Count == 0) + { + item = default(T); + return false; + } + + item = this[Count - 1]; + RemoveAt(Count - 1); + return true; } - [Obsolete] - public static string readLine( this TextReader reader ) + public void Push(T item) { - return reader.ReadLine(); + Add(item); } } } - -#endif diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/LookaheadStream.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/LookaheadStream.cs index 845d970a..24dc0cbb 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/LookaheadStream.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Misc/LookaheadStream.cs @@ -33,6 +33,7 @@ namespace Antlr.Runtime.Misc { using ArgumentException = System.ArgumentException; + using InvalidOperationException = System.InvalidOperationException; /** * A lookahead queue that knows how to mark/release locations @@ -75,6 +76,14 @@ protected set } } + public T PreviousElement + { + get + { + return _previousElement; + } + } + public override void Clear() { base.Clear(); @@ -184,6 +193,9 @@ public virtual int Mark() public virtual void Release( int marker ) { + if (_markDepth == 0) + throw new InvalidOperationException(); + _markDepth--; } @@ -195,7 +207,7 @@ public virtual void Rewind( int marker ) public virtual void Rewind() { - Seek( _lastMarker ); + Rewind( _lastMarker ); } /** diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/MismatchedTokenException.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/MismatchedTokenException.cs index 8af82551..55c9aab1 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/MismatchedTokenException.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/MismatchedTokenException.cs @@ -34,7 +34,6 @@ namespace Antlr.Runtime { using System.Collections.Generic; using System.Collections.ObjectModel; - using System.Linq; using ArgumentNullException = System.ArgumentNullException; using Exception = System.Exception; using SerializationInfo = System.Runtime.Serialization.SerializationInfo; @@ -72,7 +71,7 @@ public MismatchedTokenException(int expecting, IIntStream input, IList t this._expecting = expecting; if (tokenNames != null) - this._tokenNames = tokenNames.ToList().AsReadOnly(); + this._tokenNames = new List(tokenNames).AsReadOnly(); } public MismatchedTokenException(string message, int expecting, IIntStream input, IList tokenNames) @@ -81,7 +80,7 @@ public MismatchedTokenException(string message, int expecting, IIntStream input, this._expecting = expecting; if (tokenNames != null) - this._tokenNames = tokenNames.ToList().AsReadOnly(); + this._tokenNames = new List(tokenNames).AsReadOnly(); } public MismatchedTokenException(string message, int expecting, IIntStream input, IList tokenNames, Exception innerException) @@ -90,7 +89,7 @@ public MismatchedTokenException(string message, int expecting, IIntStream input, this._expecting = expecting; if (tokenNames != null) - this._tokenNames = tokenNames.ToList().AsReadOnly(); + this._tokenNames = new List(tokenNames).AsReadOnly(); } protected MismatchedTokenException(SerializationInfo info, StreamingContext context) @@ -126,7 +125,7 @@ public override void GetObjectData(SerializationInfo info, StreamingContext cont base.GetObjectData(info, context); info.AddValue("Expecting", _expecting); - info.AddValue("TokenNames", (_tokenNames != null) ? _tokenNames.ToArray() : default(string[])); + info.AddValue("TokenNames", (_tokenNames != null) ? new List(_tokenNames).ToArray() : default(string[])); } public override string ToString() diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Parser.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Parser.cs index c4f50ffa..48741402 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Parser.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Parser.cs @@ -1,10 +1,10 @@ /* * [The "BSD licence"] - * Copyright (c) 2005-2008 Terence Parr + * Copyright (c) 2005-2011 Terence Parr * All rights reserved. * * Conversion to C#: - * Copyright (c) 2008-2009 Sam Harwell, Pixel Mine, Inc. + * Copyright (c) 2008-2011 Sam Harwell, Pixel Mine, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -89,6 +89,7 @@ protected override object GetMissingSymbol( IIntStream input, t.Line = current.Line; t.CharPositionInLine = current.CharPositionInLine; t.Channel = DefaultTokenChannel; + t.InputStream = current.InputStream; return t; } diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Properties/AssemblyInfo.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Properties/AssemblyInfo.cs index 4a81c06b..1489fdea 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Properties/AssemblyInfo.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Properties/AssemblyInfo.cs @@ -1,10 +1,10 @@ /* - * [The "BSD licence"] - * Copyright (c) 2005-2008 Terence Parr + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr * All rights reserved. * * Conversion to C#: - * Copyright (c) 2008-2010 Sam Harwell, Pixel Mine, Inc. + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,6 +33,7 @@ using System; using System.Reflection; using System.Runtime.InteropServices; +using System.Security; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information @@ -42,10 +43,11 @@ [assembly: AssemblyConfiguration( "" )] [assembly: AssemblyCompany( "Pixel Mine, Inc." )] [assembly: AssemblyProduct( "Antlr3.Runtime" )] -[assembly: AssemblyCopyright( "Copyright © Pixel Mine 2010" )] +[assembly: AssemblyCopyright("Copyright © Sam Harwell 2011")] [assembly: AssemblyTrademark( "" )] [assembly: AssemblyCulture( "" )] [assembly: CLSCompliant( true )] +[assembly: AllowPartiallyTrustedCallers] // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from @@ -66,5 +68,5 @@ * the Major or Minor version is incremented. * 3. Revision is the Perforce changelist number associated with the release. */ -[assembly: AssemblyVersion("3.3.1.7705")] -[assembly: AssemblyFileVersion("3.3.1.7705")] +[assembly: AssemblyVersion("3.3.4.8517")] +[assembly: AssemblyFileVersion("3.3.4.8517")] diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/TemplateParserRuleReturnScope`2.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/TemplateParserRuleReturnScope`2.cs new file mode 100644 index 00000000..1e3c185a --- /dev/null +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/TemplateParserRuleReturnScope`2.cs @@ -0,0 +1,60 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2011 Terence Parr + * All rights reserved. + * + * Conversion to C#: + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +namespace Antlr.Runtime +{ + public class TemplateParserRuleReturnScope : ParserRuleReturnScope, ITemplateRuleReturnScope, ITemplateRuleReturnScope + { + private TTemplate _template; + + public TTemplate Template + { + get + { + return _template; + } + + set + { + _template = value; + } + } + + object ITemplateRuleReturnScope.Template + { + get + { + return Template; + } + } + } +} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/TokenChannels.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/TokenChannels.cs new file mode 100644 index 00000000..429a2c04 --- /dev/null +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/TokenChannels.cs @@ -0,0 +1,52 @@ +/* + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr + * All rights reserved. + * + * Conversion to C#: + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +namespace Antlr.Runtime +{ + public static class TokenChannels + { + /** + * All tokens go to the parser (unless skip() is called in that rule) + * on a particular "channel". The parser tunes to a particular channel + * so that whitespace etc... can go to the parser on a "hidden" channel. + * + */ + public const int Default = 0; + + /** + * Anything on different channel than DEFAULT_CHANNEL is not parsed + * by parser. + * + */ + public const int Hidden = 99; + } +} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/TokenConstants.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/TokenConstants.cs deleted file mode 100644 index c0c2a49b..00000000 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/TokenConstants.cs +++ /dev/null @@ -1,97 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2005-2008 Terence Parr - * All rights reserved. - * - * Conversion to C#: - * Copyright (c) 2008-2009 Sam Harwell, Pixel Mine, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -namespace Antlr.Runtime -{ - public static class TokenChannels - { - /** - * All tokens go to the parser (unless skip() is called in that rule) - * on a particular "channel". The parser tunes to a particular channel - * so that whitespace etc... can go to the parser on a "hidden" channel. - * - */ - public const int Default = 0; - - /** - * Anything on different channel than DEFAULT_CHANNEL is not parsed - * by parser. - * - */ - public const int Hidden = 99; - } - - public static class TokenTypes - { - public const int EndOfFile = CharStreamConstants.EndOfFile; - public const int Invalid = 0; - public const int EndOfRule = 1; - /** imaginary tree navigation type; traverse "get child" link */ - public const int Down = 2; - /** imaginary tree navigation type; finish with a child list */ - public const int Up = 3; - public const int Min = Up + 1; - } - - public static class Tokens - { - public static readonly IToken EndOfFile = Tokens.EndOfFile; - - public static readonly IToken Invalid = new CommonToken( TokenTypes.Invalid ); - - /** - * In an action, a lexer rule can set token to this SKIP_TOKEN and ANTLR - * will avoid creating a token for this symbol and try to fetch another. - * - */ - public static readonly IToken Skip = new CommonToken( TokenTypes.Invalid ); - } - - public static class Tokens - where T : IToken, new() - { - public static readonly T EndOfFile = new T() - { - Type = TokenTypes.EndOfFile - }; - - public static readonly T Invalid = new T() - { - Type = TokenTypes.Invalid - }; - - public static readonly T Skip = new T() - { - Type = TokenTypes.Invalid - }; - } -} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/TokenTypes.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/TokenTypes.cs new file mode 100644 index 00000000..29692cea --- /dev/null +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/TokenTypes.cs @@ -0,0 +1,46 @@ +/* + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr + * All rights reserved. + * + * Conversion to C#: + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +namespace Antlr.Runtime +{ + public static class TokenTypes + { + public const int EndOfFile = CharStreamConstants.EndOfFile; + public const int Invalid = 0; + public const int EndOfRule = 1; + /** imaginary tree navigation type; traverse "get child" link */ + public const int Down = 2; + /** imaginary tree navigation type; finish with a child list */ + public const int Up = 3; + public const int Min = Up + 1; + } +} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Tokens.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Tokens.cs new file mode 100644 index 00000000..a736f2f1 --- /dev/null +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Tokens.cs @@ -0,0 +1,44 @@ +/* + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr + * All rights reserved. + * + * Conversion to C#: + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +namespace Antlr.Runtime +{ + public static class Tokens + { + /** + * In an action, a lexer rule can set token to this SKIP_TOKEN and ANTLR + * will avoid creating a token for this symbol and try to fetch another. + * + */ + public static readonly IToken Skip = new CommonToken( TokenTypes.Invalid ); + } +} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/AstTreeRuleReturnScope`2.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/AstTreeRuleReturnScope`2.cs new file mode 100644 index 00000000..cc8cb6fd --- /dev/null +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/AstTreeRuleReturnScope`2.cs @@ -0,0 +1,60 @@ +/* + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr + * All rights reserved. + * + * Conversion to C#: + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +namespace Antlr.Runtime.Tree +{ + public class AstTreeRuleReturnScope : TreeRuleReturnScope, IAstRuleReturnScope, IAstRuleReturnScope + { + private TOutputTree _tree; + + public TOutputTree Tree + { + get + { + return _tree; + } + + set + { + _tree = value; + } + } + + object IAstRuleReturnScope.Tree + { + get + { + return Tree; + } + } + } +} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/CommonTree.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/CommonTree.cs index 40745bc2..33f9bda9 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/CommonTree.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/CommonTree.cs @@ -1,10 +1,10 @@ /* * [The "BSD licence"] - * Copyright (c) 2005-2008 Terence Parr + * Copyright (c) 2011 Terence Parr * All rights reserved. * * Conversion to C#: - * Copyright (c) 2008-2009 Sam Harwell, Pixel Mine, Inc. + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -32,10 +32,7 @@ namespace Antlr.Runtime.Tree { - using System.Linq; - using ArgumentNullException = System.ArgumentNullException; - using CLSCompliant = System.CLSCompliantAttribute; /** * A tree node that is wrapper for a Token object. After 3.0 release @@ -261,8 +258,14 @@ public virtual void SetUnknownTokenBoundaries() return; } - foreach (var child in Children.OfType()) - child.SetUnknownTokenBoundaries(); + foreach (ITree childTree in Children) + { + CommonTree commonTree = childTree as CommonTree; + if (commonTree == null) + continue; + + commonTree.SetUnknownTokenBoundaries(); + } if ( startIndex >= 0 && stopIndex >= 0 ) return; // already set diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/ITreeVisitorAction.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/ITreeVisitorAction.cs index 826f6be7..bcf01569 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/ITreeVisitorAction.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/ITreeVisitorAction.cs @@ -32,6 +32,8 @@ namespace Antlr.Runtime.Tree { + using Antlr.Runtime.Misc; + /** * How to execute code for node t when a visitor visits node t. Execute * pre() before visiting children and execute post() after visiting children. @@ -60,10 +62,10 @@ public interface ITreeVisitorAction public class TreeVisitorAction : ITreeVisitorAction { - System.Func _preAction; - System.Func _postAction; + private readonly Func _preAction; + private readonly Func _postAction; - public TreeVisitorAction( System.Func preAction, System.Func postAction ) + public TreeVisitorAction( Func preAction, Func postAction ) { _preAction = preAction; _postAction = postAction; diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TemplateTreeRuleReturnScope`2.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TemplateTreeRuleReturnScope`2.cs new file mode 100644 index 00000000..96ac54ff --- /dev/null +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TemplateTreeRuleReturnScope`2.cs @@ -0,0 +1,60 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2011 Terence Parr + * All rights reserved. + * + * Conversion to C#: + * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +namespace Antlr.Runtime.Tree +{ + public class TemplateTreeRuleReturnScope : TreeRuleReturnScope, ITemplateRuleReturnScope, ITemplateRuleReturnScope + { + private TTemplate _template; + + public TTemplate Template + { + get + { + return _template; + } + + set + { + _template = value; + } + } + + object ITemplateRuleReturnScope.Template + { + get + { + return Template; + } + } + } +} diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeFilter.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeFilter.cs index 9128d708..ef7b412a 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeFilter.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeFilter.cs @@ -32,6 +32,8 @@ namespace Antlr.Runtime.Tree { + using Antlr.Runtime.Misc; + public class TreeFilter : TreeParser { protected ITokenStream originalTokenStream; @@ -48,7 +50,7 @@ public TreeFilter( ITreeNodeStream input, RecognizerSharedState state ) originalTokenStream = input.TokenStream; } - public virtual void ApplyOnce( object t, System.Action whichRule ) + public virtual void ApplyOnce( object t, Action whichRule ) { if ( t == null ) return; @@ -71,12 +73,12 @@ public virtual void ApplyOnce( object t, System.Action whichRule ) public virtual void Downup( object t ) { TreeVisitor v = new TreeVisitor( new CommonTreeAdaptor() ); - System.Func pre = ( o ) => + Func pre = ( o ) => { ApplyOnce( o, Topdown ); return o; }; - System.Func post = ( o ) => + Func post = ( o ) => { ApplyOnce( o, Bottomup ); return o; diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeRewriter.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeRewriter.cs index 50fc8bc0..b610c2c3 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeRewriter.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeRewriter.cs @@ -32,6 +32,8 @@ namespace Antlr.Runtime.Tree { + using Antlr.Runtime.Misc; + using Console = System.Console; public class TreeRewriter : TreeParser @@ -41,8 +43,8 @@ public class TreeRewriter : TreeParser protected ITokenStream originalTokenStream; protected ITreeAdaptor originalAdaptor; - System.Func topdown_func; - System.Func bottomup_func; + Func topdown_func; + Func bottomup_func; public TreeRewriter( ITreeNodeStream input ) : this( input, new RecognizerSharedState() ) @@ -57,7 +59,7 @@ public TreeRewriter( ITreeNodeStream input, RecognizerSharedState state ) bottomup_func = () => Bottomup(); } - public virtual object ApplyOnce( object t, System.Func whichRule ) + public virtual object ApplyOnce( object t, Func whichRule ) { if ( t == null ) return null; @@ -89,7 +91,7 @@ public virtual object ApplyOnce( object t, System.Func whic return t; } - public virtual object ApplyRepeatedly( object t, System.Func whichRule ) + public virtual object ApplyRepeatedly( object t, Func whichRule ) { bool treeChanged = true; while ( treeChanged ) diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeRuleReturnScope.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeRuleReturnScope`1.cs similarity index 99% rename from runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeRuleReturnScope.cs rename to runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeRuleReturnScope`1.cs index a54a8b8d..2a928e20 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeRuleReturnScope.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeRuleReturnScope`1.cs @@ -1,5 +1,5 @@ /* - * [The "BSD licence"] + * [The "BSD license"] * Copyright (c) 2011 Terence Parr * All rights reserved. * diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeVisitor.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeVisitor.cs index 883062a5..f6e49eae 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeVisitor.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/Tree/TreeVisitor.cs @@ -32,6 +32,8 @@ namespace Antlr.Runtime.Tree { + using Antlr.Runtime.Misc; + /** Do a depth first walk of a tree, applying pre() and post() actions as we go. */ public class TreeVisitor { @@ -73,7 +75,7 @@ public object Visit( object t, ITreeVisitorAction action ) return t; } - public object Visit( object t, System.Func preAction, System.Func postAction ) + public object Visit( object t, Func preAction, Func postAction ) { return Visit( t, new TreeVisitorAction( preAction, postAction ) ); } diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime/UnbufferedTokenStream.cs b/runtime/CSharp3/Sources/Antlr3.Runtime/UnbufferedTokenStream.cs index 7bac5432..c1bfcb28 100644 --- a/runtime/CSharp3/Sources/Antlr3.Runtime/UnbufferedTokenStream.cs +++ b/runtime/CSharp3/Sources/Antlr3.Runtime/UnbufferedTokenStream.cs @@ -52,7 +52,7 @@ namespace Antlr.Runtime * @see BufferedTokenStream * @see CommonTokenStream */ - public class UnbufferedTokenStream : LookaheadStream, ITokenStream + public class UnbufferedTokenStream : LookaheadStream, ITokenStream, ITokenStreamInformation { [CLSCompliant(false)] protected ITokenSource tokenSource; @@ -61,6 +61,8 @@ public class UnbufferedTokenStream : LookaheadStream, ITokenStream /** Skip tokens on any channel but this one; this is how we skip whitespace... */ protected int channel = TokenChannels.Default; + private readonly ListStack _realTokens = new ListStack() { null }; + public UnbufferedTokenStream(ITokenSource tokenSource) { this.tokenSource = tokenSource; @@ -82,6 +84,59 @@ public string SourceName } } + #region ITokenStreamInformation Members + + public IToken LastToken + { + get + { + return LB(1); + } + } + + public IToken LastRealToken + { + get + { + return _realTokens.Peek(); + } + } + + public int MaxLookBehind + { + get + { + return 1; + } + } + + public override int Mark() + { + _realTokens.Push(_realTokens.Peek()); + return base.Mark(); + } + + public override void Release(int marker) + { + base.Release(marker); + _realTokens.Pop(); + } + + public override void Clear() + { + _realTokens.Clear(); + _realTokens.Push(null); + } + + public override void Consume() + { + base.Consume(); + if (PreviousElement != null && PreviousElement.Line > 0) + _realTokens[_realTokens.Count - 1] = PreviousElement; + } + + #endregion + public override IToken NextElement() { IToken t = this.tokenSource.NextToken(); diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime_vs2010.sln b/runtime/CSharp3/Sources/Antlr3.Runtime_vs2010.sln deleted file mode 100644 index 5ad50e75..00000000 --- a/runtime/CSharp3/Sources/Antlr3.Runtime_vs2010.sln +++ /dev/null @@ -1,32 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Antlr3.Runtime_vs2010", "Antlr3.Runtime\Antlr3.Runtime_vs2010.csproj", "{8FDC0A87-9005-4D5A-AB75-E55CEB575559}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Antlr3.Runtime.Debug_vs2010", "Antlr3.Runtime.Debug\Antlr3.Runtime.Debug_vs2010.csproj", "{5EE27A90-B023-42C9-AAF1-52B0424C5D0B}" -EndProject -Global - GlobalSection(SourceCodeControl) = preSolution - SccNumberOfProjects = 2 - SccProjectUniqueName0 = Antlr3.Runtime\\Antlr3.Runtime_vs2010.csproj - SccLocalPath0 = Antlr3.Runtime - SccLocalPath1 = . - EndGlobalSection - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8FDC0A87-9005-4D5A-AB75-E55CEB575559}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8FDC0A87-9005-4D5A-AB75-E55CEB575559}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8FDC0A87-9005-4D5A-AB75-E55CEB575559}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8FDC0A87-9005-4D5A-AB75-E55CEB575559}.Release|Any CPU.Build.0 = Release|Any CPU - {5EE27A90-B023-42C9-AAF1-52B0424C5D0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5EE27A90-B023-42C9-AAF1-52B0424C5D0B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5EE27A90-B023-42C9-AAF1-52B0424C5D0B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5EE27A90-B023-42C9-AAF1-52B0424C5D0B}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime_vs2010.vssscc b/runtime/CSharp3/Sources/Antlr3.Runtime_vs2010.vssscc deleted file mode 100644 index 6cb031bc..00000000 --- a/runtime/CSharp3/Sources/Antlr3.Runtime_vs2010.vssscc +++ /dev/null @@ -1,10 +0,0 @@ -"" -{ -"FILE_VERSION" = "9237" -"ENLISTMENT_CHOICE" = "NEVER" -"PROJECT_FILE_RELATIVE_PATH" = "" -"NUMBER_OF_EXCLUDED_FILES" = "0" -"ORIGINAL_PROJECT_FILE_PATH" = "" -"NUMBER_OF_NESTED_PROJECTS" = "0" -"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT" -} diff --git a/runtime/Java/doxyfile b/runtime/Java/doxyfile index 250fec15..8eba9a07 100644 --- a/runtime/Java/doxyfile +++ b/runtime/Java/doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = "ANTLR API" -PROJECT_NUMBER = 3.3 +PROJECT_NUMBER = 3.4 OUTPUT_DIRECTORY = api CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/runtime/Java/pom.xml b/runtime/Java/pom.xml index 9b04d2d6..6c8b13bd 100644 --- a/runtime/Java/pom.xml +++ b/runtime/Java/pom.xml @@ -1,119 +1,96 @@ - - - 4.0.0 - org.antlr - antlr-runtime - jar - - - - org.antlr - antlr-master - 4.0-SNAPSHOT - - - Antlr 3 Runtime - A framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, C++, or Python actions. - http://www.antlr.org - - - Terence Parr - USFCA - http://www.cs.usfca.edu - parrt@antlr.org - - Project Leader - Developer - Java Target - - PST - - - Jim Idle - Temporal Wave LLC - http://www.temporal-wave.com - jimi@temporal-wave.com - - Developer - Maven stuff - Developer - C Target - - PST - - - - - http://fisheye2.cenqua.com/browse/antlr - http://fisheye2.cenqua.com/browse/antlr - - - - - - - antlr-repo - ANTLR Testing repository - scpexe://antlr.org/home/mavensync/antlr-repo - - - - antlr-snapshot - ANTLR Testing Snapshot Repository - scpexe://antlr.org/home/mavensync/antlr-snapshot - - - - - - - - org.antlr - stringtemplate - 3.2.1 - compile - - - - - - install - - - org.apache.maven.wagon - wagon-ssh-external - 1.0-beta-2 - - - - - maven-compiler-plugin - 2.0.2 - - 1.5 - jsr14 - - - - - org.codehaus.mojo - findbugs-maven-plugin - - true - true - true - - - - - - + + + 4.0.0 + org.antlr + antlr-runtime + jar + + + + org.antlr + antlr-master + 3.4 + + + + Antlr 3.4 Runtime + + A framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, C++, or Python actions. + http://www.antlr.org + + + Terence Parr + USFCA + http://www.cs.usfca.edu + parrt@antlr.org + + Project Leader + Developer - Java Target + + PST + + + Jim Idle + Temporal Wave LLC + http://www.temporal-wave.com + jimi@temporal-wave.com + + Developer - Maven stuff + Developer - C Target + + PST + + + + + http://fisheye2.cenqua.com/browse/antlr + http://fisheye2.cenqua.com/browse/antlr + + + + + + org.antlr + stringtemplate + 3.2.1 + compile + + + + + antlr + antlr + 2.7.7 + compile + + + + + + install + + + maven-compiler-plugin + 2.0.2 + + 1.6 + jsr14 + + + + org.codehaus.mojo + findbugs-maven-plugin + 2.3.2 + + true + true + true + + + + + diff --git a/runtime/Java/src/main/java/org/antlr/runtime/CommonToken.java b/runtime/Java/src/main/java/org/antlr/runtime/CommonToken.java index f01e1f4f..6bd9b89d 100644 --- a/runtime/Java/src/main/java/org/antlr/runtime/CommonToken.java +++ b/runtime/Java/src/main/java/org/antlr/runtime/CommonToken.java @@ -98,13 +98,13 @@ public String getText() { if ( input==null ) { return null; } - if ( start"; + } } /** Override the text for this token. getText() will return this text diff --git a/runtime/Java/src/main/java/org/antlr/runtime/CommonTokenStream.java b/runtime/Java/src/main/java/org/antlr/runtime/CommonTokenStream.java index 28135a6a..2bea7ece 100644 --- a/runtime/Java/src/main/java/org/antlr/runtime/CommonTokenStream.java +++ b/runtime/Java/src/main/java/org/antlr/runtime/CommonTokenStream.java @@ -99,7 +99,7 @@ public Token LT(int k) { i = skipOffTokenChannels(i+1); n++; } - if ( i>range ) range = i; + if ( i>range ) range = i; return tokens.get(i); } @@ -122,7 +122,12 @@ protected int skipOffTokenChannelsReverse(int i) { return i; } - protected void setup() { + public void reset() { + super.reset(); + p = skipOffTokenChannels(0); + } + + protected void setup() { p = 0; sync(0); int i = 0; diff --git a/runtime/Java/src/main/java/org/antlr/runtime/Lexer.java b/runtime/Java/src/main/java/org/antlr/runtime/Lexer.java index 6037bcfd..a1a24e1e 100644 --- a/runtime/Java/src/main/java/org/antlr/runtime/Lexer.java +++ b/runtime/Java/src/main/java/org/antlr/runtime/Lexer.java @@ -95,14 +95,18 @@ else if ( state.token==Token.SKIP_TOKEN ) { } return state.token; } - catch (NoViableAltException nva) { - reportError(nva); - recover(nva); // throw out current char and try again + catch (MismatchedRangeException re) { + reportError(re); + // matchRange() routine has already called recover() } - catch (RecognitionException re) { + catch (MismatchedTokenException re) { reportError(re); // match() routine has already called recover() } + catch (RecognitionException re) { + reportError(re); + recover(re); // throw out current char and try again + } } } diff --git a/runtime/Java/src/main/java/org/antlr/runtime/Parser.java b/runtime/Java/src/main/java/org/antlr/runtime/Parser.java index 9cf937a3..030cf728 100644 --- a/runtime/Java/src/main/java/org/antlr/runtime/Parser.java +++ b/runtime/Java/src/main/java/org/antlr/runtime/Parser.java @@ -27,6 +27,8 @@ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT */ package org.antlr.runtime; +import org.antlr.runtime.debug.DebugTokenStream; + /** A parser for TokenStreams. "parser grammars" result in a subclass * of this. */ @@ -70,6 +72,7 @@ protected Object getMissingSymbol(IntStream input, t.line = current.getLine(); t.charPositionInLine = current.getCharPositionInLine(); t.channel = DEFAULT_TOKEN_CHANNEL; + t.input = current.getInputStream(); return t; } diff --git a/runtime/Java/src/main/java/org/antlr/runtime/ParserRuleReturnScope.java b/runtime/Java/src/main/java/org/antlr/runtime/ParserRuleReturnScope.java index 9237e4e4..e3e38ce4 100644 --- a/runtime/Java/src/main/java/org/antlr/runtime/ParserRuleReturnScope.java +++ b/runtime/Java/src/main/java/org/antlr/runtime/ParserRuleReturnScope.java @@ -27,6 +27,8 @@ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT */ package org.antlr.runtime; +import org.antlr.runtime.tree.CommonTree; + /** Rules that return more than a single value must return an object * containing all the values. Besides the properties defined in * RuleLabelScope.predefinedRulePropertiesScope there may be user-defined @@ -49,4 +51,7 @@ public class ParserRuleReturnScope extends RuleReturnScope { public Token start, stop; public Object getStart() { return start; } public Object getStop() { return stop; } + + public Object tree; // only used when output=AST + public Object getTree() { return tree; } } diff --git a/runtime/Java/src/main/java/org/antlr/runtime/debug/BlankDebugEventListener.java b/runtime/Java/src/main/java/org/antlr/runtime/debug/BlankDebugEventListener.java old mode 100755 new mode 100644 diff --git a/runtime/Java/src/main/java/org/antlr/runtime/tree/BaseTree.java b/runtime/Java/src/main/java/org/antlr/runtime/tree/BaseTree.java index ebffdb3c..34dd0501 100644 --- a/runtime/Java/src/main/java/org/antlr/runtime/tree/BaseTree.java +++ b/runtime/Java/src/main/java/org/antlr/runtime/tree/BaseTree.java @@ -44,7 +44,7 @@ public BaseTree() { /** Create a new node from an existing node does nothing for BaseTree * as there are no fields other than the children list, which cannot - * be copied as the children are not considered part of this node. + * be copied as the children are not considered part of this node. */ public BaseTree(Tree node) { } @@ -69,7 +69,7 @@ public Tree getFirstChildWithType(int type) { if ( t.getType()==type ) { return t; } - } + } return null; } @@ -150,7 +150,19 @@ public void setChild(int i, Tree t) { t.setParent(this); t.setChildIndex(i); } - + + /** Insert child t at child position i (0..n-1) by shifting children + i+1..n-1 to the right one position. Set parent / indexes properly + but does NOT collapse nil-rooted t's that come in here like addChild. + */ + public void insertChild(int i, Object t) { + if ( children==null ) return; + children.add(i, t); + // walk others to increment their child indexes + // set index, parent of this one too + this.freshenParentAndChildIndexes(i); + } + public Object deleteChild(int i) { if ( children==null ) { return null; @@ -250,6 +262,20 @@ public void freshenParentAndChildIndexes(int offset) { } } + public void freshenParentAndChildIndexesDeeply() { + freshenParentAndChildIndexesDeeply(0); + } + + public void freshenParentAndChildIndexesDeeply(int offset) { + int n = getChildCount(); + for (int c = offset; c < n; c++) { + BaseTree child = (BaseTree)getChild(c); + child.setChildIndex(c); + child.setParent(this); + child.freshenParentAndChildIndexesDeeply(); + } + } + public void sanityCheckParentAndChildIndexes() { sanityCheckParentAndChildIndexes(null, -1); } diff --git a/runtime/Java/src/main/java/org/antlr/runtime/tree/CommonTreeNodeStream.java b/runtime/Java/src/main/java/org/antlr/runtime/tree/CommonTreeNodeStream.java index 05dbbddb..dcdbdd59 100644 --- a/runtime/Java/src/main/java/org/antlr/runtime/tree/CommonTreeNodeStream.java +++ b/runtime/Java/src/main/java/org/antlr/runtime/tree/CommonTreeNodeStream.java @@ -51,7 +51,7 @@ public class CommonTreeNodeStream extends LookaheadStream implements Tre protected TreeIterator it; /** Stack of indexes used for push/pop calls */ - protected IntArray calls; + protected IntArray calls; /** Tree (nil A B C) trees like flat A B C streams */ protected boolean hasNilRoot = false; @@ -76,7 +76,7 @@ public void reset() { level = 0; if ( calls != null ) calls.clear(); } - + /** Pull elements from tree iterator. Track tree level 0..max_level. * If nil rooted tree, don't give initial nil and DOWN nor final UP. */ @@ -137,7 +137,7 @@ public int pop() { int ret = calls.pop(); seek(ret); return ret; - } + } // TREE REWRITE INTERFACE diff --git a/runtime/Java/src/main/java/org/antlr/runtime/tree/TreeParser.java b/runtime/Java/src/main/java/org/antlr/runtime/tree/TreeParser.java index e568bc97..c40f81f9 100644 --- a/runtime/Java/src/main/java/org/antlr/runtime/tree/TreeParser.java +++ b/runtime/Java/src/main/java/org/antlr/runtime/tree/TreeParser.java @@ -29,8 +29,8 @@ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT import org.antlr.runtime.*; -import java.util.regex.Pattern; import java.util.regex.Matcher; +import java.util.regex.Pattern; /** A parser for a stream of tree nodes. "tree grammars" result in a subclass * of this. All the error reporting and recovery is shared with Parser via @@ -159,6 +159,75 @@ public String getErrorMessage(RecognitionException e, String[] tokenNames) { return super.getErrorMessage(e, tokenNames); } + /** Check if current node in input has a context. Context means sequence + * of nodes towards root of tree. For example, you might say context + * is "MULT" which means my parent must be MULT. "CLASS VARDEF" says + * current node must be child of a VARDEF and whose parent is a CLASS node. + * You can use "..." to mean zero-or-more nodes. "METHOD ... VARDEF" + * means my parent is VARDEF and somewhere above that is a METHOD node. + * The first node in the context is not necessarily the root. The context + * matcher stops matching and returns true when it runs out of context. + * There is no way to force the first node to be the root. + */ + public boolean inContext(String context) { + return inContext(input.getTreeAdaptor(), getTokenNames(), input.LT(1), context); + } + + /** The worker for inContext. It's static and full of parameters for + * testing purposes. + */ + public static boolean inContext(TreeAdaptor adaptor, + String[] tokenNames, + Object t, + String context) + { + Matcher dotdotMatcher = dotdotPattern.matcher(context); + Matcher doubleEtcMatcher = doubleEtcPattern.matcher(context); + if ( dotdotMatcher.find() ) { // don't allow "..", must be "..." + throw new IllegalArgumentException("invalid syntax: .."); + } + if ( doubleEtcMatcher.find() ) { // don't allow double "..." + throw new IllegalArgumentException("invalid syntax: ... ..."); + } + context = context.replaceAll("\\.\\.\\.", " ... "); // ensure spaces around ... + context = context.trim(); + String[] nodes = context.split("\\s+"); + int ni = nodes.length-1; + t = adaptor.getParent(t); + while ( ni>=0 && t!=null ) { + if ( nodes[ni].equals("...") ) { + // walk upwards until we see nodes[ni-1] then continue walking + if ( ni==0 ) return true; // ... at start is no-op + String goal = nodes[ni-1]; + Object ancestor = getAncestor(adaptor, tokenNames, t, goal); + if ( ancestor==null ) return false; + t = ancestor; + ni--; + } + String name = tokenNames[adaptor.getType(t)]; + if ( !name.equals(nodes[ni]) ) { + //System.err.println("not matched: "+nodes[ni]+" at "+t); + return false; + } + // advance to parent and to previous element in context node list + ni--; + t = adaptor.getParent(t); + } + + if ( t==null && ni>=0 ) return false; // at root but more nodes to match + return true; + } + + /** Helper for static inContext */ + protected static Object getAncestor(TreeAdaptor adaptor, String[] tokenNames, Object t, String goal) { + while ( t!=null ) { + String name = tokenNames[adaptor.getType(t)]; + if ( name.equals(goal) ) return t; + t = adaptor.getParent(t); + } + return null; + } + public void traceIn(String ruleName, int ruleIndex) { super.traceIn(ruleName, ruleIndex, input.LT(1)); } diff --git a/runtime/JavaScript/AUTHORS b/runtime/JavaScript/AUTHORS old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/ChangeLog b/runtime/JavaScript/ChangeLog old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/build/README b/runtime/JavaScript/build/README old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/build/antlr3.properties b/runtime/JavaScript/build/antlr3.properties old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/build/build.xml b/runtime/JavaScript/build/build.xml old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/build/license.txt b/runtime/JavaScript/build/license.txt old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr.js b/runtime/JavaScript/src/org/antlr.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/ANTLRFileStream.js b/runtime/JavaScript/src/org/antlr/runtime/ANTLRFileStream.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/ANTLRStringStream.js b/runtime/JavaScript/src/org/antlr/runtime/ANTLRStringStream.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/BaseRecognizer.js b/runtime/JavaScript/src/org/antlr/runtime/BaseRecognizer.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/BitSet.js b/runtime/JavaScript/src/org/antlr/runtime/BitSet.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/CharStream.js b/runtime/JavaScript/src/org/antlr/runtime/CharStream.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/CommonToken.js b/runtime/JavaScript/src/org/antlr/runtime/CommonToken.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/CommonTokenStream.js b/runtime/JavaScript/src/org/antlr/runtime/CommonTokenStream.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/DFA.js b/runtime/JavaScript/src/org/antlr/runtime/DFA.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/EarlyExitException.js b/runtime/JavaScript/src/org/antlr/runtime/EarlyExitException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/FailedPredicateException.js b/runtime/JavaScript/src/org/antlr/runtime/FailedPredicateException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/IndexOutOfBoundsExceptions.js b/runtime/JavaScript/src/org/antlr/runtime/IndexOutOfBoundsExceptions.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/Lexer.js b/runtime/JavaScript/src/org/antlr/runtime/Lexer.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/MismatchedNotSetException.js b/runtime/JavaScript/src/org/antlr/runtime/MismatchedNotSetException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/MismatchedRangeExceptions.js b/runtime/JavaScript/src/org/antlr/runtime/MismatchedRangeExceptions.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/MismatchedSetException.js b/runtime/JavaScript/src/org/antlr/runtime/MismatchedSetException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/MismatchedTokenException.js b/runtime/JavaScript/src/org/antlr/runtime/MismatchedTokenException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/MismatchedTreeNodeException.js b/runtime/JavaScript/src/org/antlr/runtime/MismatchedTreeNodeException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/MissingTokenException.js b/runtime/JavaScript/src/org/antlr/runtime/MissingTokenException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/NoViableAltException.js b/runtime/JavaScript/src/org/antlr/runtime/NoViableAltException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/Parser.js b/runtime/JavaScript/src/org/antlr/runtime/Parser.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/ParserRuleReturnScope.js b/runtime/JavaScript/src/org/antlr/runtime/ParserRuleReturnScope.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/RecognitionException.js b/runtime/JavaScript/src/org/antlr/runtime/RecognitionException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/RecognizerSharedState.js b/runtime/JavaScript/src/org/antlr/runtime/RecognizerSharedState.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/Token.js b/runtime/JavaScript/src/org/antlr/runtime/Token.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/TokenRewriteStream.js b/runtime/JavaScript/src/org/antlr/runtime/TokenRewriteStream.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/UnwantedTokenException.js b/runtime/JavaScript/src/org/antlr/runtime/UnwantedTokenException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/BaseTree.js b/runtime/JavaScript/src/org/antlr/runtime/tree/BaseTree.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/BaseTreeAdaptor.js b/runtime/JavaScript/src/org/antlr/runtime/tree/BaseTreeAdaptor.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/CommonErrorNode.js b/runtime/JavaScript/src/org/antlr/runtime/tree/CommonErrorNode.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/CommonTree.js b/runtime/JavaScript/src/org/antlr/runtime/tree/CommonTree.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/CommonTreeAdaptor.js b/runtime/JavaScript/src/org/antlr/runtime/tree/CommonTreeAdaptor.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/CommonTreeNodeStream.js b/runtime/JavaScript/src/org/antlr/runtime/tree/CommonTreeNodeStream.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteCardinalityException.js b/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteCardinalityException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteEarlyExitException.js b/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteEarlyExitException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteEmptyStreamException.js b/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteEmptyStreamException.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteRuleElementStream.js b/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteRuleElementStream.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteRuleNodeStream.js b/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteRuleNodeStream.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteRuleSubtreeStream.js b/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteRuleSubtreeStream.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteRuleTokenStream.js b/runtime/JavaScript/src/org/antlr/runtime/tree/RewriteRuleTokenStream.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/Tree.js b/runtime/JavaScript/src/org/antlr/runtime/tree/Tree.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/TreeNodeStream.js b/runtime/JavaScript/src/org/antlr/runtime/tree/TreeNodeStream.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/TreeParser.js b/runtime/JavaScript/src/org/antlr/runtime/tree/TreeParser.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/src/org/antlr/runtime/tree/TreeRuleReturnScope.js b/runtime/JavaScript/src/org/antlr/runtime/tree/TreeRuleReturnScope.js old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/Python.g b/runtime/JavaScript/tests/functional/Python.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/all.html b/runtime/JavaScript/tests/functional/all.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/rhino-python.extensions b/runtime/JavaScript/tests/functional/rhino-python.extensions old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/rhino-python.input b/runtime/JavaScript/tests/functional/rhino-python.input old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/rhino-python.output b/runtime/JavaScript/tests/functional/rhino-python.output old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/rhino-python.prog b/runtime/JavaScript/tests/functional/rhino-python.prog old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t001lexer.g b/runtime/JavaScript/tests/functional/t001lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t001lexer.html b/runtime/JavaScript/tests/functional/t001lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t002lexer.g b/runtime/JavaScript/tests/functional/t002lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t002lexer.html b/runtime/JavaScript/tests/functional/t002lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t003lexer.g b/runtime/JavaScript/tests/functional/t003lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t003lexer.html b/runtime/JavaScript/tests/functional/t003lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t004lexer.g b/runtime/JavaScript/tests/functional/t004lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t004lexer.html b/runtime/JavaScript/tests/functional/t004lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t005lexer.g b/runtime/JavaScript/tests/functional/t005lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t005lexer.html b/runtime/JavaScript/tests/functional/t005lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t006lexer.g b/runtime/JavaScript/tests/functional/t006lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t006lexer.html b/runtime/JavaScript/tests/functional/t006lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t007lexer.g b/runtime/JavaScript/tests/functional/t007lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t007lexer.html b/runtime/JavaScript/tests/functional/t007lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t008lexer.g b/runtime/JavaScript/tests/functional/t008lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t008lexer.html b/runtime/JavaScript/tests/functional/t008lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t009lexer.g b/runtime/JavaScript/tests/functional/t009lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t009lexer.html b/runtime/JavaScript/tests/functional/t009lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t010lexer.g b/runtime/JavaScript/tests/functional/t010lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t010lexer.html b/runtime/JavaScript/tests/functional/t010lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t011lexer.g b/runtime/JavaScript/tests/functional/t011lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t011lexer.html b/runtime/JavaScript/tests/functional/t011lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t012lexerXML.g b/runtime/JavaScript/tests/functional/t012lexerXML.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t012lexerXML.html b/runtime/JavaScript/tests/functional/t012lexerXML.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t013parser.g b/runtime/JavaScript/tests/functional/t013parser.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t013parser.html b/runtime/JavaScript/tests/functional/t013parser.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t014parser.g b/runtime/JavaScript/tests/functional/t014parser.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t014parser.html b/runtime/JavaScript/tests/functional/t014parser.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t015calc.g b/runtime/JavaScript/tests/functional/t015calc.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t015calc.html b/runtime/JavaScript/tests/functional/t015calc.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t016actions.g b/runtime/JavaScript/tests/functional/t016actions.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t016actions.html b/runtime/JavaScript/tests/functional/t016actions.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t017parser.g b/runtime/JavaScript/tests/functional/t017parser.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t017parser.html b/runtime/JavaScript/tests/functional/t017parser.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t018llstar.g b/runtime/JavaScript/tests/functional/t018llstar.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t018llstar.html b/runtime/JavaScript/tests/functional/t018llstar.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t019lexer.g b/runtime/JavaScript/tests/functional/t019lexer.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t019lexer.html b/runtime/JavaScript/tests/functional/t019lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t020fuzzy.g b/runtime/JavaScript/tests/functional/t020fuzzy.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t020fuzzy.html b/runtime/JavaScript/tests/functional/t020fuzzy.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t021hoist.g b/runtime/JavaScript/tests/functional/t021hoist.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t021hoist.html b/runtime/JavaScript/tests/functional/t021hoist.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t022scopes.g b/runtime/JavaScript/tests/functional/t022scopes.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t022scopes.html b/runtime/JavaScript/tests/functional/t022scopes.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t023scopes.g b/runtime/JavaScript/tests/functional/t023scopes.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t023scopes.html b/runtime/JavaScript/tests/functional/t023scopes.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t024finally.g b/runtime/JavaScript/tests/functional/t024finally.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t024finally.html b/runtime/JavaScript/tests/functional/t024finally.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t025lexerRulePropertyRef.g b/runtime/JavaScript/tests/functional/t025lexerRulePropertyRef.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t025lexerRulePropertyRef.html b/runtime/JavaScript/tests/functional/t025lexerRulePropertyRef.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t026actions.g b/runtime/JavaScript/tests/functional/t026actions.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t026actions.html b/runtime/JavaScript/tests/functional/t026actions.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t027eof.g b/runtime/JavaScript/tests/functional/t027eof.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t027eof.html b/runtime/JavaScript/tests/functional/t027eof.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t029synpredgate.g b/runtime/JavaScript/tests/functional/t029synpredgate.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t029synpredgate.html b/runtime/JavaScript/tests/functional/t029synpredgate.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t030specialStates.g b/runtime/JavaScript/tests/functional/t030specialStates.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t030specialStates.html b/runtime/JavaScript/tests/functional/t030specialStates.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t031emptyAlt.g b/runtime/JavaScript/tests/functional/t031emptyAlt.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t031emptyAlt.html b/runtime/JavaScript/tests/functional/t031emptyAlt.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t032subrulePredict.g b/runtime/JavaScript/tests/functional/t032subrulePredict.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t032subrulePredict.html b/runtime/JavaScript/tests/functional/t032subrulePredict.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t033backtracking.g b/runtime/JavaScript/tests/functional/t033backtracking.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t033backtracking.html b/runtime/JavaScript/tests/functional/t033backtracking.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t034tokenLabelPropertyRef.g b/runtime/JavaScript/tests/functional/t034tokenLabelPropertyRef.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t034tokenLabelPropertyRef.html b/runtime/JavaScript/tests/functional/t034tokenLabelPropertyRef.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t035ruleLabelPropertyRef.g b/runtime/JavaScript/tests/functional/t035ruleLabelPropertyRef.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t035ruleLabelPropertyRef.html b/runtime/JavaScript/tests/functional/t035ruleLabelPropertyRef.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t036multipleReturnValues.g b/runtime/JavaScript/tests/functional/t036multipleReturnValues.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t036multipleReturnValues.html b/runtime/JavaScript/tests/functional/t036multipleReturnValues.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t037rulePropertyRef.g b/runtime/JavaScript/tests/functional/t037rulePropertyRef.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t037rulePropertyRef.html b/runtime/JavaScript/tests/functional/t037rulePropertyRef.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t038lexerRuleLabel.g b/runtime/JavaScript/tests/functional/t038lexerRuleLabel.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t038lexerRuleLabel.html b/runtime/JavaScript/tests/functional/t038lexerRuleLabel.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t039labels.g b/runtime/JavaScript/tests/functional/t039labels.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t039labels.html b/runtime/JavaScript/tests/functional/t039labels.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t040bug80.g b/runtime/JavaScript/tests/functional/t040bug80.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t040bug80.html b/runtime/JavaScript/tests/functional/t040bug80.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t041parameters.g b/runtime/JavaScript/tests/functional/t041parameters.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t041parameters.html b/runtime/JavaScript/tests/functional/t041parameters.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t042ast.g b/runtime/JavaScript/tests/functional/t042ast.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t042ast.html b/runtime/JavaScript/tests/functional/t042ast.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t043synpred.g b/runtime/JavaScript/tests/functional/t043synpred.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t043synpred.html b/runtime/JavaScript/tests/functional/t043synpred.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t044trace.g b/runtime/JavaScript/tests/functional/t044trace.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t044trace.html b/runtime/JavaScript/tests/functional/t044trace.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t045dfabug.g b/runtime/JavaScript/tests/functional/t045dfabug.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t045dfabug.html b/runtime/JavaScript/tests/functional/t045dfabug.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t046rewrite.g b/runtime/JavaScript/tests/functional/t046rewrite.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t046rewrite.html b/runtime/JavaScript/tests/functional/t046rewrite.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t047treeparser.g b/runtime/JavaScript/tests/functional/t047treeparser.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t047treeparser.html b/runtime/JavaScript/tests/functional/t047treeparser.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t047treeparserWalker.g b/runtime/JavaScript/tests/functional/t047treeparserWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t048rewrite.g b/runtime/JavaScript/tests/functional/t048rewrite.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t048rewrite.html b/runtime/JavaScript/tests/functional/t048rewrite.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparser.html b/runtime/JavaScript/tests/functional/t049treeparser.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparsera.g b/runtime/JavaScript/tests/functional/t049treeparsera.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparseraWalker.g b/runtime/JavaScript/tests/functional/t049treeparseraWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparserb.g b/runtime/JavaScript/tests/functional/t049treeparserb.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparserbWalker.g b/runtime/JavaScript/tests/functional/t049treeparserbWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparserc.g b/runtime/JavaScript/tests/functional/t049treeparserc.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparsercWalker.g b/runtime/JavaScript/tests/functional/t049treeparsercWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparserd.g b/runtime/JavaScript/tests/functional/t049treeparserd.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparserdWalker.g b/runtime/JavaScript/tests/functional/t049treeparserdWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparsere.g b/runtime/JavaScript/tests/functional/t049treeparsere.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparsereWalker.g b/runtime/JavaScript/tests/functional/t049treeparsereWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparserf.g b/runtime/JavaScript/tests/functional/t049treeparserf.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparserfWalker.g b/runtime/JavaScript/tests/functional/t049treeparserfWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparserg.g b/runtime/JavaScript/tests/functional/t049treeparserg.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparsergWalker.g b/runtime/JavaScript/tests/functional/t049treeparsergWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparserh.g b/runtime/JavaScript/tests/functional/t049treeparserh.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparserhWalker.g b/runtime/JavaScript/tests/functional/t049treeparserhWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparseri.g b/runtime/JavaScript/tests/functional/t049treeparseri.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t049treeparseriWalker.g b/runtime/JavaScript/tests/functional/t049treeparseriWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteAST.html b/runtime/JavaScript/tests/functional/t051treeRewriteAST.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTa.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTa.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTaWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTaWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTaa.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTaa.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTaaWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTaaWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTab.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTab.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTabWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTabWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTac.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTac.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTacWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTacWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTb.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTb.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTbWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTbWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTc.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTc.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTcWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTcWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTd.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTd.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTdWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTdWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTe.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTe.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTeWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTeWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTf.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTf.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTfWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTfWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTg.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTg.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTgWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTgWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTh.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTh.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASThWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASThWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTi.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTi.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTiWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTiWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTj.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTj.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTjWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTjWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTk.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTk.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTkWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTkWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTl.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTl.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTlWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTlWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTm.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTm.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTmWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTmWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTn.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTn.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTnWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTnWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTo.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTo.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASToWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASToWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTp.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTp.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTpWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTpWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTq.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTq.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTqWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTqWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTr.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTr.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTrWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTrWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTs.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTs.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTsWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTsWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTt.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTt.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTtWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTtWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTu.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTu.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTuWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTuWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTv.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTv.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTvWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTvWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTw.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTw.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTwWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTwWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTx.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTx.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTxWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTxWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTy.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTy.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTyWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTyWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTz.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTz.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t051treeRewriteASTzWalker.g b/runtime/JavaScript/tests/functional/t051treeRewriteASTzWalker.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052import.html b/runtime/JavaScript/tests/functional/t052import.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importM1.g b/runtime/JavaScript/tests/functional/t052importM1.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importM2.g b/runtime/JavaScript/tests/functional/t052importM2.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importM3.g b/runtime/JavaScript/tests/functional/t052importM3.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importM4.g b/runtime/JavaScript/tests/functional/t052importM4.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importM5.g b/runtime/JavaScript/tests/functional/t052importM5.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importM6.g b/runtime/JavaScript/tests/functional/t052importM6.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importM7.g b/runtime/JavaScript/tests/functional/t052importM7.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importM8.g b/runtime/JavaScript/tests/functional/t052importM8.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importS1.g b/runtime/JavaScript/tests/functional/t052importS1.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importS2.g b/runtime/JavaScript/tests/functional/t052importS2.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importS3.g b/runtime/JavaScript/tests/functional/t052importS3.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importS4.g b/runtime/JavaScript/tests/functional/t052importS4.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importS5.g b/runtime/JavaScript/tests/functional/t052importS5.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importS6.g b/runtime/JavaScript/tests/functional/t052importS6.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importS7.g b/runtime/JavaScript/tests/functional/t052importS7.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importS8.g b/runtime/JavaScript/tests/functional/t052importS8.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importT4.g b/runtime/JavaScript/tests/functional/t052importT4.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t052importT5.g b/runtime/JavaScript/tests/functional/t052importT5.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053hetero.html b/runtime/JavaScript/tests/functional/t053hetero.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT.g b/runtime/JavaScript/tests/functional/t053heteroT.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT1.g b/runtime/JavaScript/tests/functional/t053heteroT1.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT10.g b/runtime/JavaScript/tests/functional/t053heteroT10.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT11.g b/runtime/JavaScript/tests/functional/t053heteroT11.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT12.g b/runtime/JavaScript/tests/functional/t053heteroT12.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT13.g b/runtime/JavaScript/tests/functional/t053heteroT13.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT14.g b/runtime/JavaScript/tests/functional/t053heteroT14.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT15.g b/runtime/JavaScript/tests/functional/t053heteroT15.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT16.g b/runtime/JavaScript/tests/functional/t053heteroT16.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT17.g b/runtime/JavaScript/tests/functional/t053heteroT17.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT18.g b/runtime/JavaScript/tests/functional/t053heteroT18.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT2.g b/runtime/JavaScript/tests/functional/t053heteroT2.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT3.g b/runtime/JavaScript/tests/functional/t053heteroT3.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT4.g b/runtime/JavaScript/tests/functional/t053heteroT4.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT5.g b/runtime/JavaScript/tests/functional/t053heteroT5.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT6.g b/runtime/JavaScript/tests/functional/t053heteroT6.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT7.g b/runtime/JavaScript/tests/functional/t053heteroT7.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT8.g b/runtime/JavaScript/tests/functional/t053heteroT8.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroT9.g b/runtime/JavaScript/tests/functional/t053heteroT9.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroTP.g b/runtime/JavaScript/tests/functional/t053heteroTP.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroTP13.g b/runtime/JavaScript/tests/functional/t053heteroTP13.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroTP14.g b/runtime/JavaScript/tests/functional/t053heteroTP14.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroTP15.g b/runtime/JavaScript/tests/functional/t053heteroTP15.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroTP16.g b/runtime/JavaScript/tests/functional/t053heteroTP16.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroTP17.g b/runtime/JavaScript/tests/functional/t053heteroTP17.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t053heteroTP18.g b/runtime/JavaScript/tests/functional/t053heteroTP18.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer.html b/runtime/JavaScript/tests/functional/t056lexer.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer1.g b/runtime/JavaScript/tests/functional/t056lexer1.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer10.g b/runtime/JavaScript/tests/functional/t056lexer10.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer11.g b/runtime/JavaScript/tests/functional/t056lexer11.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer12.g b/runtime/JavaScript/tests/functional/t056lexer12.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer13.g b/runtime/JavaScript/tests/functional/t056lexer13.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer14.g b/runtime/JavaScript/tests/functional/t056lexer14.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer15.g b/runtime/JavaScript/tests/functional/t056lexer15.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer2.g b/runtime/JavaScript/tests/functional/t056lexer2.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer3.g b/runtime/JavaScript/tests/functional/t056lexer3.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer4.g b/runtime/JavaScript/tests/functional/t056lexer4.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer5.g b/runtime/JavaScript/tests/functional/t056lexer5.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer6.g b/runtime/JavaScript/tests/functional/t056lexer6.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer7.g b/runtime/JavaScript/tests/functional/t056lexer7.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer8.g b/runtime/JavaScript/tests/functional/t056lexer8.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t056lexer9.g b/runtime/JavaScript/tests/functional/t056lexer9.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST.html b/runtime/JavaScript/tests/functional/t057autoAST.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST1.g b/runtime/JavaScript/tests/functional/t057autoAST1.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST10.g b/runtime/JavaScript/tests/functional/t057autoAST10.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST11.g b/runtime/JavaScript/tests/functional/t057autoAST11.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST12.g b/runtime/JavaScript/tests/functional/t057autoAST12.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST13.g b/runtime/JavaScript/tests/functional/t057autoAST13.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST14.g b/runtime/JavaScript/tests/functional/t057autoAST14.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST15.g b/runtime/JavaScript/tests/functional/t057autoAST15.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST16.g b/runtime/JavaScript/tests/functional/t057autoAST16.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST17.g b/runtime/JavaScript/tests/functional/t057autoAST17.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST18.g b/runtime/JavaScript/tests/functional/t057autoAST18.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST19.g b/runtime/JavaScript/tests/functional/t057autoAST19.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST2.g b/runtime/JavaScript/tests/functional/t057autoAST2.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST20.g b/runtime/JavaScript/tests/functional/t057autoAST20.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST21.g b/runtime/JavaScript/tests/functional/t057autoAST21.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST22.g b/runtime/JavaScript/tests/functional/t057autoAST22.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST23.g b/runtime/JavaScript/tests/functional/t057autoAST23.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST24.g b/runtime/JavaScript/tests/functional/t057autoAST24.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST25.g b/runtime/JavaScript/tests/functional/t057autoAST25.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST26.g b/runtime/JavaScript/tests/functional/t057autoAST26.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST27.g b/runtime/JavaScript/tests/functional/t057autoAST27.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST28.g b/runtime/JavaScript/tests/functional/t057autoAST28.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST29.g b/runtime/JavaScript/tests/functional/t057autoAST29.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST3.g b/runtime/JavaScript/tests/functional/t057autoAST3.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST30.g b/runtime/JavaScript/tests/functional/t057autoAST30.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST31.g b/runtime/JavaScript/tests/functional/t057autoAST31.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST32.g b/runtime/JavaScript/tests/functional/t057autoAST32.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST33.g b/runtime/JavaScript/tests/functional/t057autoAST33.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST34.g b/runtime/JavaScript/tests/functional/t057autoAST34.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST35.g b/runtime/JavaScript/tests/functional/t057autoAST35.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST36.g b/runtime/JavaScript/tests/functional/t057autoAST36.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST37.g b/runtime/JavaScript/tests/functional/t057autoAST37.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST38.g b/runtime/JavaScript/tests/functional/t057autoAST38.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST39.g b/runtime/JavaScript/tests/functional/t057autoAST39.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST4.g b/runtime/JavaScript/tests/functional/t057autoAST4.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST40.g b/runtime/JavaScript/tests/functional/t057autoAST40.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST41.g b/runtime/JavaScript/tests/functional/t057autoAST41.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST42.g b/runtime/JavaScript/tests/functional/t057autoAST42.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST43.g b/runtime/JavaScript/tests/functional/t057autoAST43.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST44.g b/runtime/JavaScript/tests/functional/t057autoAST44.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST45.g b/runtime/JavaScript/tests/functional/t057autoAST45.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST46.g b/runtime/JavaScript/tests/functional/t057autoAST46.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST47.g b/runtime/JavaScript/tests/functional/t057autoAST47.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST48.g b/runtime/JavaScript/tests/functional/t057autoAST48.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST49.g b/runtime/JavaScript/tests/functional/t057autoAST49.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST5.g b/runtime/JavaScript/tests/functional/t057autoAST5.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST50.g b/runtime/JavaScript/tests/functional/t057autoAST50.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST51.g b/runtime/JavaScript/tests/functional/t057autoAST51.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST52.g b/runtime/JavaScript/tests/functional/t057autoAST52.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST53.g b/runtime/JavaScript/tests/functional/t057autoAST53.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST54.g b/runtime/JavaScript/tests/functional/t057autoAST54.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST6.g b/runtime/JavaScript/tests/functional/t057autoAST6.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST7.g b/runtime/JavaScript/tests/functional/t057autoAST7.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST8.g b/runtime/JavaScript/tests/functional/t057autoAST8.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t057autoAST9.g b/runtime/JavaScript/tests/functional/t057autoAST9.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST.html b/runtime/JavaScript/tests/functional/t058rewriteAST.html old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST1.g b/runtime/JavaScript/tests/functional/t058rewriteAST1.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST10.g b/runtime/JavaScript/tests/functional/t058rewriteAST10.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST11.g b/runtime/JavaScript/tests/functional/t058rewriteAST11.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST12.g b/runtime/JavaScript/tests/functional/t058rewriteAST12.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST13.g b/runtime/JavaScript/tests/functional/t058rewriteAST13.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST14.g b/runtime/JavaScript/tests/functional/t058rewriteAST14.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST15.g b/runtime/JavaScript/tests/functional/t058rewriteAST15.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST16.g b/runtime/JavaScript/tests/functional/t058rewriteAST16.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST17.g b/runtime/JavaScript/tests/functional/t058rewriteAST17.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST18.g b/runtime/JavaScript/tests/functional/t058rewriteAST18.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST19.g b/runtime/JavaScript/tests/functional/t058rewriteAST19.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST2.g b/runtime/JavaScript/tests/functional/t058rewriteAST2.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST20.g b/runtime/JavaScript/tests/functional/t058rewriteAST20.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST21.g b/runtime/JavaScript/tests/functional/t058rewriteAST21.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST22.g b/runtime/JavaScript/tests/functional/t058rewriteAST22.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST23.g b/runtime/JavaScript/tests/functional/t058rewriteAST23.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST24.g b/runtime/JavaScript/tests/functional/t058rewriteAST24.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST25.g b/runtime/JavaScript/tests/functional/t058rewriteAST25.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST26.g b/runtime/JavaScript/tests/functional/t058rewriteAST26.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST27.g b/runtime/JavaScript/tests/functional/t058rewriteAST27.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST28.g b/runtime/JavaScript/tests/functional/t058rewriteAST28.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST29.g b/runtime/JavaScript/tests/functional/t058rewriteAST29.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST3.g b/runtime/JavaScript/tests/functional/t058rewriteAST3.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST30.g b/runtime/JavaScript/tests/functional/t058rewriteAST30.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST31.g b/runtime/JavaScript/tests/functional/t058rewriteAST31.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST32.g b/runtime/JavaScript/tests/functional/t058rewriteAST32.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST33.g b/runtime/JavaScript/tests/functional/t058rewriteAST33.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST34.g b/runtime/JavaScript/tests/functional/t058rewriteAST34.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST35.g b/runtime/JavaScript/tests/functional/t058rewriteAST35.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST36.g b/runtime/JavaScript/tests/functional/t058rewriteAST36.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST37.g b/runtime/JavaScript/tests/functional/t058rewriteAST37.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST38.g b/runtime/JavaScript/tests/functional/t058rewriteAST38.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST39.g b/runtime/JavaScript/tests/functional/t058rewriteAST39.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST4.g b/runtime/JavaScript/tests/functional/t058rewriteAST4.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST40.g b/runtime/JavaScript/tests/functional/t058rewriteAST40.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST41.g b/runtime/JavaScript/tests/functional/t058rewriteAST41.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST42.g b/runtime/JavaScript/tests/functional/t058rewriteAST42.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST43.g b/runtime/JavaScript/tests/functional/t058rewriteAST43.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST44.g b/runtime/JavaScript/tests/functional/t058rewriteAST44.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST45.g b/runtime/JavaScript/tests/functional/t058rewriteAST45.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST46.g b/runtime/JavaScript/tests/functional/t058rewriteAST46.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST47.g b/runtime/JavaScript/tests/functional/t058rewriteAST47.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST48.g b/runtime/JavaScript/tests/functional/t058rewriteAST48.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST49.g b/runtime/JavaScript/tests/functional/t058rewriteAST49.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST5.g b/runtime/JavaScript/tests/functional/t058rewriteAST5.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST50.g b/runtime/JavaScript/tests/functional/t058rewriteAST50.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST51.g b/runtime/JavaScript/tests/functional/t058rewriteAST51.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST52.g b/runtime/JavaScript/tests/functional/t058rewriteAST52.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST53.g b/runtime/JavaScript/tests/functional/t058rewriteAST53.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST54.g b/runtime/JavaScript/tests/functional/t058rewriteAST54.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST55.g b/runtime/JavaScript/tests/functional/t058rewriteAST55.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST56.g b/runtime/JavaScript/tests/functional/t058rewriteAST56.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST57.g b/runtime/JavaScript/tests/functional/t058rewriteAST57.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST58.g b/runtime/JavaScript/tests/functional/t058rewriteAST58.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST59.g b/runtime/JavaScript/tests/functional/t058rewriteAST59.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST6.g b/runtime/JavaScript/tests/functional/t058rewriteAST6.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST60.g b/runtime/JavaScript/tests/functional/t058rewriteAST60.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST61.g b/runtime/JavaScript/tests/functional/t058rewriteAST61.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST62.g b/runtime/JavaScript/tests/functional/t058rewriteAST62.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST63.g b/runtime/JavaScript/tests/functional/t058rewriteAST63.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST64.g b/runtime/JavaScript/tests/functional/t058rewriteAST64.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST65.g b/runtime/JavaScript/tests/functional/t058rewriteAST65.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST66.g b/runtime/JavaScript/tests/functional/t058rewriteAST66.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST67.g b/runtime/JavaScript/tests/functional/t058rewriteAST67.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST68.g b/runtime/JavaScript/tests/functional/t058rewriteAST68.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST69.g b/runtime/JavaScript/tests/functional/t058rewriteAST69.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST7.g b/runtime/JavaScript/tests/functional/t058rewriteAST7.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST70.g b/runtime/JavaScript/tests/functional/t058rewriteAST70.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST71.g b/runtime/JavaScript/tests/functional/t058rewriteAST71.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST72.g b/runtime/JavaScript/tests/functional/t058rewriteAST72.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST73.g b/runtime/JavaScript/tests/functional/t058rewriteAST73.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST74.g b/runtime/JavaScript/tests/functional/t058rewriteAST74.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST75.g b/runtime/JavaScript/tests/functional/t058rewriteAST75.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST76.g b/runtime/JavaScript/tests/functional/t058rewriteAST76.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST77.g b/runtime/JavaScript/tests/functional/t058rewriteAST77.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST78.g b/runtime/JavaScript/tests/functional/t058rewriteAST78.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST79.g b/runtime/JavaScript/tests/functional/t058rewriteAST79.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST8.g b/runtime/JavaScript/tests/functional/t058rewriteAST8.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST80.g b/runtime/JavaScript/tests/functional/t058rewriteAST80.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST81.g b/runtime/JavaScript/tests/functional/t058rewriteAST81.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST82.g b/runtime/JavaScript/tests/functional/t058rewriteAST82.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST83.g b/runtime/JavaScript/tests/functional/t058rewriteAST83.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/tests/functional/t058rewriteAST9.g b/runtime/JavaScript/tests/functional/t058rewriteAST9.g old mode 100755 new mode 100644 diff --git a/runtime/JavaScript/third/antcontrib.properties b/runtime/JavaScript/third/antcontrib.properties old mode 100755 new mode 100644 diff --git a/runtime/ObjC/ANTLR.framework.zip b/runtime/ObjC/ANTLR.framework.zip index f82b4246..83407585 100644 Binary files a/runtime/ObjC/ANTLR.framework.zip and b/runtime/ObjC/ANTLR.framework.zip differ diff --git a/runtime/ObjC/ANTLR.framework/Headers b/runtime/ObjC/ANTLR.framework/Headers deleted file mode 120000 index a177d2a6..00000000 --- a/runtime/ObjC/ANTLR.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLR.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLR.h new file mode 100644 index 00000000..671e783d --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLR.h @@ -0,0 +1,60 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import +#import +#import +#import +#import +#import +#import +#import + +#import +#import +#import +#import +#import +#import +#import +#import +#import + +#import +#import + +#import +#import +#import +#import +#import +#import +#import + +#import +#import diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseMapElement.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseMapElement.h new file mode 100644 index 00000000..b9100ac2 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseMapElement.h @@ -0,0 +1,54 @@ +// +// ANTLRBaseMapElement.h +// ANTLR +// +// Created by Alan Condit on 6/16/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRLinkBase.h" + +@interface ANTLRBaseMapElement : ANTLRLinkBase { + NSNumber *index; +} + +@property (retain, getter=getIndex, setter=setIndex:) NSNumber *index; + ++ (id) newANTLRBaseMapElement; ++ (id) newANTLRBaseMapElementWithIndex:(NSNumber *)anIdx; +- (id) init; +- (id) initWithAnIndex:(NSNumber *)anIdx; + +- (id) copyWithZone:(NSZone *)aZone; + +- (NSNumber *)getIndex; +- (void)setIndex:(NSNumber *)anIdx; + +- (NSInteger)count; +- (NSInteger)size; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseRecognizer.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseRecognizer.h new file mode 100644 index 00000000..1a922bda --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseRecognizer.h @@ -0,0 +1,183 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import + +#import "ANTLRIntStream.h" + +// This is an abstract superclass for lexers and parsers. + +#define ANTLR_MEMO_RULE_FAILED -2 +#define ANTLR_MEMO_RULE_UNKNOWN -1 +#define ANTLR_INITIAL_FOLLOW_STACK_SIZE 100 + +#import "ANTLRMapElement.h" +#import "ANTLRBitSet.h" +#import "ANTLRToken.h" +#import "ANTLRRecognizerSharedState.h" +#import "ANTLRRecognitionException.h" +#import "ANTLRMissingTokenException.h" +#import "ANTLRMismatchedTokenException.h" +#import "ANTLRMismatchedTreeNodeException.h" +#import "ANTLRUnwantedTokenException.h" +#import "ANTLRNoViableAltException.h" +#import "ANTLREarlyExitException.h" +#import "ANTLRMismatchedSetException.h" +#import "ANTLRMismatchedNotSetException.h" +#import "ANTLRFailedPredicateException.h" + +@interface ANTLRBaseRecognizer : NSObject { + ANTLRRecognizerSharedState *state; // the state of this recognizer. Might be shared with other recognizers, e.g. in grammar import scenarios. + NSString *grammarFileName; // where did the grammar come from. filled in by codegeneration +// BOOL failed; + NSString *sourceName; +// NSInteger numberOfSyntaxErrors; + NSArray *tokenNames; +} + +@property (retain, getter=getState, setter=setState) ANTLRRecognizerSharedState *state; +@property (retain, getter=getGrammarFileName, setter=setGrammarFileName) NSString *grammarFileName; +//@property (assign, getter=getFailed, setter=setFailed) BOOL failed; +@property (retain, getter=getTokenNames, setter=setTokenNames) NSArray *tokenNames; +@property (retain, getter=getSourceName, setter=setSourceName) NSString *sourceName; +//@property (assign, getter=getNumberOfSyntaxErrors, setter=setNumberOfSyntaxErrors) NSInteger numberOfSyntaxErrors; + ++ (void) initialize; + ++ (ANTLRBaseRecognizer *) newANTLRBaseRecognizer; ++ (ANTLRBaseRecognizer *) newANTLRBaseRecognizerWithRuleLen:(NSInteger)aLen; ++ (ANTLRBaseRecognizer *) newANTLRBaseRecognizer:(ANTLRRecognizerSharedState *)aState; + ++ (NSArray *)getTokenNames; ++ (void)setTokenNames:(NSArray *)aTokNamArray; ++ (void)setGrammarFileName:(NSString *)aFileName; + +- (id) init; +- (id) initWithLen:(NSInteger)aLen; +- (id) initWithState:(ANTLRRecognizerSharedState *)aState; + +- (void) dealloc; + +// simple accessors +- (NSInteger) getBacktrackingLevel; +- (void) setBacktrackingLevel:(NSInteger) level; + +- (BOOL) getFailed; +- (void) setFailed: (BOOL) flag; + +- (ANTLRRecognizerSharedState *) getState; +- (void) setState:(ANTLRRecognizerSharedState *) theState; + +// reset this recognizer - might be extended by codegeneration/grammar +- (void) reset; + +/** Match needs to return the current input symbol, which gets put + * into the label for the associated token ref; e.g., x=ID. Token + * and tree parsers need to return different objects. Rather than test + * for input stream type or change the IntStream interface, I use + * a simple method to ask the recognizer to tell me what the current + * input symbol is. + * + * This is ignored for lexers. + */ +- (id) getInput; + +- (void)skip; + +// do actual matching of tokens/characters +- (id) match:(id)anInput TokenType:(NSInteger)ttype Follow:(ANTLRBitSet *)follow; +- (void) matchAny:(id)anInput; +- (BOOL) mismatchIsUnwantedToken:(id)anInput TokenType:(NSInteger) ttype; +- (BOOL) mismatchIsMissingToken:(id)anInput Follow:(ANTLRBitSet *)follow; + +// error reporting and recovery +- (void) reportError:(ANTLRRecognitionException *)e; +- (void) displayRecognitionError:(NSArray *)theTokNams Exception:(ANTLRRecognitionException *)e; +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSArray *)theTokNams; +- (NSInteger) getNumberOfSyntaxErrors; +- (NSString *)getErrorHeader:(ANTLRRecognitionException *)e; +- (NSString *)getTokenErrorDisplay:(id)t; +- (void) emitErrorMessage:(NSString *)msg; +- (void) recover:(id)anInput Exception:(ANTLRRecognitionException *)e; + +// begin hooks for debugger +- (void) beginResync; +- (void) endResync; +// end hooks for debugger + +// compute the bitsets necessary to do matching and recovery +- (ANTLRBitSet *)computeErrorRecoverySet; +- (ANTLRBitSet *)computeContextSensitiveRuleFOLLOW; +- (ANTLRBitSet *)combineFollows:(BOOL) exact; + +- (id) recoverFromMismatchedToken:(id)anInput + TokenType:(NSInteger)ttype + Follow:(ANTLRBitSet *)follow; + +- (id)recoverFromMismatchedSet:(id)anInput + Exception:(ANTLRRecognitionException *)e + Follow:(ANTLRBitSet *)follow; + +- (id) getCurrentInputSymbol:(id)anInput; +- (id) getMissingSymbol:(id)anInput + Exception:(ANTLRRecognitionException *)e + TokenType:(NSInteger) expectedTokenType + Follow:(ANTLRBitSet *)follow; + +// helper methods for recovery. try to resync somewhere +- (void) consumeUntilTType:(id)anInput TokenType:(NSInteger)ttype; +- (void) consumeUntilFollow:(id)anInput Follow:(ANTLRBitSet *)bitSet; +- (void) pushFollow:(ANTLRBitSet *)fset; +- (ANTLRBitSet *)popFollow; + +// to be used by the debugger to do reporting. maybe hook in incremental stuff here, too. +- (NSMutableArray *) getRuleInvocationStack; +- (NSMutableArray *) getRuleInvocationStack:(ANTLRRecognitionException *)exception + Recognizer:(NSString *)recognizerClassName; + +- (NSArray *) getTokenNames; +- (NSString *)getGrammarFileName; +- (NSString *)getSourceName; +- (NSMutableArray *) toStrings:(NSArray *)tokens; +// support for memoization +- (NSInteger) getRuleMemoization:(NSInteger)ruleIndex StartIndex:(NSInteger)ruleStartIndex; +- (BOOL) alreadyParsedRule:(id)anInput RuleIndex:(NSInteger)ruleIndex; +- (void) memoize:(id)anInput + RuleIndex:(NSInteger)ruleIndex + StartIndex:(NSInteger)ruleStartIndex; +- (NSInteger) getRuleMemoizationCacheSize; +- (void)traceIn:(NSString *)ruleName Index:(NSInteger)ruleIndex Object:(id)inputSymbol; +- (void)traceOut:(NSString *)ruleName Index:(NSInteger)ruleIndex Object:(id)inputSymbol; + + +// support for syntactic predicates. these are called indirectly to support funky stuff in grammars, +// like supplying selectors instead of writing code directly into the actions of the grammar. +- (BOOL) evaluateSyntacticPredicate:(SEL)synpredFragment; +// stream:(id)anInput; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseStack.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseStack.h new file mode 100644 index 00000000..50690311 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseStack.h @@ -0,0 +1,66 @@ +// +// ANTLRBaseRecognizer.m +// ANTLR +// +// Created by Alan Condit on 6/16/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRPtrBuffer.h" + +//#define GLOBAL_SCOPE 0 +//#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRBaseStack : ANTLRPtrBuffer { + //ANTLRRuleStack *fNext; + // TStringPool *fPool; + NSInteger LastHash; +} + +//@property (copy) ANTLRRuleStack *fNext; +@property (getter=getLastHash, setter=setLastHash) NSInteger LastHash; + +// Contruction/Destruction ++ (ANTLRBaseStack *)newANTLRBaseStack; ++ (ANTLRBaseStack *)newANTLRBaseStackWithLen:(NSInteger)cnt; +- (id)init; +- (id)initWithLen:(NSInteger)cnt; +- (void)dealloc; + +// Instance Methods +- (id) copyWithZone:(NSZone *)aZone; + +- (NSInteger)count; +- (NSInteger)size; +/* clear -- reinitialize the maplist array */ + +- (NSInteger)getLastHash; +- (void)setLastHash:(NSInteger)aVal; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseTree.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseTree.h new file mode 100644 index 00000000..96513f88 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseTree.h @@ -0,0 +1,199 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import "ANTLRTree.h" + +@protocol ANTLRBaseTree + +@property (retain, getter=getChildren, setter=setChildren) NSMutableArray *children; + ++ (id) newANTLRBaseTree; ++ (id) newANTLRBaseTree:(id)node; + +- (id) init; +- (id) initWith:(id)node; + +- (id) getChild:(NSUInteger)i; +- (NSMutableArray *)getChildren; +- (void) setChildren:(NSMutableArray *)anArray; +- (id)getFirstChildWithType:(NSInteger)type; +- (NSUInteger) getChildCount; + +// Add t as a child to this node. If t is null, do nothing. If t +// is nil, add all children of t to this' children. + +- (void) addChild:(id) tree; +- (void) addChildren:(NSArray *) theChildren; +//- (void) removeAllChildren; + +- (void) setChild:(NSInteger) i With:(id)t; +- (id) deleteChild:(NSInteger) i; +- (NSMutableArray *) createChildrenList; +- (void) replaceChildrenFrom:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id) t; +// Indicates the node is a nil node but may still have children, meaning +// the tree is a flat list. + +- (BOOL) isNil; +- (NSInteger) getTokenStartIndex; +- (void) setTokenStartIndex:(NSInteger) index; +- (NSInteger) getTokenStopIndex; +- (void) setTokenStopIndex:(NSInteger) index; + +- (void) freshenParentAndChildIndexes; +- (void) freshenParentAndChildIndexes:(NSInteger) offset; +- (void) sanityCheckParentAndChildIndexes; +- (void) sanityCheckParentAndChildIndexes:(id) parent At:(NSInteger) i; + +- (NSInteger) getChildIndex; +- (void) setChildIndex:(NSInteger)i; + +- (id)getAncestor:(NSInteger)ttype; +- (NSMutableArray *)getAncestors; + +#pragma mark Copying +- (id) copyWithZone:(NSZone *)aZone; // the children themselves are not copied here! +- (id) deepCopy; // performs a deepCopyWithZone: with the default zone +- (id) deepCopyWithZone:(NSZone *)aZone; + +#pragma mark Tree Parser support +- (NSInteger) getType; +- (NSString *) getText; +// In case we don't have a token payload, what is the line for errors? +- (NSInteger) getLine; +- (NSInteger) getCharPositionInLine; + + +#pragma mark Informational +- (NSString *) treeDescription; +- (NSString *) description; + +- (NSString *) toString; +- (NSString *) toStringTree; + +@end + +@interface ANTLRBaseTree : NSObject +{ + NSMutableArray *children; + NSException *anException; +} + +@property (retain, getter=getChildren, setter=setChildren) NSMutableArray *children; + ++ (id) newANTLRBaseTree; ++ (id) newANTLRBaseTree:(id)node; + +- (id) init; +- (id) initWith:(id)node; + +- (id) getChild:(NSUInteger)i; +- (NSMutableArray *)getChildren; +- (void) setChildren:(NSMutableArray *)anArray; +- (id)getFirstChildWithType:(NSInteger)type; +- (NSUInteger) getChildCount; + +//- (void) removeAllChildren; + +// Add t as a child to this node. If t is null, do nothing. If t +// is nil, add all children of t to this' children. + +- (void) addChild:(id) tree; +- (void) addChildren:(NSArray *) theChildren; + +- (void) setChild:(NSInteger) i With:(id)t; +- (id) deleteChild:(NSInteger) i; +- (NSMutableArray *) createChildrenList; +- (void) replaceChildrenFrom:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id) t; +// Indicates the node is a nil node but may still have children, meaning + // the tree is a flat list. + +- (BOOL) isNil; +- (NSInteger) getTokenStartIndex; +- (void) setTokenStartIndex:(NSInteger) index; +- (NSInteger) getTokenStopIndex; +- (void) setTokenStopIndex:(NSInteger) index; + +- (void) freshenParentAndChildIndexes; +- (void) freshenParentAndChildIndexes:(NSInteger) offset; +- (void) sanityCheckParentAndChildIndexes; +- (void) sanityCheckParentAndChildIndexes:(id) parent At:(NSInteger) i; + +- (NSInteger) getChildIndex; +- (void) setChildIndex:(NSInteger)i; + +- (BOOL) hasAncestor:(NSInteger) ttype; +- (id)getAncestor:(NSInteger)ttype; +- (NSMutableArray *)getAncestors; + +- (id) copyWithZone:(NSZone *)aZone; +- (id) deepCopy; // performs a deepCopyWithZone: with the default zone +- (id) deepCopyWithZone:(NSZone *)aZone; + + // Return a token type; needed for tree parsing +- (NSInteger) getType; +- (NSString *) getText; + + // In case we don't have a token payload, what is the line for errors? +- (NSInteger) getLine; +- (NSInteger) getCharPositionInLine; +- (void) setCharPositionInLine:(NSInteger)pos; + +- (NSString *) treeDescription; +- (NSString *) description; +- (NSString *) toString; +- (NSString *) toStringTree; + +@end + +@interface ANTLRTreeNavigationNode : ANTLRBaseTree { +} +- (id) copyWithZone:(NSZone *)aZone; +@end + +@interface ANTLRTreeNavigationNodeDown : ANTLRTreeNavigationNode { +} ++ (ANTLRTreeNavigationNodeDown *) getNavigationNodeDown; +- (NSInteger) tokenType; +- (NSString *) description; +@end + +@interface ANTLRTreeNavigationNodeUp : ANTLRTreeNavigationNode { +} ++ (ANTLRTreeNavigationNodeUp *) getNavigationNodeUp; +- (NSInteger) tokenType; +- (NSString *) description; +@end + +@interface ANTLRTreeNavigationNodeEOF : ANTLRTreeNavigationNode { +} ++ (ANTLRTreeNavigationNodeEOF *) getNavigationNodeEOF; +- (NSInteger) tokenType; +- (NSString *) description; +@end + +extern ANTLRTreeNavigationNodeDown *navigationNodeDown; +extern ANTLRTreeNavigationNodeUp *navigationNodeUp; +extern ANTLRTreeNavigationNodeEOF *navigationNodeEOF; diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseTreeAdaptor.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseTreeAdaptor.h new file mode 100644 index 00000000..b4f8dad0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBaseTreeAdaptor.h @@ -0,0 +1,163 @@ +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreeAdaptor.h" +#import "ANTLRCommonErrorNode.h" +#import "ANTLRUniqueIDMap.h" + +@interface ANTLRBaseTreeAdaptor : NSObject { + ANTLRUniqueIDMap *treeToUniqueIDMap; + NSInteger uniqueNodeID; +} + +@property (retain, getter=getTreeToUniqueIDMap, setter=setTreeToUniqueIDMap:) ANTLRUniqueIDMap *treeToUniqueIDMap; +@property (getter=getUniqueNodeID, setter=setUniqueNodeID:) NSInteger uniqueNodeID; + ++ (id) newEmptyTree; + +- (id) init; + +- (id) copyWithZone:(NSZone *)aZone; + +- (id) emptyNode; + +- (ANTLRUniqueIDMap *)getTreeToUniqueIDMap; +- (void) setTreeToUniqueIDMap:(ANTLRUniqueIDMap *)aMapNode; + +- (NSInteger)getUniqueID; +- (void) setUniqueNodeID:(NSInteger)aUniqueNodeID; + +/** create tree node that holds the start and stop tokens associated + * with an error. + * + * If you specify your own kind of tree nodes, you will likely have to + * override this method. CommonTree returns Token.INVALID_TOKEN_TYPE + * if no token payload but you might have to set token type for diff + * node type. + * + * You don't have to subclass CommonErrorNode; you will likely need to + * subclass your own tree node class to avoid class cast exception. + */ +- (id) errorNode:(id)anInput + From:(id)startToken + To:(id)stopToken + Exception:(NSException *) e; + +- (BOOL) isNil:(id) aTree; + +- (id)dupTree:(id)aTree; +/** This is generic in the sense that it will work with any kind of + * tree (not just Tree interface). It invokes the adaptor routines + * not the tree node routines to do the construction. + */ +- (id)dupTree:(id)aTree Parent:(id)parent; +- (id)dupNode:(id)aNode; +/** Add a child to the tree t. If child is a flat tree (a list), make all + * in list children of t. Warning: if t has no children, but child does + * and child isNil then you can decide it is ok to move children to t via + * t.children = child.children; i.e., without copying the array. Just + * make sure that this is consistent with have the user will build + * ASTs. + */ +- (void) addChild:(id)aChild toTree:(id)aTree; + +/** If oldRoot is a nil root, just copy or move the children to newRoot. + * If not a nil root, make oldRoot a child of newRoot. + * + * old=^(nil a b c), new=r yields ^(r a b c) + * old=^(a b c), new=r yields ^(r ^(a b c)) + * + * If newRoot is a nil-rooted single child tree, use the single + * child as the new root node. + * + * old=^(nil a b c), new=^(nil r) yields ^(r a b c) + * old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + * + * If oldRoot was null, it's ok, just return newRoot (even if isNil). + * + * old=null, new=r yields r + * old=null, new=^(nil r) yields ^(nil r) + * + * Return newRoot. Throw an exception if newRoot is not a + * simple node or nil root with a single child node--it must be a root + * node. If newRoot is ^(nil x) return x as newRoot. + * + * Be advised that it's ok for newRoot to point at oldRoot's + * children; i.e., you don't have to copy the list. We are + * constructing these nodes so we should have this control for + * efficiency. + */ +- (id)becomeRoot:(id)aNewRoot old:(id)oldRoot; + +/** Transform ^(nil x) to x and nil to null */ +- (id)rulePostProcessing:(id)aRoot; + +- (id)becomeRootfromToken:(id)aNewRoot old:(id)oldRoot; + +- (id)createTree:(NSInteger)aTType With:(id)aFromToken; + +- (id)createTree:(NSInteger)aTType FromToken:(id)aFromToken Text:(NSString *)theText; + +- (id)createTree:(NSInteger)aTType Text:(NSString *)theText; + +- (NSInteger) getType:(id)aTree; + +- (void) setType:(id)aTree Type:(NSInteger)type; + +- (NSString *)getText:(id)aTree; + +- (void) setText:(id)aTree Text:(NSString *)theText; + +- (id) getChild:(id)aTree At:(NSInteger)i; + +- (void) setChild:(id)aTree At:(NSInteger)index Child:(id)aChild; + +- (id) deleteChild:(id)aTree Index:(NSInteger)index; + +- (NSInteger) getChildCount:(id)aTree; + +- (NSInteger) getUniqueID:(id)node; + +/** Tell me how to create a token for use with imaginary token nodes. + * For example, there is probably no input symbol associated with imaginary + * token DECL, but you need to create it as a payload or whatever for + * the DECL node as in ^(DECL type ID). + * + * This is a variant of createToken where the new token is derived from + * an actual real input token. Typically this is for converting '{' + * tokens to BLOCK etc... You'll see + * + * r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + * + * If you care what the token payload objects' type is, you should + * override this method and any other createToken variant. + */ +- (id)createToken:(NSInteger)aTType Text:(NSString *)theText; + +- (id)createToken:(id)aFromToken; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRBitSet.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBitSet.h new file mode 100644 index 00000000..a1be1175 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBitSet.h @@ -0,0 +1,93 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import +#import "ANTLRToken.h" + +#define BITS (sizeof(NSUInteger) * 8) +#define LOG_BITS ((sizeof(NSUInteger)==8)?6:5) + +// A simple wrapper around CoreFoundation bit vectors to shield the rest of the implementation +// from the specifics of the BitVector initialization and query functions. +// This is fast, so there is no need to reinvent the wheel just yet. + +@interface ANTLRBitSet : NSObject < NSMutableCopying > { + CFMutableBitVectorRef bitVector; +} + +#pragma mark Class Methods + ++ (ANTLRBitSet *) newANTLRBitSet; ++ (ANTLRBitSet *) newANTLRBitSetWithType:(ANTLRTokenType)type; +/** Construct a ANTLRBitSet given the size + * @param nbits The size of the ANTLRBitSet in bits + */ ++ (ANTLRBitSet *) newANTLRBitSetWithNBits:(NSUInteger)nbits; ++ (ANTLRBitSet *) newANTLRBitSetWithArray:(NSMutableArray *)types; ++ (ANTLRBitSet *) newANTLRBitSetWithBits:(const unsigned long long *)theBits Count:(NSUInteger)longCount; + ++ (ANTLRBitSet *) of:(NSUInteger)el; ++ (ANTLRBitSet *) of:(NSUInteger)a And2:(NSUInteger)b; ++ (ANTLRBitSet *) of:(NSUInteger)a And2:(NSUInteger)b And3:(NSUInteger)c; ++ (ANTLRBitSet *) of:(NSUInteger)a And2:(NSUInteger)b And3:(NSUInteger)c And4:(NSUInteger)d; + +#pragma mark Initializer + +- (ANTLRBitSet *) init; +- (ANTLRBitSet *) initWithType:(ANTLRTokenType)type; +- (ANTLRBitSet *) initWithNBits:(NSUInteger)nbits; +- (ANTLRBitSet *) initWithBitVector:(CFMutableBitVectorRef)theBitVector; +- (ANTLRBitSet *) initWithBits:(const unsigned long long const*)theBits Count:(NSUInteger)theCount; +- (ANTLRBitSet *) initWithArrayOfBits:(NSArray *)theArray; + +#pragma mark Operations +- (ANTLRBitSet *) or:(ANTLRBitSet *) aBitSet; +- (void) orInPlace:(ANTLRBitSet *) aBitSet; +- (void) add:(NSUInteger) bit; +- (void) remove:(NSUInteger) bit; +- (void) setAllBits:(BOOL) aState; + +- (NSInteger) numBits; +- (NSUInteger) size; +- (void) setSize:(NSUInteger) noOfWords; + +#pragma mark Informational +- (unsigned long long) bitMask:(NSUInteger) bitNumber; +- (BOOL) member:(NSUInteger)bitNumber; +- (BOOL) isNil; +- (NSString *) toString; +- (NSString *) description; + +#pragma mark NSCopying support + +- (id) mutableCopyWithZone:(NSZone *) theZone; + + +//private +- (CFMutableBitVectorRef) _bitVector; +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRBufferedTokenStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBufferedTokenStream.h new file mode 100644 index 00000000..198a6f70 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBufferedTokenStream.h @@ -0,0 +1,98 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTokenStream.h" +#import "ANTLRTokenSource.h" +#import "ANTLRBitSet.h" + +@interface ANTLRBufferedTokenStream : NSObject +{ +id tokenSource; + + /** Record every single token pulled from the source so we can reproduce + * chunks of it later. The buffer in LookaheadStream overlaps sometimes + * as its moving window moves through the input. This list captures + * everything so we can access complete input text. + */ +NSMutableArray *tokens; + + /** Track the last mark() call result value for use in rewind(). */ +NSInteger lastMarker; + + /** The index into the tokens list of the current token (next token + * to consume). tokens[p] should be LT(1). p=-1 indicates need + * to initialize with first token. The ctor doesn't get a token. + * First call to LT(1) or whatever gets the first token and sets p=0; + */ +NSInteger p; + +NSInteger range; // how deep have we gone? + +} +@property (retain, getter=getTokenSource,setter=setTokenSource) id tokenSource; +@property (retain, getter=getTokens,setter=setTokens) NSMutableArray *tokens; +@property (assign, getter=getLastMarker,setter=setLastMarker) NSInteger lastMarker; +@property (assign, getter=getIndex,setter=setIndex) NSInteger p; +@property (assign, getter=getRange,setter=setRange) NSInteger range; + ++ (ANTLRBufferedTokenStream *) newANTLRBufferedTokenStream; ++ (ANTLRBufferedTokenStream *) newANTLRBufferedTokenStreamWith:(id)aSource; +- (id) initWithSource:(id)aSource; +- (id) copyWithZone:(NSZone *)aZone; +- (NSInteger) getIndex; +- (void) setIndex:(NSInteger)index; +- (NSInteger) getRange; +- (void) setRange:(NSInteger)anInt; +- (NSInteger) mark; +- (void) release:(NSInteger) marker; +- (void) rewind:(NSInteger) marker; +- (void) rewind; +- (void) reset; +- (void) seek:(NSInteger) index; +- (NSInteger) size; +- (void) consume; +- (void) sync:(NSInteger) i; +- (void) fetch:(NSInteger) n; +- (id) getToken:(NSInteger) i; +- (NSMutableArray *)getFrom:(NSInteger)startIndex To:(NSInteger) stopIndex; +- (NSInteger) LA:(NSInteger)k; +- (id) LT:(NSInteger) k; +- (id) LB:(NSInteger) k; +- (void) setup; +- (id) getTokenSource; +- (void) setTokenSource:(id) aTokenSource; +- (NSMutableArray *)getTokens; +- (NSString *) getSourceName; +- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex; +- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex With:(ANTLRBitSet *)types; +- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithList:(NSMutableArray *)types; +- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithType:(NSInteger)ttype; +- (NSString *) toStringFromStart:(NSInteger)startIndex ToEnd:(NSInteger)stopIndex; +- (NSString *) toStringFromToken:(id)startIndex ToToken:(id)stopIndex; +- (void) fill; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRBufferedTreeNodeStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBufferedTreeNodeStream.h new file mode 100644 index 00000000..8618ea27 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRBufferedTreeNodeStream.h @@ -0,0 +1,156 @@ +// +// ANTLRBufferedTreeNodeStream.h +// ANTLR +// +// [The "BSD licence"] +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTree.h" +#import "ANTLRCommonTreeAdaptor.h" +#import "ANTLRTokenStream.h" +#import "ANTLRCommonTreeNodeStream.h" +#import "ANTLRLookaheadStream.h" +#import "ANTLRTreeIterator.h" +#import "ANTLRIntArray.h" + +#define DEFAULT_INITIAL_BUFFER_SIZE 100 +#define INITIAL_CALL_STACK_SIZE 10 + +#ifdef DONTUSENOMO +@interface ANTLRStreamIterator : ANTLRTreeIterator +{ + NSInteger idx; + ANTLRBufferedTreeNodeStream input; + NSMutableArray *nodes; +} + ++ (id) newANTLRStreamIterator:(ANTLRBufferedTreeNodeStream *) theStream; + +- (id) initWithStream:(ANTLRBufferedTreeNodeStream *) theStream; + +- (BOOL) hasNext; +- (id) next; +- (void) remove; +@end +#endif + +@interface ANTLRBufferedTreeNodeStream : NSObject +{ + id up; + id down; + id eof; + + NSMutableArray *nodes; + + id root; // root + + id tokens; + ANTLRCommonTreeAdaptor *adaptor; + + BOOL uniqueNavigationNodes; + NSInteger p; + NSInteger lastMarker; + ANTLRIntArray *calls; + + NSEnumerator *e; + id currentSymbol; + +} + +@property (retain, getter=getUp, setter=setUp:) id up; +@property (retain, getter=getDown, setter=setDown:) id down; +@property (retain, getter=getEof, setter=setEof:) id eof; +@property (retain, getter=getNodes, setter=setNodes:) NSMutableArray *nodes; +@property (retain, getter=getTreeSource, setter=setTreeSource:) id root; +@property (retain, getter=getTokenStream, setter=setTokenStream:) id tokens; +@property (retain, getter=getAdaptor, setter=setAdaptor:) ANTLRCommonTreeAdaptor *adaptor; +@property (assign, getter=getUniqueNavigationNodes, setter=setUniqueNavigationNodes:) BOOL uniqueNavigationNodes; +@property (assign, getter=getIndex, setter=setIndex:) NSInteger p; +@property (assign, getter=getLastMarker, setter=setLastMarker:) NSInteger lastMarker; +@property (retain, getter=getCalls, setter=setCalls:) ANTLRIntArray *calls; +@property (retain, getter=getEnum, setter=setEnum:) NSEnumerator *e; +@property (retain, getter=getCurrentSymbol, setter=setCurrentSymbol:) id currentSymbol; + ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)tree; ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(id)tree; ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(id)tree withBufferSize:(NSInteger)initialBufferSize; + +#pragma mark Constructor +- (id) initWithTree:(id)tree; +- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(id)tree; +- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(id)tree WithBufferSize:(NSInteger)bufferSize; + +- (id) copyWithZone:(NSZone *)aZone; + +// protected methods. DO NOT USE +#pragma mark Protected Methods +- (void) fillBuffer; +- (void) fillBufferWithTree:(id) tree; +- (NSInteger) getNodeIndex:(id) node; +- (void) addNavigationNode:(NSInteger) type; +- (id) getNode:(NSInteger) i; +- (id) LT:(NSInteger) k; +- (id) getCurrentSymbol; +- (id) LB:(NSInteger) i; +#pragma mark General Methods +- (NSString *) getSourceName; + +- (id) getTokenStream; +- (void) setTokenStream:(id) tokens; +- (id) getTreeAdaptor; +- (void) setTreeAdaptor:(id) anAdaptor; + +- (BOOL)getUniqueNavigationNodes; +- (void) setUniqueNavigationNodes:(BOOL)aVal; + +- (void) consume; +- (NSInteger) LA:(NSInteger) i; +- (NSInteger) mark; +- (void) release:(NSInteger) marker; +- (NSInteger) getIndex; +- (void) setIndex:(NSInteger) idx; +- (void) rewind:(NSInteger) marker; +- (void) rewind; +- (void) seek:(NSInteger) idx; + +- (void) push:(NSInteger) i; +- (NSInteger) pop; + +- (void) reset; +- (NSUInteger) count; +- (NSEnumerator *) objectEnumerator; +- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id) t; + +- (NSString *) toTokenTypeString; +- (NSString *) toTokenString:(NSInteger)aStart ToEnd:(NSInteger)aStop; +- (NSString *) toStringFromNode:(id)aStart ToNode:(id)aStop; + +// getters and setters +- (NSMutableArray *) getNodes; +- (id) getEof; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRCharStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCharStream.h new file mode 100644 index 00000000..379734b3 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCharStream.h @@ -0,0 +1,55 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import "ANTLRIntStream.h" + +#define ANTLRCharStreamEOF -1 + + +@protocol ANTLRCharStream < ANTLRIntStream > + +- (NSString *) substringWithRange:(NSRange) theRange; + +/** Get the ith character of lookahead. This is the same usually as + * LA(i). This will be used for labels in the generated + * lexer code. I'd prefer to return a char here type-wise, but it's + * probably better to be 32-bit clean and be consistent with LA. + */ +- (NSInteger)LT:(NSInteger) i; + +// ANTLR tracks the line information automatically +- (NSInteger) getLine; + +// Because this stream can rewind, we need to be able to reset the line +- (void) setLine:(NSInteger) theLine; + +// The index of the character relative to the beginning of the line 0..n-1 +- (NSInteger) getCharPositionInLine; + +- (void) setCharPositionInLine:(NSInteger) thePos; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRCharStreamState.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCharStreamState.h new file mode 100644 index 00000000..2787c762 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCharStreamState.h @@ -0,0 +1,58 @@ +// +// ANTLRCharStreamState.h +// ANTLR +// +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + + +@interface ANTLRCharStreamState : NSObject +{ +NSInteger p; +NSInteger line; +NSInteger charPositionInLine; +} + +@property (getter=getP,setter=setP:) NSInteger p; +@property (getter=getLine,setter=setLine:) NSInteger line; +@property (getter=getCharPositionInLine,setter=setCharPositionInLine:) NSInteger charPositionInLine; + ++ newANTLRCharStreamState; + +- (id) init; + +- (NSInteger) getP; +- (void) setP: (NSInteger) anIndex; + +- (NSInteger) getLine; +- (void) setLine: (NSInteger) aLine; + +- (NSInteger) getCharPositionInLine; +- (void) setCharPositionInLine:(NSInteger)aCharPositionInLine; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonErrorNode.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonErrorNode.h new file mode 100644 index 00000000..79badc1d --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonErrorNode.h @@ -0,0 +1,63 @@ +// +// ANTLRCommonErrorNode.h +// ANTLR +// +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTree.h" +#import "ANTLRTokenStream.h" +//#import "ANTLRIntStream.h" +//#import "ANTLRToken.h" +#import "ANTLRUnWantedTokenException.h" + +@interface ANTLRCommonErrorNode : ANTLRCommonTree +{ +id input; +id startToken; +id stopToken; +ANTLRRecognitionException *trappedException; +} + ++ (id) newANTLRCommonErrorNode:(id)anInput + From:(id)startToken + To:(id)stopToken + Exception:(ANTLRRecognitionException *) e; + +- (id) initWithInput:(id)anInput + From:(id)startToken + To:(id)stopToken + Exception:(ANTLRRecognitionException *) e; +- (BOOL) isNil; + +- (NSInteger) getType; + +- (NSString *) getText; + +- (NSString *) toString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonToken.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonToken.h new file mode 100644 index 00000000..86623788 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonToken.h @@ -0,0 +1,105 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRToken.h" +#import "ANTLRCharStream.h" + +@interface ANTLRCommonToken : NSObject < ANTLRToken > { + NSString *text; + NSInteger type; + // information about the Token's position in the input stream + NSUInteger line; + NSUInteger charPositionInLine; + NSUInteger channel; + // this token's position in the TokenStream + NSUInteger index; + + // indices into the CharStream to avoid copying the text + // can manually override the text by using -setText: + NSUInteger startIndex; + NSUInteger stopIndex; + // the actual input stream this token was found in + id input; +} + +@property (retain, getter=getText, setter=setText:) NSString *text; +@property (assign, getter=getType, setter=setType:) NSInteger type; +@property (assign, getter=getLine, setter=setLine:) NSUInteger line; +@property (assign, getter=getCharPositionInLine, setter=setCharPositionInLine:) NSUInteger charPositionInLine; +@property (assign, getter=getChannel, setter=setChannel:) NSUInteger channel; +@property (assign, getter=getTokenIndex, setter=setTokenIndex:) NSUInteger index; +@property (assign, getter=getStart, setter=setStart:) NSUInteger startIndex; +@property (assign, getter=getStop, setter=setStop:) NSUInteger stopIndex; +@property (retain, getter=getInput, setter=setInput:) id input; + ++ (void) initialize; ++ (ANTLRCommonToken *) newANTLRCommonToken; ++ (ANTLRCommonToken *) newANTLRCommonToken:(id)anInput + Type:(NSInteger)aTType + Channel:(NSInteger)aChannel + Start:(NSInteger)aStart + Stop:(NSInteger)aStop; ++ (ANTLRCommonToken *) newANTLRCommonToken:(ANTLRTokenType)aType; ++ (id) newANTLRCommonToken:(NSInteger)tokenType Text:(NSString *)tokenText; ++ (id) newANTLRCommonTokenWithToken:(id)fromToken; ++ (id) eofToken; ++ (id) skipToken; ++ (id) invalidToken; ++ (ANTLRTokenChannel) defaultChannel; + +// designated initializer. This is used as the default way to initialize a Token in the generated code. +- (ANTLRCommonToken *) init; +- (ANTLRCommonToken *) initWithInput:(id)anInput + Type:(NSInteger)aTType + Channel:(NSInteger)aChannel + Start:(NSInteger)theStart + Stop:(NSInteger)theStop; +- (ANTLRCommonToken *) initWithToken:(ANTLRCommonToken *)aToken; +- (ANTLRCommonToken *) initWithType:(ANTLRTokenType)aType; +- (ANTLRCommonToken *) initWithType:(ANTLRTokenType)aTType Text:(NSString *)tokenText; + +- (id) getInput; +- (void) setInput: (id) anInput; + +- (NSUInteger) getStart; +- (void) setStart: (NSUInteger) aStart; + +- (NSUInteger) getStop; +- (void) setStop: (NSUInteger) aStop; + +// the index of this Token into the TokenStream +- (NSUInteger) getTokenIndex; +- (void) setTokenIndex: (NSUInteger) aTokenIndex; + +// conform to NSCopying +- (id) copyWithZone:(NSZone *)theZone; + +- (NSString *) description; +- (NSString *) toString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTokenStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTokenStream.h new file mode 100644 index 00000000..59f9d5e3 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTokenStream.h @@ -0,0 +1,90 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTokenStream.h" +#import "ANTLRToken.h" +#import "ANTLRCommonToken.h" +#import "ANTLRTokenSource.h" +#import "ANTLRBitSet.h" +#import "ANTLRBufferedTokenStream.h" + +@interface ANTLRCommonTokenStream : ANTLRBufferedTokenStream < ANTLRTokenStream > +{ + NSMutableDictionary *channelOverride; + NSInteger channel; +} + +@property (retain, getter=getChannelOverride,setter=setChannelOverride) NSMutableDictionary *channelOverride; +@property (assign, getter=getChannel,setter=setChannel) NSInteger channel; + ++ (ANTLRCommonTokenStream *)newANTLRCommonTokenStream; ++ (ANTLRCommonTokenStream *)newANTLRCommonTokenStreamWithTokenSource:(id)theTokenSource; ++ (ANTLRCommonTokenStream *)newANTLRCommonTokenStreamWithTokenSource:(id)theTokenSource + Channel:(NSInteger)aChannel; + +- (id) init; +- (id) initWithTokenSource:(id)theTokenSource; +- (id) initWithTokenSource:(id)theTokenSource Channel:(NSInteger)aChannel; + +- (id) getTokenSource; +- (void) setTokenSource: (id) aTokenSource; + +- (void) consume; +- (id) LT:(NSInteger)k; +- (id) LB:(NSInteger)k; + +- (NSInteger) skipOffChannelTokens:(NSInteger) i; +- (NSInteger) skipOffChannelTokensReverse:(NSInteger) i; + +- (void)setup; + +- (NSArray *) tokensInRange:(NSRange)aRange; +- (NSArray *) tokensInRange:(NSRange)aRange inBitSet:(ANTLRBitSet *)aBitSet; +- (NSArray *) tokensInRange:(NSRange)aRange withTypes:(NSArray *)tokenTypes; +- (NSArray *) tokensInRange:(NSRange)aRange withType:(NSInteger)tokenType; + +- (id) getToken:(NSInteger)i; + +- (NSInteger) size; +- (NSInteger) getIndex; +- (void) rewind; +- (void) rewind:(NSInteger)marker; +- (void) seek:(NSInteger)index; + +- (NSString *) toString; +- (NSString *) toStringFromStart:(NSInteger)startIndex ToEnd:(NSInteger)stopIndex; +- (NSString *) toStringFromToken:(id)startToken ToToken:(id)stopToken; + +- (id) copyWithZone:(NSZone *)aZone; + +- (NSInteger)getChannel; +- (void)setChannel:(NSInteger)aChannel; + +- (NSMutableDictionary *)getChannelOverride; +- (void)setChannelOverride:(NSMutableDictionary *)anOverride; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTree.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTree.h new file mode 100644 index 00000000..09660515 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTree.h @@ -0,0 +1,88 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonToken.h" +#import "ANTLRBaseTree.h" + +@interface ANTLRCommonTree : ANTLRBaseTree { + ANTLRCommonToken *token; + NSInteger startIndex; + NSInteger stopIndex; + ANTLRCommonTree *parent; + NSInteger childIndex; +} + +@property (retain, getter=getANTLRCommonToken, setter=setANTLRCommonToken) ANTLRCommonToken *token; +@property (assign, getter=getTokenStartIndex, setter=setTokenStartIndex) NSInteger startIndex; +@property (assign, getter=getTokenStopIndex, setter=setTokenStopIndex) NSInteger stopIndex; +@property (retain, getter=getParent, setter=setParent:) ANTLRCommonTree *parent; +@property (assign, getter=getChildIndex, setter=setChildIndex) NSInteger childIndex; + ++ (ANTLRCommonTree *) invalidNode; ++ (ANTLRCommonTree *) newANTLRCommonTree; ++ (ANTLRCommonTree *) newANTLRCommonTreeWithTree:(ANTLRCommonTree *)aTree; ++ (ANTLRCommonTree *) newANTLRCommonTreeWithToken:(ANTLRCommonToken *)aToken; ++ (ANTLRCommonTree *) newANTLRCommonTreeWithTokenType:(NSInteger)tokenType; ++ (ANTLRCommonTree *) newANTLRCommonTreeWithTokenType:(NSInteger)aTType Text:(NSString *)theText; +#ifdef DONTUSEYET ++ (id) newANTLRCommonTreeWithTokenType:(NSInteger)tokenType; ++ (id) newANTLRCommonTreeWithToken:(id)fromToken TokenType:(NSInteger)tokenType; ++ (id) newANTLRCommonTreeWithToken:(id)fromToken TokenType:(NSInteger)tokenType Text:(NSString *)tokenText; ++ (id) newANTLRCommonTreeWithToken:(id)fromToken Text:(NSString *)tokenText; +#endif + +- (id) init; +- (id) initWithTreeNode:(ANTLRCommonTree *)aNode; +- (id) initWithToken:(ANTLRCommonToken *)aToken; +- (id) initWithTokenType:(NSInteger)aTokenType; +- (id) initWithTokenType:(NSInteger)aTokenType Text:(NSString *)theText; + +- (id) copyWithZone:(NSZone *)aZone; + +- (BOOL) isNil; + +- (ANTLRCommonToken *) getToken; +- (void) setToken:(ANTLRCommonToken *)aToken; +- (id) dupNode; +- (NSInteger) getType; +- (NSString *) getText; +- (NSUInteger) getLine; +- (NSUInteger) getCharPositionInLine; +- (ANTLRCommonTree *) getParent; +- (void) setParent:(ANTLRCommonTree *) t; + +#ifdef DONTUSENOMO +- (NSString *) treeDescription; +#endif +- (NSString *) description; +- (void) setUnknownTokenBoundaries; +- (NSInteger) getTokenStartIndex; +- (void) setTokenStartIndex: (NSInteger) aStartIndex; +- (NSInteger) getTokenStopIndex; +- (void) setTokenStopIndex: (NSInteger) aStopIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTreeAdaptor.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTreeAdaptor.h new file mode 100644 index 00000000..53287e61 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTreeAdaptor.h @@ -0,0 +1,62 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRTree.h" +#import "ANTLRCommonToken.h" +#import "ANTLRCommonTree.h" +#import "ANTLRBaseTreeAdaptor.h" + +@interface ANTLRCommonTreeAdaptor : ANTLRBaseTreeAdaptor { +} + ++ (id) newEmptyTree; ++ (ANTLRCommonTreeAdaptor *)newANTLRCommonTreeAdaptor; +- (id) init; +- (id)dupNode:(id)t; +- (ANTLRCommonTree *)createTree:(ANTLRCommonToken *)aToken; +- (ANTLRCommonTree *)createTree:(NSInteger)tokenType Text:(NSString *)text; +- (id)createToken:(NSInteger)tokenType Text:(NSString *)text; +- (void) setTokenBoundaries:(id)t From:(id)startToken To:(id)stopToken; +- (NSInteger)getTokenStartIndex:(id)t; +- (NSInteger)getTokenStopIndex:(id)t; +- (NSString *)getText:(id)t; +- (void)setText:(id)t Text:(NSString *)text; +- (NSInteger)getType:(id)t; +- (void) setType:(id)t Type:(NSInteger)tokenType; +- (id)getToken:(id)t; +- (id)getChild:(id)t At:(NSInteger)i; +- (void) setChild:(id)t At:(NSInteger)i Child:(id)child; +- (NSInteger)getChildCount:(id)t; +- (id)getParent:(id)t; +- (void)setParent:(id)t With:(id)parent; +- (NSInteger)getChildIndex:(id)t; +- (void)setChildIndex:(id)t With:(NSInteger)index; +- (void)replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; +- (id)copyWithZone:(NSZone *)zone; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTreeNodeStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTreeNodeStream.h new file mode 100644 index 00000000..4c68f2e0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRCommonTreeNodeStream.h @@ -0,0 +1,116 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTree.h" +#import "ANTLRCommonTreeNodeStream.h" +#import "ANTLRLookaheadStream.h" +#import "ANTLRTreeNodeStream.h" +#import "ANTLRTreeIterator.h" +#import "ANTLRIntArray.h" + +@interface ANTLRCommonTreeNodeStream : ANTLRLookaheadStream { +#define DEFAULT_INITIAL_BUFFER_SIZE 100 +#define INITIAL_CALL_STACK_SIZE 10 + +/** Pull nodes from which tree? */ +id root; + +/** If this tree (root) was created from a token stream, track it. */ +id tokens; + + /** What tree adaptor was used to build these trees */ +ANTLRCommonTreeAdaptor *adaptor; + +/** The tree iterator we using */ +ANTLRTreeIterator *it; + +/** Stack of indexes used for push/pop calls */ +ANTLRIntArray *calls; + +/** Tree (nil A B C) trees like flat A B C streams */ +BOOL hasNilRoot; + +/** Tracks tree depth. Level=0 means we're at root node level. */ +NSInteger level; +} +@property (retain, getter=getRoot, setter=setRoot:) ANTLRCommonTree *root; +@property (retain, getter=getTokens,setter=setTokens:) id tokens; +@property (retain, getter=getTreeAdaptor, setter=setTreeAdaptor:) ANTLRCommonTreeAdaptor *adaptor; + ++ (ANTLRCommonTreeNodeStream *) newANTLRCommonTreeNodeStream:(ANTLRCommonTree *)theTree; ++ (ANTLRCommonTreeNodeStream *) newANTLRCommonTreeNodeStream:(id)anAdaptor Tree:(ANTLRCommonTree *)theTree; + +- (id) initWithTree:(ANTLRCommonTree *)theTree; + +- (id) initWithTreeAdaptor:(id)adaptor Tree:(ANTLRCommonTree *)theTree; + +- (void) reset; + + /** Pull elements from tree iterator. Track tree level 0..max_level. + * If nil rooted tree, don't give initial nil and DOWN nor final UP. + */ +- (id) nextElement; + +- (BOOL) isEOF:(id) o; +- (void) setUniqueNavigationNodes:(BOOL) uniqueNavigationNodes; + +- (id) getTreeSource; + +- (NSString *) getSourceName; + +- (id) getTokenStream; + +- (void) setTokenStream:(id) tokens; + +- (ANTLRCommonTreeAdaptor *) getTreeAdaptor; + +- (void) setTreeAdaptor:(ANTLRCommonTreeAdaptor *) adaptor; + +- (NSInteger) LA:(NSInteger) i; + + /** Make stream jump to a new location, saving old location. + * Switch back with pop(). + */ +- (ANTLRCommonTree *)getNode:(NSInteger) i; + +- (void) push:(NSInteger) index; + + /** Seek back to previous index saved during last push() call. + * Return top of stack (return index). + */ +- (NSInteger) pop; + +// TREE REWRITE INTERFACE + +- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id) t; + +- (NSString *) toStringFromNode:(id)startNode ToNode:(id)stopNode; + +/** For debugging; destructive: moves tree iterator to end. */ +- (NSString *) toTokenTypeString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRDFA.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDFA.h new file mode 100644 index 00000000..9094a3d2 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDFA.h @@ -0,0 +1,75 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseRecognizer.h" +#import "ANTLRCharStream.h" +#import "ANTLRNoViableAltException.h" + +@interface ANTLRDFA : NSObject { + // the tables are set by subclasses to their own static versions. + const int *eot; + const int *eof; + const unichar *min; + const unichar *max; + const int *accept; + const int *special; + const int **transition; + + ANTLRBaseRecognizer *recognizer; + NSInteger decisionNumber; + NSInteger len; +} + +@property (retain, getter=getRecognizer,setter=setRecognizer:) ANTLRBaseRecognizer *recognizer; +@property (assign, getter=getDecision,setter=setDecision:) NSInteger decisionNumber; +@property (assign, getter=getLen,setter=setLen:) NSInteger len; + +- (id) initWithRecognizer:(id) theRecognizer; +// simulate the DFA using the static tables and predict an alternative +- (NSInteger) predict:(id)anInput; +- (void) noViableAlt:(NSInteger)state Stream:(id)anInput; + +- (NSInteger) specialStateTransition:(NSInteger)state Stream:(id)anInput; +// - (NSInteger) specialStateTransition:(NSInteger) state; +//- (unichar) specialTransition:(unichar) state symbol:(NSInteger) symbol; + +// hook for debugger support +- (void) error:(ANTLRNoViableAltException *)nvae; + +- (NSString *) description; +- (BOOL) evaluateSyntacticPredicate:(SEL)synpredFragment; + ++ (void) setIsEmittingDebugInfo:(BOOL) shouldEmitDebugInfo; + +- (NSInteger)getDecision; +- (void)setDecision:(NSInteger)aDecison; + +- (ANTLRBaseRecognizer *)getRecognizer; +- (void)setRecognizer:(ANTLRBaseRecognizer *)aRecognizer; +- (NSInteger)length; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebug.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebug.h new file mode 100644 index 00000000..87383c98 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebug.h @@ -0,0 +1,33 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import "ANTLRDebugEventListener.h" +#import "ANTLRDebugEventProxy.h" +#import "ANTLRDebugParser.h" +#import "ANTLRDebugTokenStream.h" +#import "ANTLRDebugTreeParser.h" +#import "ANTLRDebugTreeNodeStream.h" +#import "ANTLRDebugTreeAdaptor.h" diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugEventListener.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugEventListener.h new file mode 100644 index 00000000..c2bee6c8 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugEventListener.h @@ -0,0 +1,275 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRToken.h" +#import "ANTLRRecognitionException.h" + +@protocol ANTLRDebugEventListener + +#define ANTLRDebugProtocolVersion 1 + +/** The parser has just entered a rule. No decision has been made about +* which alt is predicted. This is fired AFTER init actions have been +* executed. Attributes are defined and available etc... +*/ +- (void) enterRule:(NSString *)ruleName; + +/** Because rules can have lots of alternatives, it is very useful to +* know which alt you are entering. This is 1..n for n alts. +*/ +- (void) enterAlt:(NSInteger)alt; + +/** This is the last thing executed before leaving a rule. It is +* executed even if an exception is thrown. This is triggered after +* error reporting and recovery have occurred (unless the exception is + * not caught in this rule). This implies an "exitAlt" event. +*/ +- (void) exitRule:(NSString *)ruleName; + +/** Track entry into any (...) subrule other EBNF construct */ +- (void) enterSubRule:(NSInteger)decisionNumber; + +- (void) exitSubRule:(NSInteger)decisionNumber; + +/** Every decision, fixed k or arbitrary, has an enter/exit event +* so that a GUI can easily track what LT/consume events are +* associated with prediction. You will see a single enter/exit +* subrule but multiple enter/exit decision events, one for each +* loop iteration. +*/ +- (void) enterDecision:(NSInteger)decisionNumber; + +- (void) exitDecision:(NSInteger)decisionNumber; + +/** An input token was consumed; matched by any kind of element. +* Trigger after the token was matched by things like match(), matchAny(). +*/ +- (void) consumeToken:(id)t; + +/** An off-channel input token was consumed. +* Trigger after the token was matched by things like match(), matchAny(). +* (unless of course the hidden token is first stuff in the input stream). +*/ +- (void) consumeHiddenToken:(id)t; + +/** Somebody (anybody) looked ahead. Note that this actually gets +* triggered by both LA and LT calls. The debugger will want to know +* which Token object was examined. Like consumeToken, this indicates +* what token was seen at that depth. A remote debugger cannot look +* ahead into a file it doesn't have so LT events must pass the token +* even if the info is redundant. +*/ +- (void) LT:(NSInteger)i foundToken:(id)t; + +/** The parser is going to look arbitrarily ahead; mark this location, +* the token stream's marker is sent in case you need it. +*/ +- (void) mark:(NSInteger)marker; + +/** After an arbitrairly long lookahead as with a cyclic DFA (or with +* any backtrack), this informs the debugger that stream should be +* rewound to the position associated with marker. +*/ +- (void) rewind:(NSInteger)marker; + +/** Rewind to the input position of the last marker. +* Used currently only after a cyclic DFA and just +* before starting a sem/syn predicate to get the +* input position back to the start of the decision. +* Do not "pop" the marker off the state. mark(i) +* and rewind(i) should balance still. +*/ +- (void) rewind; + +- (void) beginBacktrack:(NSInteger)level; + +- (void) endBacktrack:(NSInteger)level wasSuccessful:(BOOL)successful; + +/** To watch a parser move through the grammar, the parser needs to +* inform the debugger what line/charPos it is passing in the grammar. +* For now, this does not know how to switch from one grammar to the +* other and back for island grammars etc... +* +* This should also allow breakpoints because the debugger can stop +* the parser whenever it hits this line/pos. +*/ +- (void) locationLine:(NSInteger)line column:(NSInteger)pos; + +/** A recognition exception occurred such as NoViableAltException. I made +* this a generic event so that I can alter the exception hierachy later +* without having to alter all the debug objects. +* +* Upon error, the stack of enter rule/subrule must be properly unwound. +* If no viable alt occurs it is within an enter/exit decision, which +* also must be rewound. Even the rewind for each mark must be unwount. +* In the Java target this is pretty easy using try/finally, if a bit +* ugly in the generated code. The rewind is generated in DFA.predict() +* actually so no code needs to be generated for that. For languages +* w/o this "finally" feature (C++?), the target implementor will have +* to build an event stack or something. +* +* Across a socket for remote debugging, only the RecognitionException +* data fields are transmitted. The token object or whatever that +* caused the problem was the last object referenced by LT. The +* immediately preceding LT event should hold the unexpected Token or +* char. +* +* Here is a sample event trace for grammar: +* +* b : C ({;}A|B) // {;} is there to prevent A|B becoming a set +* | D +* ; +* +* The sequence for this rule (with no viable alt in the subrule) for +* input 'c c' (there are 3 tokens) is: +* +* commence +* LT(1) +* enterRule b +* location 7 1 +* enter decision 3 +* LT(1) +* exit decision 3 +* enterAlt1 +* location 7 5 +* LT(1) +* consumeToken [c/<4>,1:0] +* location 7 7 +* enterSubRule 2 +* enter decision 2 +* LT(1) +* LT(1) +* recognitionException NoViableAltException 2 1 2 +* exit decision 2 +* exitSubRule 2 +* beginResync +* LT(1) +* consumeToken [c/<4>,1:1] +* LT(1) +* endResync +* LT(-1) +* exitRule b +* terminate +*/ +- (void) recognitionException:(ANTLRRecognitionException *)e; + +/** Indicates the recognizer is about to consume tokens to resynchronize +* the parser. Any consume events from here until the recovered event +* are not part of the parse--they are dead tokens. +*/ +- (void) beginResync; + +/** Indicates that the recognizer has finished consuming tokens in order +* to resychronize. There may be multiple beginResync/endResync pairs +* before the recognizer comes out of errorRecovery mode (in which +* multiple errors are suppressed). This will be useful +* in a gui where you want to probably grey out tokens that are consumed +* but not matched to anything in grammar. Anything between +* a beginResync/endResync pair was tossed out by the parser. +*/ +- (void) endResync; + +/** A semantic predicate was evaluate with this result and action text */ +- (void) semanticPredicate:(NSString *)predicate matched:(BOOL)result; + +/** Announce that parsing has begun. Not technically useful except for +* sending events over a socket. A GUI for example will launch a thread +* to connect and communicate with a remote parser. The thread will want +* to notify the GUI when a connection is made. ANTLR parsers +* trigger this upon entry to the first rule (the ruleLevel is used to +* figure this out). +*/ +- (void) commence; + +/** Parsing is over; successfully or not. Mostly useful for telling +* remote debugging listeners that it's time to quit. When the rule +* invocation level goes to zero at the end of a rule, we are done +* parsing. +*/ +- (void) terminate; + + +// T r e e P a r s i n g + +/** Input for a tree parser is an AST, but we know nothing for sure +* about a node except its type and text (obtained from the adaptor). +* This is the analog of the consumeToken method. Again, the ID is +* the hashCode usually of the node so it only works if hashCode is +* not implemented. If the type is UP or DOWN, then +* the ID is not really meaningful as it's fixed--there is +* just one UP node and one DOWN navigation node. +*/ +- (void) consumeNode:(NSInteger)nodeHash ofType:(NSInteger)type text:(NSString *)text; + +/** The tree parser lookedahead. If the type is UP or DOWN, +* then the ID is not really meaningful as it's fixed--there is +* just one UP node and one DOWN navigation node. +*/ +- (void) LT:(NSInteger)i foundNode:(unsigned)nodeHash ofType:(NSInteger)type text:(NSString *)text; + + +// A S T E v e n t s + +/** A nil was created (even nil nodes have a unique ID... +* they are not "null" per se). As of 4/28/2006, this +* seems to be uniquely triggered when starting a new subtree +* such as when entering a subrule in automatic mode and when +* building a tree in rewrite mode. +*/ +- (void) createNilNode:(unsigned)hash; + +/** Announce a new node built from text */ +- (void) createNode:(unsigned)hash text:(NSString *)text type:(NSInteger)type; + +/** Announce a new node built from an existing token */ +- (void) createNode:(unsigned)hash fromTokenAtIndex:(NSInteger)tokenIndex; + +/** Make a node the new root of an existing root. See +* +* Note: the newRootID parameter is possibly different +* than the TreeAdaptor.becomeRoot() newRoot parameter. +* In our case, it will always be the result of calling +* TreeAdaptor.becomeRoot() and not root_n or whatever. +* +* The listener should assume that this event occurs +* only when the current subrule (or rule) subtree is +* being reset to newRootID. +* +*/ +- (void) makeNode:(unsigned)newRootHash parentOf:(unsigned)oldRootHash; + +/** Make childID a child of rootID. +* @see org.antlr.runtime.tree.TreeAdaptor.addChild() +*/ +- (void) addChild:(unsigned)childHash toTree:(unsigned)treeHash; + +/** Set the token start/stop token index for a subtree root or node */ +- (void) setTokenBoundariesForTree:(unsigned)nodeHash From:(NSUInteger)tokenStartIndex To:(NSUInteger)tokenStopIndex; + +- (void) waitForDebuggerConnection; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugEventProxy.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugEventProxy.h new file mode 100644 index 00000000..59bf67bd --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugEventProxy.h @@ -0,0 +1,112 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRParser.h" +#import "ANTLRDebugEventListener.h" +#import +#import +#import +#include + +// default port for ANTLRWorks +#define DEFAULT_DEBUGGER_PORT 0xC001 + +@interface ANTLRDebugEventProxy : NSObject { + int serverSocket; + + struct sockaddr debugger_sockaddr; + socklen_t debugger_socklen; + int debuggerSocket; + NSFileHandle *debuggerFH; + + NSString *grammarName; + int debuggerPort; +} + +- (id) init; +- (id) initWithGrammarName:(NSString *)aGrammarName debuggerPort:(NSInteger)aPort; +- (void) waitForDebuggerConnection; +- (void) waitForAck; +- (void) sendToDebugger:(NSString *)message; +- (void) sendToDebugger:(NSString *)message waitForResponse:(BOOL)wait; + +- (NSInteger) serverSocket; +- (void) setServerSocket: (NSInteger) aServerSocket; + +- (NSInteger) debuggerSocket; +- (void) setDebuggerSocket: (NSInteger) aDebuggerSocket; + +- (NSString *) grammarName; +- (void) setGrammarName: (NSString *) aGrammarName; + +- (NSInteger) debuggerPort; +- (void) setDebuggerPort: (NSInteger) aDebuggerPort; + +- (NSString *) escapeNewlines:(NSString *)aString; + +#pragma mark - + +#pragma mark DebugEventListener Protocol +- (void) enterRule:(NSString *)ruleName; +- (void) enterAlt:(NSInteger)alt; +- (void) exitRule:(NSString *)ruleName; +- (void) enterSubRule:(NSInteger)decisionNumber; +- (void) exitSubRule:(NSInteger)decisionNumber; +- (void) enterDecision:(NSInteger)decisionNumber; +- (void) exitDecision:(NSInteger)decisionNumber; +- (void) consumeToken:(id)t; +- (void) consumeHiddenToken:(id)t; +- (void) LT:(NSInteger)i foundToken:(id)t; +- (void) mark:(NSInteger)marker; +- (void) rewind:(NSInteger)marker; +- (void) rewind; +- (void) beginBacktrack:(NSInteger)level; +- (void) endBacktrack:(NSInteger)level wasSuccessful:(BOOL)successful; +- (void) locationLine:(NSInteger)line column:(NSInteger)pos; +- (void) recognitionException:(ANTLRRecognitionException *)e; +- (void) beginResync; +- (void) endResync; +- (void) semanticPredicate:(NSString *)predicate matched:(BOOL)result; +- (void) commence; +- (void) terminate; + + +#pragma mark Tree Parsing +- (void) consumeNode:(unsigned)nodeHash ofType:(NSInteger)type text:(NSString *)text; +- (void) LT:(NSInteger)i foundNode:(unsigned)nodeHash ofType:(NSInteger)type text:(NSString *)text; + + +#pragma mark AST Events + +- (void) createNilNode:(unsigned)hash; +- (void) createNode:(unsigned)hash text:(NSString *)text type:(NSInteger)type; +- (void) createNode:(unsigned)hash fromTokenAtIndex:(NSInteger)tokenIndex; +- (void) makeNode:(unsigned)newRootHash parentOf:(unsigned)oldRootHash; +- (void) addChild:(unsigned)childHash toTree:(unsigned)treeHash; +- (void) setTokenBoundariesForTree:(unsigned)nodeHash From:(NSInteger)tokenStartIndex To:(NSInteger)tokenStopIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugParser.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugParser.h new file mode 100644 index 00000000..b23ff505 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugParser.h @@ -0,0 +1,47 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRParser.h" +#import "ANTLRDebugEventProxy.h" +#import "ANTLRDebugTokenStream.h" + +@interface ANTLRDebugParser : ANTLRParser { + id debugListener; +} + +- (id) initWithTokenStream:(id)theStream; +- (id) initWithTokenStream:(id)theStream + debuggerPort:(NSInteger)portNumber; +// designated initializer +- (id) initWithTokenStream:(id)theStream + debugListener:(id)theDebugListener + debuggerPort:(NSInteger)portNumber; + +- (id) debugListener; +- (void) setDebugListener: (id) aDebugListener; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTokenStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTokenStream.h new file mode 100644 index 00000000..335b0020 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTokenStream.h @@ -0,0 +1,62 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRParser.h" +#import "ANTLRTokenStream.h" +#import "ANTLRTokenSource.h" +#import "ANTLRDebugTokenStream.h" +#import "ANTLRDebugEventListener.h" + +@interface ANTLRDebugTokenStream : NSObject +{ + id debugListener; + id input; + BOOL initialStreamState; + NSInteger lastMarker; +} + +- (id) initWithTokenStream:(id)theStream debugListener:(id)debugger; + +- (id) debugListener; +- (void) setDebugListener: (id) aDebugListener; + +- (id) getInput; +- (void) setInput:(id)aTokenStream; + +- (void) consume; +- (id) getToken:(NSInteger)index; +- (NSInteger) getIndex; +- (void) release:(NSInteger)marker; +- (void) seek:(NSInteger)index; +- (NSInteger) size; +- (id) getTokenSource; +- (NSString *) getSourceName; +- (NSString *) toString; +- (NSString *) toStringFromStart:(NSInteger)aStart ToEnd:(NSInteger)aStop; +- (NSString *) toStringFromToken:(id)startToken ToToken:(id)stopToken; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTreeAdaptor.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTreeAdaptor.h new file mode 100644 index 00000000..41965fad --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTreeAdaptor.h @@ -0,0 +1,45 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRParser.h" +#import "ANTLRBaseTreeAdaptor.h" +#import "ANTLRDebugEventListener.h" + +@interface ANTLRDebugTreeAdaptor : ANTLRBaseTreeAdaptor { + id debugListener; + id treeAdaptor; +} + +- (id) initWithTreeAdaptor:(id)aTreeAdaptor debugListener:(id)aDebugListener; + +- (id) debugListener; +- (void) setDebugListener: (id) aDebugListener; + +- (id) getTreeAdaptor; +- (void) setTreeAdaptor: (id) aTreeAdaptor; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTreeNodeStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTreeNodeStream.h new file mode 100644 index 00000000..70f99394 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTreeNodeStream.h @@ -0,0 +1,67 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRDebugEventListener.h" +#import "ANTLRTreeAdaptor.h" +#import "ANTLRTreeNodeStream.h" + +@interface ANTLRDebugTreeNodeStream : NSObject { + id debugListener; + id treeAdaptor; + id input; + BOOL initialStreamState; +} + +- (id) initWithTreeNodeStream:(id)theStream debugListener:(id)debugger; + +- (id) debugListener; +- (void) setDebugListener: (id) aDebugListener; + +- (id) getInput; +- (void) setInput: (id) aTreeNodeStream; + +- (id) getTreeAdaptor; +- (void) setTreeAdaptor: (id) aTreeAdaptor; + +#pragma mark ANTLRTreeNodeStream conformance + +- (id) LT:(NSInteger)k; +- (id) getTreeAdaptor; +- (void) setUniqueNavigationNodes:(BOOL)flag; + +#pragma mark ANTLRIntStream conformance +- (void) consume; +- (NSInteger) LA:(NSUInteger) i; +- (NSUInteger) mark; +- (NSUInteger) getIndex; +- (void) rewind:(NSUInteger) marker; +- (void) rewind; +- (void) release:(NSUInteger) marker; +- (void) seek:(NSUInteger) index; +- (NSUInteger) size; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTreeParser.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTreeParser.h new file mode 100644 index 00000000..cbeac764 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRDebugTreeParser.h @@ -0,0 +1,48 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreeParser.h" +#import "ANTLRDebugEventProxy.h" +#import "ANTLRDebugTreeNodeStream.h" + +@interface ANTLRDebugTreeParser : ANTLRTreeParser { + id debugListener; +} + +- (id) initWithTreeNodeStream:(id)theStream; +- (id) initWithTreeNodeStream:(id)theStream + debuggerPort:(NSInteger)portNumber; + // designated initializer +- (id) initWithTreeNodeStream:(id)theStream + debugListener:(id)theDebugListener + debuggerPort:(NSInteger)portNumber; + +- (id) debugListener; +- (void) setDebugListener: (id) aDebugListener; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLREarlyExitException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLREarlyExitException.h new file mode 100644 index 00000000..1a89bbbf --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLREarlyExitException.h @@ -0,0 +1,37 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" + +@interface ANTLREarlyExitException : ANTLRRecognitionException { + int decisionNumber; +} + ++ (ANTLREarlyExitException *) exceptionWithStream:(id) anInputStream decisionNumber:(NSInteger) aDecisionNumber; +- (id) initWithStream:(id)anInputStream decisionNumber:(NSInteger) aDecisionNumber; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRError.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRError.h new file mode 100644 index 00000000..f2657af6 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRError.h @@ -0,0 +1,55 @@ +// +// ANTLRError.h +// ANTLR +// +// Created by Ian Michell on 30/03/2010. +// Copyright 2010 Ian Michell. All rights reserved. +// + +// [The "BSD licence"] +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + +#define ANTLRErrorDomain @"ANTLRError" + +#define ANTLRIllegalArgumentException @"ANTLRIllegalArgumentException" +#define ANTLRIllegalStateException @"IllegalStateException" +//#define ANTLRRuntimeException @"RuntimeException" +//#define ANTLRNoSuchMethodException @"NoSuchMethodException" +//#define ANTLRNoSuchElementException @"NoSuchElementException" +//#define ANTLRUnsupportedOperationException @"UnsupportedOperationException" + + +/*typedef enum +{ + ANTLRIllegalState = 1, + ANTLRIllegalArgument = 2, + ANTLRRecognitionError = 3, + ANTLRMissingTokenError = 4, + ANTLRUnwantedTokenError = 5, + ANTLRMismatechedTokenError = 6, + ANTLRNoViableAltError = 7 + +} ANTLRErrorCode;*/ \ No newline at end of file diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRFailedPredicateException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRFailedPredicateException.h new file mode 100644 index 00000000..9788cbad --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRFailedPredicateException.h @@ -0,0 +1,50 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" + + +@interface ANTLRFailedPredicateException : ANTLRRecognitionException +{ + NSString *predicate; + NSString *ruleName; +} + +@property (retain, getter=getPredicate, setter=setPredicate:) NSString *predicate; +@property (retain, getter=getRuleName, setter=setRuleName:) NSString *ruleName; + ++ (ANTLRFailedPredicateException *) exceptionWithRuleName:(NSString *)theRuleName predicate:(NSString *)thePredicate stream:(id)theStream; +- (ANTLRFailedPredicateException *) initWithRuleName:(NSString *)theRuleName predicate:(NSString *)thePredicate stream:(id)theStream; + +#ifdef DONTUSEYET +- (NSString *) getPredicate; +- (void) setPredicate:(NSString *)thePredicate; +- (NSString *) getRuleName; +- (void) setRuleName:(NSString *)theRuleName; +#endif + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRFastQueue.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRFastQueue.h new file mode 100644 index 00000000..cf818176 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRFastQueue.h @@ -0,0 +1,68 @@ +// +// ANTLRFastQueue.h +// ANTLR +// +// Created by Ian Michell on 26/04/2010. +// [The "BSD licence"] +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + + +@interface ANTLRFastQueue : NSObject +{ + NSAutoreleasePool *pool; + NSMutableArray *data; + NSInteger p; +} + +@property (retain, getter=getPool, setter=setPool) NSAutoreleasePool *pool; +@property (retain, getter=getData, setter=setData) NSMutableArray *data; +@property (assign, getter=getP, setter=setP) NSInteger p; + ++ (id) newANTLRFastQueue; + +- (id) init; + +- (id) copyWithZone:(NSZone *)aZone; + +- (void) reset; +- (id) remove; +- (void) addObject:(id) o; +- (NSInteger) count; +- (NSInteger) size; +- (id) head; +- (id) objectAtIndex:(NSInteger) i; +- (void) clear; +- (NSString *) toString; +- (NSAutoreleasePool *)getPool; +- (void)setPool:(NSAutoreleasePool *)aPool; +- (NSMutableArray *)getData; +- (void)setData:(NSMutableArray *)myData; +- (NSInteger) getP; +- (void) setP:(NSInteger)anInt; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashMap.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashMap.h new file mode 100644 index 00000000..04aca7bb --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashMap.h @@ -0,0 +1,102 @@ +// +// ANTLRHashMap.h +// ANTLR +// +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRLinkBase.h" +#import "ANTLRMapElement.h" + +#define GLOBAL_SCOPE 0 +#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRHashMap : ANTLRLinkBase { + // ANTLRHashMap *fNext; + // TStringPool *fPool; + NSInteger Scope; + NSInteger LastHash; + NSInteger BuffSize; + ANTLRMapElement *ptrBuffer[HASHSIZE]; + NSInteger mode; +} + +//@property (copy) ANTLRHashMap *fNext; +//@property (copy) TStringPool *fPool; +@property (getter=getScope, setter=setScope:) NSInteger Scope; +@property (getter=getLastHash, setter=setLastHash:) NSInteger LastHash; + +// Contruction/Destruction ++ (id)newANTLRHashMap; ++ (id)newANTLRHashMapWithLen:(NSInteger)aBuffSize; +- (id)init; +- (id)initWithLen:(NSInteger)aBuffSize; +- (void)dealloc; +- (ANTLRHashMap *)PushScope:( ANTLRHashMap **)map; +- (ANTLRHashMap *)PopScope:( ANTLRHashMap **)map; + +- (NSInteger)count; +- (NSInteger)size; + +// Instance Methods +/* form hash value for string s */ +- (NSInteger)hash:(NSString *)s; +/* look for s in ptrBuffer */ +- (ANTLRHashMap *)findscope:(int)level; +/* look for s in ptrBuffer */ +- (id)lookup:(NSString *)s Scope:(int)scope; +/* look for s in ptrBuffer */ +- (id)install:(ANTLRMapElement *)sym Scope:(int)scope; +/* look for s in ptrBuffer */ +- (void)deleteANTLRHashMap:(ANTLRMapElement *)np; +- (int)RemoveSym:(NSString *)s; +- (void)delete_chain:(ANTLRMapElement *)np; +#ifdef DONTUSEYET +- (int)bld_symtab:(KW_TABLE *)toknams; +#endif +- (ANTLRMapElement **)getptrBuffer; +- (ANTLRMapElement *)getptrBufferEntry:(int)idx; +- (void)setptrBuffer:(ANTLRMapElement *)np Index:(int)idx; +- (NSInteger)getScope; +- (void)setScope:(NSInteger)i; +- (ANTLRMapElement *)getTType:(NSString *)name; +- (ANTLRMapElement *)getNameInList:(NSInteger)ttype; +- (void)putNode:(NSString *)name TokenType:(NSInteger)ttype; +- (NSInteger)getMode; +- (void)setMode:(NSInteger)aMode; +- (void) insertObject:(id)aRule atIndex:(NSInteger)idx; +- (id) objectAtIndex:(NSInteger)idx; +- (void) setObject:(id)aRule atIndex:(NSInteger)idx; +- (void)addObject:(id)anObject; +- (ANTLRMapElement *) getName:(NSString *)aName; +- (void) putName:(NSString *)name Node:(id)aNode; + +- (NSEnumerator *)objectEnumerator; +- (BOOL) hasNext; +- (ANTLRMapElement *)nextObject; +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashMap.m b/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashMap.m new file mode 100644 index 00000000..a23426b0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashMap.m @@ -0,0 +1,521 @@ +// +// ANTLRHashMap.m +// ANTLR +// +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#define SUCCESS (0) +#define FAILURE (-1) + +#import "ANTLRHashMap.h" + +static NSInteger itIndex; + +/* + * Start of ANTLRHashMap + */ +@implementation ANTLRHashMap + +@synthesize Scope; +@synthesize LastHash; + ++(id)newANTLRHashMap +{ + ANTLRHashMap *aNewANTLRHashMap; + + aNewANTLRHashMap = [[ANTLRHashMap alloc] init]; + return( aNewANTLRHashMap ); +} + ++(id)newANTLRHashMapWithLen:(NSInteger)aBuffSize +{ + ANTLRHashMap *aNewANTLRHashMap; + + aNewANTLRHashMap = [[ANTLRHashMap alloc] initWithLen:aBuffSize]; + return( aNewANTLRHashMap ); +} + +-(id)init +{ + NSInteger idx; + + if ((self = [super init]) != nil) { + fNext = nil; + BuffSize = HASHSIZE; + Scope = 0; + if ( fNext != nil ) { + Scope = ((ANTLRHashMap *)fNext)->Scope+1; + for( idx = 0; idx < BuffSize; idx++ ) { + ptrBuffer[idx] = ((ANTLRHashMap *)fNext)->ptrBuffer[idx]; + } + } + mode = 0; + } + return( self ); +} + +-(id)initWithLen:(NSInteger)aBuffSize +{ + NSInteger idx; + + if ((self = [super init]) != nil) { + fNext = nil; + BuffSize = aBuffSize; + Scope = 0; + if ( fNext != nil ) { + Scope = ((ANTLRHashMap *)fNext)->Scope+1; + for( idx = 0; idx < BuffSize; idx++ ) { + ptrBuffer[idx] = ((ANTLRHashMap *)fNext)->ptrBuffer[idx]; + } + } + mode = 0; + } + return( self ); +} + +-(void)dealloc +{ + ANTLRMapElement *tmp, *rtmp; + NSInteger idx; + + if ( self.fNext != nil ) { + for( idx = 0; idx < BuffSize; idx++ ) { + tmp = ptrBuffer[idx]; + while ( tmp && tmp != [((ANTLRHashMap *)fNext) getptrBufferEntry:idx] ) { + rtmp = tmp; + // tmp = [tmp getfNext]; + tmp = (ANTLRMapElement *)tmp.fNext; + [rtmp dealloc]; + } + } + } + [super dealloc]; +} + +- (NSInteger)count +{ + id anElement; + NSInteger aCnt = 0; + + for (NSInteger i = 0; i < BuffSize; i++) { + if ((anElement = ptrBuffer[i]) != nil) { + aCnt++; + } + } + return aCnt; +} + +- (NSInteger) size +{ + id anElement; + NSInteger aSize = 0; + + for (NSInteger i = 0; i < BuffSize; i++) { + if ((anElement = ptrBuffer[i]) != nil) { + aSize += sizeof(id); + } + } + return aSize; +} + + +-(void)deleteANTLRHashMap:(ANTLRMapElement *)np +{ + ANTLRMapElement *tmp, *rtmp; + NSInteger idx; + + if ( self.fNext != nil ) { + for( idx = 0; idx < BuffSize; idx++ ) { + tmp = ptrBuffer[idx]; + while ( tmp && tmp != (ANTLRLinkBase *)[((ANTLRHashMap *)fNext) getptrBufferEntry:idx] ) { + rtmp = tmp; + tmp = [tmp getfNext]; + [rtmp dealloc]; + } + } + } +} + +-(ANTLRHashMap *)PushScope:(ANTLRHashMap **)map +{ + NSInteger idx; + ANTLRHashMap *htmp; + + htmp = [ANTLRHashMap newANTLRHashMap]; + if ( *map != nil ) { + ((ANTLRHashMap *)htmp)->fNext = *map; + [htmp setScope:[((ANTLRHashMap *)htmp->fNext) getScope]+1]; + for( idx = 0; idx < BuffSize; idx++ ) { + htmp->ptrBuffer[idx] = ((ANTLRHashMap *)htmp->fNext)->ptrBuffer[idx]; + } + } + // gScopeLevel++; + *map = htmp; + return( htmp ); +} + +-(ANTLRHashMap *)PopScope:(ANTLRHashMap **)map +{ + NSInteger idx; + ANTLRMapElement *tmp; + ANTLRHashMap *htmp; + + htmp = *map; + if ( (*map)->fNext != nil ) { + *map = (ANTLRHashMap *)htmp->fNext; + for( idx = 0; idx < BuffSize; idx++ ) { + if ( htmp->ptrBuffer[idx] == nil || + htmp->ptrBuffer[idx] == (*map)->ptrBuffer[idx] ) { + break; + } + tmp = htmp->ptrBuffer[idx]; + /* + * must deal with parms, locals and labels at some point + * can not forget the debuggers + */ + htmp->ptrBuffer[idx] = [tmp getfNext]; + [ tmp dealloc]; + } + *map = (ANTLRHashMap *)htmp->fNext; + // gScopeLevel--; + } + return( htmp ); +} + +#ifdef USERDOC +/* + * HASH hash entry to get index to table + * NSInteger hash( ANTLRHashMap *self, char *s ); + * + * Inputs: char *s string to find + * + * Returns: NSInteger hashed value + * + * Last Revision 9/03/90 + */ +#endif +-(NSInteger)hash:(NSString *)s /* form hash value for string s */ +{ + NSInteger hashval; + const char *tmp; + + tmp = [s cStringUsingEncoding:NSASCIIStringEncoding]; + for( hashval = 0; *tmp != '\0'; ) + hashval += *tmp++; + self->LastHash = hashval % BuffSize; + return( self->LastHash ); +} + +#ifdef USERDOC +/* + * FINDSCOPE search hashed list for entry + * ANTLRHashMap *findscope( ANTLRHashMap *self, NSInteger scope ); + * + * Inputs: NSInteger scope -- scope level to find + * + * Returns: ANTLRHashMap pointer to ptrBuffer of proper scope level + * + * Last Revision 9/03/90 + */ +#endif +-(ANTLRHashMap *)findscope:(NSInteger)scope +{ + if ( self->Scope == scope ) { + return( self ); + } + else if ( fNext ) { + return( [((ANTLRHashMap *)fNext) findscope:scope] ); + } + return( nil ); /* not found */ +} + +#ifdef USERDOC +/* + * LOOKUP search hashed list for entry + * ANTLRMapElement *lookup( ANTLRHashMap *self, char *s, NSInteger scope ); + * + * Inputs: char *s string to find + * + * Returns: ANTLRMapElement * pointer to entry + * + * Last Revision 9/03/90 + */ +#endif +-(id)lookup:(NSString *)s Scope:(NSInteger)scope +{ + ANTLRMapElement *np; + + for( np = self->ptrBuffer[[self hash:s]]; np != nil; np = [np getfNext] ) { + if ( [s isEqualToString:[np getName]] ) { + return( np ); /* found it */ + } + } + return( nil ); /* not found */ +} + +#ifdef USERDOC +/* + * INSTALL search hashed list for entry + * NSInteger install( ANTLRHashMap *self, ANTLRMapElement *sym, NSInteger scope ); + * + * Inputs: ANTLRMapElement *sym -- symbol ptr to install + * NSInteger scope -- level to find + * + * Returns: Boolean TRUE if installed + * FALSE if already in table + * + * Last Revision 9/03/90 + */ +#endif +-(ANTLRMapElement *)install:(ANTLRMapElement *)sym Scope:(NSInteger)scope +{ + ANTLRMapElement *np; + + np = [self lookup:[sym getName] Scope:scope ]; + if ( np == nil ) { + [sym retain]; + [sym setFNext:self->ptrBuffer[ self->LastHash ]]; + self->ptrBuffer[ self->LastHash ] = sym; + return( self->ptrBuffer[ self->LastHash ] ); + } + return( nil ); /* not found */ +} + +#ifdef USERDOC +/* + * RemoveSym search hashed list for entry + * NSInteger RemoveSym( ANTLRHashMap *self, char *s ); + * + * Inputs: char *s string to find + * + * Returns: NSInteger indicator of SUCCESS OR FAILURE + * + * Last Revision 9/03/90 + */ +#endif +-(NSInteger)RemoveSym:(NSString *)s +{ + ANTLRMapElement *np, *tmp; + NSInteger idx; + + idx = [self hash:s]; + for ( tmp = self->ptrBuffer[idx], np = self->ptrBuffer[idx]; np != nil; np = [np getfNext] ) { + if ( [s isEqualToString:[np getName]] ) { + tmp = [np getfNext]; /* get the next link */ + [np dealloc]; + return( SUCCESS ); /* report SUCCESS */ + } + tmp = [np getfNext]; // BAD!!!!!! + } + return( FAILURE ); /* not found */ +} + +-(void)delete_chain:(ANTLRMapElement *)np +{ + if ( [np getfNext] != nil ) + [self delete_chain:[np getfNext]]; + [np dealloc]; +} + +#ifdef DONTUSEYET +-(NSInteger)bld_symtab:(KW_TABLE *)toknams +{ + NSInteger i; + ANTLRMapElement *np; + + for( i = 0; *(toknams[i].name) != '\0'; i++ ) { + // install symbol in ptrBuffer + np = [ANTLRMapElement newANTLRMapElement:[NSString stringWithFormat:@"%s", toknams[i].name]]; + // np->fType = toknams[i].toknum; + [self install:np Scope:0]; + } + return( SUCCESS ); +} +#endif + +-(ANTLRMapElement *)getptrBufferEntry:(NSInteger)idx +{ + return( ptrBuffer[idx] ); +} + +-(ANTLRMapElement **)getptrBuffer +{ + return( ptrBuffer ); +} + +-(void)setptrBuffer:(ANTLRMapElement *)np Index:(NSInteger)idx +{ + if ( idx < BuffSize ) { + [np retain]; + ptrBuffer[idx] = np; + } +} + +-(NSInteger)getScope +{ + return( Scope ); +} + +-(void)setScopeScope:(NSInteger)i +{ + Scope = i; +} + +- (ANTLRMapElement *)getTType:(NSString *)name +{ + return [self lookup:name Scope:0]; +} + +/* + * works only for maplist indexed not by name but by TokenNumber + */ +- (ANTLRMapElement *)getNameInList:(NSInteger)ttype +{ + ANTLRMapElement *np; + NSInteger aTType; + + aTType = ttype % BuffSize; + for( np = self->ptrBuffer[ttype]; np != nil; np = [np getfNext] ) { + if ( [np.index integerValue] == ttype ) { + return( np ); /* found it */ + } + } + return( nil ); /* not found */ +} + +- (ANTLRLinkBase *)getName:(NSString *)name +{ + return [self lookup:name Scope:0]; /* nil if not found */ +} + +- (void)putNode:(NSString *)name TokenType:(NSInteger)ttype +{ + ANTLRMapElement *np; + + // install symbol in ptrBuffer + np = [ANTLRMapElement newANTLRMapElementWithName:[NSString stringWithString:name] Type:ttype]; + // np->fType = toknams[i].toknum; + [self install:np Scope:0]; +} + +- (NSInteger)getMode +{ + return mode; +} + +- (void)setMode:(NSInteger)aMode +{ + mode = aMode; +} + +- (void) addObject:(id)aRule +{ + NSInteger idx; + + idx = [self count]; + if ( idx >= BuffSize ) { + idx %= BuffSize; + } + ptrBuffer[idx] = aRule; +} + +/* this may have to handle linking into the chain + */ +- (void) insertObject:(id)aRule atIndex:(NSInteger)idx +{ + if ( idx >= BuffSize ) { + idx %= BuffSize; + } + if (aRule != ptrBuffer[idx]) { + if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + [aRule retain]; + } + ptrBuffer[idx] = aRule; +} + +- (id)objectAtIndex:(NSInteger)idx +{ + if ( idx >= BuffSize ) { + idx %= BuffSize; + } + return ptrBuffer[idx]; +} + +/* this will never link into the chain + */ +- (void) setObject:(id)aRule atIndex:(NSInteger)idx +{ + if ( idx >= BuffSize ) { + idx %= BuffSize; + } + if (aRule != ptrBuffer[idx]) { + if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + [aRule retain]; + } + ptrBuffer[idx] = aRule; +} + +- (void)putName:(NSString *)name Node:(id)aNode +{ + ANTLRMapElement *np; + + np = [self lookup:name Scope:0 ]; + if ( np == nil ) { + np = [ANTLRMapElement newANTLRMapElementWithName:name Node:aNode]; + if (ptrBuffer[LastHash] != nil) + [ptrBuffer[LastHash] release]; + [np retain]; + np.fNext = ptrBuffer[ LastHash ]; + ptrBuffer[ LastHash ] = np; + } + return; +} + +- (NSEnumerator *)objectEnumerator +{ + NSEnumerator *anEnumerator; + + itIndex = 0; + return anEnumerator; +} + +- (BOOL)hasNext +{ + if (self && [self count] < BuffSize-1) { + return YES; + } + return NO; +} + +- (ANTLRMapElement *)nextObject +{ + if (self && itIndex < BuffSize-1) { + return ptrBuffer[itIndex]; + } + return nil; +} + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashRule.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashRule.h new file mode 100644 index 00000000..f1558e8b --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashRule.h @@ -0,0 +1,72 @@ +// +// ANTLRHashRule.h +// ANTLR +// +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRuleMemo.h" +#import "ANTLRPtrBuffer.h" + +#define GLOBAL_SCOPE 0 +#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRHashRule : ANTLRPtrBuffer { + // ANTLRHashRule *fNext; + // TStringPool *fPool; + NSInteger LastHash; + NSInteger mode; +} + +//@property (copy) ANTLRHashRule *fNext; +@property (getter=getLastHash, setter=setLastHash:) NSInteger LastHash; + +// Contruction/Destruction ++ (id)newANTLRHashRule; ++ (id)newANTLRHashRuleWithLen:(NSInteger)aBuffSize; +- (id)init; +- (id)initWithLen:(NSInteger)aBuffSize; +- (void)dealloc; + +- (NSInteger)count; +- (NSInteger)length; +- (NSInteger)size; + +// Instance Methods +- (void)deleteANTLRHashRule:(ANTLRRuleMemo *)np; +- (void)delete_chain:(ANTLRRuleMemo *)np; +- (ANTLRRuleMemo **)getPtrBuffer; +- (void)setPtrBuffer:(ANTLRRuleMemo **)np; +- (NSNumber *)getRuleMemoStopIndex:(NSInteger)aStartIndex; +- (void)putRuleMemoAtStartIndex:(NSInteger)aStartIndex StopIndex:(NSInteger)aStopIndex; +- (NSInteger)getMode; +- (void)setMode:(NSInteger)aMode; +- (void) insertObject:(ANTLRRuleMemo *)aRule atIndex:(NSInteger)Index; +- (ANTLRRuleMemo *) objectAtIndex:(NSInteger)Index; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashRule.m b/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashRule.m new file mode 100644 index 00000000..93ce3a17 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRHashRule.m @@ -0,0 +1,281 @@ +// +// ANTLRHashRule.m +// ANTLR +// +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#define SUCCESS (0) +#define FAILURE (-1) +#define ANTLR_MEMO_RULE_UNKNOWN -1 + +#import "ANTLRHashRule.h" + +/* + * Start of ANTLRHashRule + */ +@implementation ANTLRHashRule + +@synthesize LastHash; + ++(id)newANTLRHashRule +{ + ANTLRHashRule *aNewANTLRHashRule; + + aNewANTLRHashRule = [[ANTLRHashRule alloc] init]; + return( aNewANTLRHashRule ); +} + ++(id)newANTLRHashRuleWithLen:(NSInteger)aBuffSize +{ + ANTLRHashRule *aNewANTLRHashRule; + + aNewANTLRHashRule = [[ANTLRHashRule alloc] initWithLen:aBuffSize]; + return( aNewANTLRHashRule ); +} + +-(id)init +{ + if ((self = [super initWithLen:HASHSIZE]) != nil) { + fNext = nil; + } + return( self ); +} + +-(id)initWithLen:(NSInteger)aBuffSize +{ + if ((self = [super initWithLen:aBuffSize]) != nil) { + fNext = nil; + mode = 0; + } + return( self ); +} + +-(void)dealloc +{ + ANTLRRuleMemo *tmp, *rtmp; + int Index; + + if ( self.fNext != nil ) { + for( Index = 0; Index < BuffSize; Index++ ) { + tmp = ptrBuffer[Index]; + while ( tmp && tmp != ptrBuffer[Index] ) { + rtmp = tmp; + // tmp = [tmp getfNext]; + tmp = (ANTLRRuleMemo *)tmp.fNext; + [rtmp dealloc]; + } + } + } + [super dealloc]; +} + +- (NSInteger)count +{ + id anElement; + NSInteger aCnt = 0; + + for (int i = 0; i < BuffSize; i++) { + anElement = ptrBuffer[i]; + if ( anElement != nil ) { + aCnt++; + } + } + return aCnt; +} + +- (NSInteger) length +{ + return BuffSize; +} + +- (NSInteger) size +{ + id anElement; + NSInteger aSize = 0; + + for (int i = 0; i < BuffSize; i++) { + if ((anElement = ptrBuffer[i]) != nil) { + aSize += sizeof(id); + } + } + return aSize; +} + + +-(void)deleteANTLRHashRule:(ANTLRRuleMemo *)np +{ + ANTLRRuleMemo *tmp, *rtmp; + int Index; + + if ( self.fNext != nil ) { + for( Index = 0; Index < BuffSize; Index++ ) { + tmp = ptrBuffer[Index]; + while ( tmp && tmp != ptrBuffer[Index ] ) { + rtmp = tmp; + tmp = tmp.fNext; + [rtmp dealloc]; + } + } + } +} + +-(void)delete_chain:(ANTLRRuleMemo *)np +{ + if ( np.fNext != nil ) + [self delete_chain:np.fNext]; + [np dealloc]; +} + +-(ANTLRRuleMemo **)getPtrBuffer +{ + return( ptrBuffer ); +} + +-(void)setPtrBuffer:(ANTLRRuleMemo **)np +{ + ptrBuffer = np; +} + +- (NSNumber *)getRuleMemoStopIndex:(NSInteger)aStartIndex +{ + ANTLRRuleMemo *aRule; + NSNumber *stopIndex; + NSInteger anIndex; + + anIndex = ( aStartIndex >= BuffSize ) ? aStartIndex %= BuffSize : aStartIndex; + if ((aRule = ptrBuffer[anIndex]) == nil) { + return nil; + } + stopIndex = [aRule getStopIndex:aStartIndex]; + return stopIndex; +} + +- (void)putRuleMemo:(ANTLRRuleMemo *)aRule AtStartIndex:(NSInteger)aStartIndex +{ + NSInteger anIndex; + + anIndex = (aStartIndex >= BuffSize) ? aStartIndex %= BuffSize : aStartIndex; + if ( ptrBuffer[anIndex] == nil ) { + ptrBuffer[anIndex] = aRule; + [aRule retain]; + } + else { + do { + if ( [aRule.startIndex integerValue] == aStartIndex ) { + [aRule setStartIndex:aRule.stopIndex]; + return; + } + aRule = aRule.fNext; + } while ( aRule != nil ); + } +} + +- (void)putRuleMemoAtStartIndex:(NSInteger)aStartIndex StopIndex:(NSInteger)aStopIndex +{ + ANTLRRuleMemo *aRule, *newRule; + NSInteger anIndex; + NSInteger aMatchIndex; + + anIndex = (aStartIndex >= BuffSize) ? aStartIndex %= BuffSize : aStartIndex; + if ((aRule = ptrBuffer[anIndex]) == nil ) { + aRule = [ANTLRRuleMemo newANTLRRuleMemoWithStartIndex:[NSNumber numberWithInteger:aStartIndex] + StopIndex:[NSNumber numberWithInteger:aStopIndex]]; + [aRule retain]; + ptrBuffer[anIndex] = aRule; + } + else { + aMatchIndex = [aRule.startIndex integerValue]; + if ( aStartIndex > aMatchIndex ) { + if ( aRule != ptrBuffer[anIndex] ) { + [aRule retain]; + } + aRule.fNext = ptrBuffer[anIndex]; + ptrBuffer[anIndex] = aRule; + return; + } + while (aRule.fNext != nil) { + aMatchIndex = [((ANTLRRuleMemo *)aRule.fNext).startIndex integerValue]; + if ( aStartIndex > aMatchIndex ) { + newRule = [ANTLRRuleMemo newANTLRRuleMemoWithStartIndex:[NSNumber numberWithInteger:aStartIndex] + StopIndex:[NSNumber numberWithInteger:aStopIndex]]; + [newRule retain]; + newRule.fNext = aRule.fNext; + aRule.fNext = newRule; + return; + } + if ( aMatchIndex == aStartIndex ) { + [aRule setStartIndex:aRule.stopIndex]; + return; + } + aRule = aRule.fNext; + } + } +} + +- (NSInteger)getLastHash +{ + return LastHash; +} + +- (void)setLastHash:(NSInteger)aHash +{ + LastHash = aHash; +} + +- (NSInteger)getMode +{ + return mode; +} + +- (void)setMode:(NSInteger)aMode +{ + mode = aMode; +} + +- (void) insertObject:(ANTLRRuleMemo *)aRule atIndex:(NSInteger)anIndex +{ + NSInteger Index; + + Index = ( anIndex >= BuffSize ) ? anIndex %= BuffSize : anIndex; + if (aRule != ptrBuffer[Index]) { + if (ptrBuffer[Index] != nil) { + [ptrBuffer[Index] release]; + } + [aRule retain]; + } + ptrBuffer[Index] = aRule; +} + +- (ANTLRRuleMemo *)objectAtIndex:(NSInteger)anIndex +{ + NSInteger anIdx; + + anIdx = ( anIndex >= BuffSize ) ? anIndex %= BuffSize : anIndex; + return ptrBuffer[anIdx]; +} + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRIntArray.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRIntArray.h new file mode 100644 index 00000000..5269b230 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRIntArray.h @@ -0,0 +1,60 @@ +// +// ANTLRIntArray.h +// ANTLR +// +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRPtrBuffer.h" + +#define ANTLR_INT_ARRAY_INITIAL_SIZE 10 + +@interface ANTLRIntArray : ANTLRPtrBuffer +{ +} + ++ (ANTLRIntArray *)newANTLRIntArray; ++ (ANTLRIntArray *)newANTLRIntArrayWithLen:(NSInteger)aLen; + +- (id) init; +- (id) initWithLen:(NSInteger)aLen; + +- (void) dealloc; + +- (id) copyWithZone:(NSZone *)aZone; + +- (void) addInteger:(NSInteger) v; +- (void) push:(NSInteger) v; +- (NSInteger) pop; +- (NSInteger) integerAtIndex:(NSInteger) i; +- (void) insertInteger:(NSInteger)anInteger AtIndex:(NSInteger) idx; +- (NSInteger) size; +- (void) reset; + +- (NSInteger) count; +- (NSInteger) size; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRIntStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRIntStream.h new file mode 100644 index 00000000..3790cd9b --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRIntStream.h @@ -0,0 +1,93 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +@protocol ANTLRIntStream < NSObject, NSCopying > + +- (void) consume; + +// Get unichar at current input pointer + i ahead where i=1 is next character as int for including ANTLRCharStreamEOF (-1) in the data range +- (NSInteger) LA:(NSInteger) i; + +// Tell the stream to start buffering if it hasn't already. Return +// current input position, index(), or some other marker so that +// when passed to rewind() you get back to the same spot. +// rewind(mark()) should not affect the input cursor. +// TODO: problem in that lexer stream returns not index but some marker + +- (NSInteger) mark; + +// Return the current input symbol index 0..n where n indicates the +// last symbol has been read. + +- (NSInteger) getIndex; + +// Reset the stream so that next call to index would return marker. +// The marker will usually be -index but it doesn't have to be. It's +// just a marker to indicate what state the stream was in. This is +// essentially calling -release: and -seek:. If there are markers +// created after this marker argument, this routine must unroll them +// like a stack. Assume the state the stream was in when this marker +// was created. + +- (void) rewind; +- (void) rewind:(NSInteger) marker; + +// You may want to commit to a backtrack but don't want to force the +// stream to keep bookkeeping objects around for a marker that is +// no longer necessary. This will have the same behavior as +// rewind() except it releases resources without the backward seek. + +- (void) release:(NSInteger) marker; + +// Set the input cursor to the position indicated by index. This is +// normally used to seek ahead in the input stream. No buffering is +// required to do this unless you know your stream will use seek to +// move backwards such as when backtracking. +// This is different from rewind in its multi-directional +// requirement and in that its argument is strictly an input cursor (index). +// +// For char streams, seeking forward must update the stream state such +// as line number. For seeking backwards, you will be presumably +// backtracking using the mark/rewind mechanism that restores state and +// so this method does not need to update state when seeking backwards. +// +// Currently, this method is only used for efficient backtracking, but +// in the future it may be used for incremental parsing. + +- (void) seek:(NSInteger) index; + +/** Only makes sense for streams that buffer everything up probably, but + * might be useful to display the entire stream or for testing. This + * value includes a single EOF. + */ +- (NSUInteger) size; +/** Where are you getting symbols from? Normally, implementations will + * pass the buck all the way to the lexer who can ask its input stream + * for the file name or whatever. + */ +- (NSString *)getSourceName; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRLexer.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRLexer.h new file mode 100644 index 00000000..5cfb36f0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRLexer.h @@ -0,0 +1,90 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRTokenSource.h" +#import "ANTLRBaseRecognizer.h" +#import "ANTLRRecognizerSharedState.h" +#import "ANTLRCharStream.h" +#import "ANTLRToken.h" +#import "ANTLRCommonToken.h" +#import "ANTLRRecognitionException.h" +#import "ANTLRMismatchedTokenException.h" +#import "ANTLRMismatchedRangeException.h" + +@interface ANTLRLexer : ANTLRBaseRecognizer { + id input; ///< The character stream we pull tokens out of. + NSUInteger ruleNestingLevel; +} + +@property (retain, getter=getInput, setter=setInput:) id input; +@property (getter=getRuleNestingLevel, setter=setRuleNestingLevel) NSUInteger ruleNestingLevel; + +#pragma mark Initializer +- (id) initWithCharStream:(id) anInput; +- (id) initWithCharStream:(id)anInput State:(ANTLRRecognizerSharedState *)state; + +- (id) copyWithZone:(NSZone *)zone; + +- (void) reset; + +// - (ANTLRRecognizerSharedState *) state; + +#pragma mark Tokens +- (id)getToken; +- (void) setToken: (id) aToken; +- (id) nextToken; +- (void) mTokens; // abstract, defined in generated sources +- (void) skip; +- (id) getInput; +- (void) setInput:(id)aCharStream; + +- (void) emit; +- (void) emit:(id)aToken; + +#pragma mark Matching +- (void) matchString:(NSString *)aString; +- (void) matchAny; +- (void) matchChar:(unichar) aChar; +- (void) matchRangeFromChar:(unichar)fromChar to:(unichar)toChar; + +#pragma mark Informational +- (NSUInteger) getLine; +- (NSUInteger) getCharPositionInLine; +- (NSInteger) getIndex; +- (NSString *) getText; +- (void) setText:(NSString *) theText; + +// error handling +- (void) reportError:(ANTLRRecognitionException *)e; +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSMutableArray *)tokenNames; +- (NSString *)getCharErrorDisplay:(NSInteger)c; +- (void) recover:(ANTLRRecognitionException *)e; +- (void)traceIn:(NSString *)ruleName Index:(NSInteger)ruleIndex; +- (void)traceOut:(NSString *)ruleName Index:(NSInteger)ruleIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRLexerRuleReturnScope.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRLexerRuleReturnScope.h new file mode 100644 index 00000000..18ae3743 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRLexerRuleReturnScope.h @@ -0,0 +1,42 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + +@interface ANTLRLexerRuleReturnScope : NSObject { + int startToken; + int stopToken; +} + +- (NSInteger) getStart; +- (void) setStart: (NSInteger) aStart; + +- (NSInteger) getStop; +- (void) setStop: (NSInteger) aStop; + + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRLinkBase.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRLinkBase.h new file mode 100644 index 00000000..21019e61 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRLinkBase.h @@ -0,0 +1,74 @@ +// +// ANTLRLinkBase.h +// ANTLR +// +// Created by Alan Condit on 6/14/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + +@protocol ANTLRLinkList + ++ (id)newANTLRLinkBase; ++ (id)newANTLRLinkBase:(id)np Prev:(id)pp; + +- (void) dealloc; + +- (id) append:(id)node; +- (id) insert:(id)node; + +- (id) getfNext; +- (void) setFNext:(id)np; +- (id)getfPrev; +- (void) setFPrev:(id)pp; + +@end + +@interface ANTLRLinkBase : NSObject { + id fPrev; + id fNext; +} + +@property (retain, getter=getfPrev, setter=setFPrev:) id fPrev; +@property (retain, getter=getfNext, setter=setFNext:) id fNext; + ++ (id)newANTLRLinkBase; ++ (id)newANTLRLinkBase:(id)np Prev:(id)pp; +- (id)init; +- (id)initWithPtr:(id)np Prev:(id)pp; +- (void)dealloc; + +- (id) copyWithZone:(NSZone *)aZone; + +- (id)append:(id)node; +- (id)insert:(id)node; + +- (id)getfNext; +- (void)setFNext:(id) np; +- (id)getfPrev; +- (void)setFPrev:(id) pp; +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRLookaheadStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRLookaheadStream.h new file mode 100644 index 00000000..ad48ff5e --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRLookaheadStream.h @@ -0,0 +1,73 @@ +// +// ANTLRLookaheadStream.h +// ANTLR +// +// Created by Ian Michell on 26/04/2010. +// [The "BSD licence"] +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRFastQueue.h" + +#define UNITIALIZED_EOF_ELEMENT_INDEX NSIntegerMax + +@interface ANTLRLookaheadStream : ANTLRFastQueue +{ + id eof; + NSInteger eofElementIndex; + NSInteger lastMarker; + NSInteger markDepth; +} + +@property (readwrite, retain, getter=getEof, setter=setEof) id eof; +@property (assign, getter=getEofElementIndex, setter=setEofElementIndex) NSInteger eofElementIndex; +@property (assign, getter=getLastMarker, setter=setLastMarker) NSInteger lastMarker; +@property (assign, getter=getMarkDepth, setter=setMarkDepth) NSInteger markDepth; + +- (id) initWithEOF:(id) o; +- (id) nextElement; +- (void) consume; +- (void) sync:(NSInteger) need; +- (void) fill:(NSInteger) n; +- (id) LT:(NSInteger) i; +- (id) LB:(NSInteger) i; +- (id) currentSymbol; +- (NSInteger) getIndex; +- (NSInteger) mark; +- (void) release:(NSInteger) marker; +- (void) rewind:(NSInteger) marker; +- (void) rewind; +- (void) seek:(NSInteger) i; +- (id) getEof; +- (void) setEof:(id) anID; +- (NSInteger) getEofElementIndex; +- (void) setEofElementIndex:(NSInteger) anInt; +- (NSInteger) getLastMarker; +- (void) setLastMarker:(NSInteger) anInt; +- (NSInteger) getMarkDepth; +- (void) setMarkDepth:(NSInteger) anInt; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRMap.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMap.h new file mode 100644 index 00000000..80ad486b --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMap.h @@ -0,0 +1,82 @@ +// +// ANTLRMap.h +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRPtrBuffer.h" +#import "ANTLRMapElement.h" + +//#define GLOBAL_SCOPE 0 +//#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRMap : ANTLRPtrBuffer { + //ANTLRMap *fNext; // found in superclass + // TStringPool *fPool; + NSInteger lastHash; +} + +//@property (copy) ANTLRMap *fNext; +@property (getter=getLastHash, setter=setLastHash:) NSInteger lastHash; + +// Contruction/Destruction ++ (id)newANTLRMap; ++ (id)newANTLRMapWithLen:(NSInteger)aHashSize; + +- (id)init; +- (id)initWithLen:(NSInteger)cnt; +- (void)dealloc; +// Instance Methods +- (NSInteger)count; +- (NSInteger)length; +- (NSInteger)size; +/* clear -- reinitialize the maplist array */ +- (void) clear; +/* form hash value for string s */ +-(NSInteger)hash:(NSString *)s; +/* look for s in ptrBuffer */ +-(id)lookup:(NSString *)s; +/* look for s in ptrBuffer */ +-(id)install:(ANTLRMapElement *)sym; +/* + * delete entry from list + */ +- (void)deleteANTLRMap:(ANTLRMapElement *)np; +- (NSInteger)RemoveSym:(NSString *)s; +- (void)delete_chain:(ANTLRMapElement *)np; +- (ANTLRMapElement *)getTType:(NSString *)name; +- (ANTLRMapElement *)getName:(NSInteger)ttype; +- (NSInteger)getNode:(ANTLRMapElement *)aNode; +- (void)putNode:(NSInteger)aTType Node:(id)aNode; +- (void)putName:(NSString *)name TType:(NSInteger)ttype; +- (void)putName:(NSString *)name Node:(id)aNode; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRMapElement.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMapElement.h new file mode 100644 index 00000000..e20d01c6 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMapElement.h @@ -0,0 +1,65 @@ +// +// ANTLRMapElement.h +// ANTLR +// +// Created by Alan Condit on 6/8/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseMapElement.h" + +@interface ANTLRMapElement : ANTLRBaseMapElement { + NSString *name; + id node; +} +@property (retain, getter=getName, setter=setName:) NSString *name; +@property (retain, getter=getNode, setter=setNode:) id node; + ++ (id) newANTLRMapElement; ++ (id) newANTLRMapElementWithName:(NSString *)aName Type:(NSInteger)aTType; ++ (id) newANTLRMapElementWithNode:(NSInteger)aTType Node:(id)aNode; ++ (id) newANTLRMapElementWithName:(NSString *)aName Node:(id)aNode; ++ (id) newANTLRMapElementWithObj1:(id)anObj1 Obj2:(id)anObj2; +- (id) init; +- (id) initWithName:(NSString *)aName Type:(NSInteger)aTType; +- (id) initWithNode:(NSInteger)aTType Node:(id)aNode; +- (id) initWithName:(NSString *)aName Node:(id)aNode; +- (id) initWithObj1:(id)anObj1 Obj2:(id)anObj2; + +- (id) copyWithZone:(NSZone *)aZone; + +- (NSInteger) count; +- (NSInteger) size; +- (NSString *)getName; +- (void)setName:(NSString *)aName; +- (id)getNode; +- (void)setNode:(id)aNode; +- (void)putNode:(id)aNode; +- (void)putNode:(id)aNode With:(NSInteger)uniqueID; +//- (void)setObject:(id)aNode atIndex:anIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedNotSetException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedNotSetException.h new file mode 100644 index 00000000..57391d5a --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedNotSetException.h @@ -0,0 +1,51 @@ +// +// ANTLRMismatchedNotSetException.h +// ANTLR +// +// Created by Alan Condit on 6/13/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" +#import "ANTLRBitSet.h" + +@interface ANTLRMismatchedNotSetException : ANTLRRecognitionException +{ + ANTLRBitSet *expecting; +} +@property (retain, getter=getExpecting, setter=setExpecting) ANTLRBitSet *expecting; + +- (ANTLRMismatchedNotSetException *)newANTLRMismatchedNotSetException; +- (ANTLRMismatchedNotSetException *)newANTLRMismatchedNotSetException:(id)anInput + Follow:(ANTLRBitSet *)expecting; + +- (id) init; +- (id) initWithStream:(id)anInput Follow:(ANTLRBitSet *)expecting; + +- (NSString *)toString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedRangeException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedRangeException.h new file mode 100644 index 00000000..abda3bb3 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedRangeException.h @@ -0,0 +1,40 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" + +@protocol ANTLRIntStream; + + +@interface ANTLRMismatchedRangeException : ANTLRRecognitionException { + NSRange range; +} + ++ (id) exceptionWithRange:(NSRange) aRange stream:(id) theInput; +- (id) initWithRange:(NSRange) aRange stream:(id) theInput; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedSetException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedSetException.h new file mode 100644 index 00000000..3bd45fcf --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedSetException.h @@ -0,0 +1,44 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRRecognitionException.h" + +@interface ANTLRMismatchedSetException : ANTLRRecognitionException { + NSSet *expecting; +} + +@property (retain, getter=getExpecting, setter=setExpecting:) NSSet *expecting; + ++ (id) exceptionWithSet:(NSSet *) theExpectedSet stream:(id) theStream; +- (id) initWithSet:(NSSet *) theExpectedSet stream:(id) theStream; + +- (NSSet *) getExpecting; +- (void) setExpecting: (NSSet *) anExpectedSet; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedTokenException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedTokenException.h new file mode 100644 index 00000000..5e1d77d6 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedTokenException.h @@ -0,0 +1,58 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRRecognitionException.h" +#import "ANTLRBitSet.h" + +@protocol ANTLRIntStream; + +@interface ANTLRMismatchedTokenException : ANTLRRecognitionException { + NSInteger expecting; + unichar expectingChar; + BOOL isTokenType; +} + +@property (assign, getter=getExpecting, setter=setExpecting:) NSInteger expecting; +@property (assign, getter=getExpectingChar, setter=setExpectingChar:) unichar expectingChar; +@property (assign, getter=getIsTokenType, setter=setIsTokenType:) BOOL isTokenType; + ++ (id) newANTLRMismatchedTokenException:(NSInteger)expectedTokenType Stream:(id)anInput; ++ (id) newANTLRMismatchedTokenExceptionMissing:(NSInteger)expectedTokenType + Stream:(id)anInput + Token:(id)inserted; ++ (id) newANTLRMismatchedTokenExceptionChar:(unichar)expectedCharacter Stream:(id)anInput; ++ (id) newANTLRMismatchedTokenExceptionStream:(id)anInput + Exception:(NSException *)e + Follow:(ANTLRBitSet *)follow; +- (id) initWithTokenType:(NSInteger)expectedTokenType Stream:(id)anInput; +-(id) initWithTokenType:(NSInteger)expectedTokenType + Stream:(id)anInput + Token:(id)inserted; +- (id) initWithCharacter:(unichar)expectedCharacter Stream:(id)anInput; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedTreeNodeException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedTreeNodeException.h new file mode 100644 index 00000000..b61ab51b --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMismatchedTreeNodeException.h @@ -0,0 +1,42 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" + +@protocol ANTLRIntStream; + +@interface ANTLRMismatchedTreeNodeException : ANTLRRecognitionException { + NSInteger expecting; +} + +@property (getter=getExpecting, setter=setExpecting) NSInteger expecting; + ++ (id) newANTLRMismatchedTreeNodeException:(NSInteger)expectedTokenType Stream:(id)anInput; +- (id) initWithTokenType:(NSInteger) expectedTokenType Stream:(id)anInput; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRMissingTokenException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMissingTokenException.h new file mode 100644 index 00000000..1398e251 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRMissingTokenException.h @@ -0,0 +1,51 @@ +// +// ANTLRMissingTokenException.h +// ANTLR +// +// Created by Alan Condit on 6/8/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRMismatchedTokenException.h" +#import "ANTLRToken.h" + +@interface ANTLRMissingTokenException : ANTLRMismatchedTokenException { + id inserted; +} +/** Used for remote debugger deserialization */ ++ (id) newANTLRMissingTokenException; ++ (id) newANTLRMissingTokenException:(NSInteger)expected + Stream:(id)anInput + With:(id)insertedToken; +- (id) init; +- (id) init:(NSInteger)expected Stream:(id)anInput With:(id)insertedToken; + +- (NSInteger) getMissingType; + +- (NSString *)toString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRNoViableAltException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRNoViableAltException.h new file mode 100644 index 00000000..b71baffb --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRNoViableAltException.h @@ -0,0 +1,43 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" +#import "ANTLRIntStream.h" + +@interface ANTLRNoViableAltException : ANTLRRecognitionException { + int decisionNumber; + int stateNumber; +} + ++ (ANTLRNoViableAltException *) newANTLRNoViableAltException:(NSInteger)theDecisionNumber state:(NSInteger)theStateNumber stream:(id)theStream; +- (ANTLRNoViableAltException *) initWithDecision:(NSInteger)theDecisionNumber state:(NSInteger)theStateNumber stream:(id)theStream; + +- (void)setDecisionNumber:(NSInteger)decisionNumber; +- (void)setStateNumber:(NSInteger)stateNumber; + + +@end \ No newline at end of file diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRNodeMapElement.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRNodeMapElement.h new file mode 100644 index 00000000..1c0c9163 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRNodeMapElement.h @@ -0,0 +1,56 @@ +// +// ANTLRRuleMapElement.h +// ANTLR +// +// Created by Alan Condit on 6/16/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseMapElement.h" +#import "ANTLRTree.h" + +@interface ANTLRNodeMapElement : ANTLRBaseMapElement { + id node; +} + +@property (retain, getter=getNode, setter=setNode:) id node; + ++ (void)initialize; + ++ (id) newANTLRNodeMapElement; ++ (id) newANTLRNodeMapElementWithIndex:(id)anIndex Node:(id)aNode; +- (id) init; +- (id) initWithAnIndex:(id)anIndex Node:(id)aNode; + +- (id) copyWithZone:(NSZone *)aZone; + +- (id)getNode; +- (void)setNode:(id)aNode; + +- (NSInteger)size; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRParseTree.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRParseTree.h new file mode 100644 index 00000000..92554e30 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRParseTree.h @@ -0,0 +1,60 @@ +// +// ANTLRParseTree.h +// ANTLR +// +// Created by Alan Condit on 7/12/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseTree.h" +#import "ANTLRCommonToken.h" + +@interface ANTLRParseTree : ANTLRBaseTree { + id payload; + NSMutableArray *hiddenTokens; +} +/** A record of the rules used to match a token sequence. The tokens + * end up as the leaves of this tree and rule nodes are the interior nodes. + * This really adds no functionality, it is just an alias for CommonTree + * that is more meaningful (specific) and holds a String to display for a node. + */ ++ (ANTLRParseTree *)newANTLRParseTree:(id)label; +- (id)initWithLabel:(id)label; + +- (id)dupNode; +- (NSInteger)getType; +- (NSString *)getText; +- (NSInteger)getTokenStartIndex; +- (void)setTokenStartIndex:(NSInteger)index; +- (NSInteger)getTokenStopIndex; +- (void)setTokenStopIndex:(NSInteger)index; +- (NSString *)toString; +- (NSString *)toStringWithHiddenTokens; +- (NSString *)toInputString; +- (void)_toStringLeaves:(NSMutableString *)buf; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRParser.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRParser.h new file mode 100644 index 00000000..5ddaf503 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRParser.h @@ -0,0 +1,59 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRBaseRecognizer.h" +#import "ANTLRCommonToken.h" +#import "ANTLRTokenStream.h" + +@interface ANTLRParser : ANTLRBaseRecognizer { + id input; +} ++ (ANTLRParser *)newANTLRParser:(id)anInput; ++ (ANTLRParser *)newANTLRParser:(id)anInput State:(ANTLRRecognizerSharedState *)aState; + +- (id) initWithTokenStream:(id)theStream; +- (id) initWithTokenStream:(id)theStream State:(ANTLRRecognizerSharedState *)aState; + +- (id) getInput; +- (void) setInput: (id) anInput; + +- (void) reset; + +- (id) getCurrentInputSymbol:(id)anInput; +- (ANTLRCommonToken *)getMissingSymbol:(id)input + Exception:(ANTLRRecognitionException *)e + TType:(NSInteger)expectedTokenType + BitSet:(ANTLRBitSet *)follow; +- (void) setTokenStream:(id)anInput; +- (id)getTokenStream; +- (NSString *)getSourceName; + +- (void) traceIn:(NSString *)ruleName Index:(int)ruleIndex; +- (void) traceOut:(NSString *)ruleName Index:(NSInteger) ruleIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRParserRuleReturnScope.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRParserRuleReturnScope.h new file mode 100644 index 00000000..aef3dd0b --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRParserRuleReturnScope.h @@ -0,0 +1,46 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRToken.h" +#import "ANTLRRuleReturnScope.h" + +@interface ANTLRParserRuleReturnScope : ANTLRRuleReturnScope { + id startToken; + id stopToken; +} +@property (retain, getter=getStart, setter=setStart:) id startToken; +@property (retain, getter=getStop, setter=setStop:) id stopToken; + +- (id) getStart; +- (void) setStart: (id) aStart; + +- (id) getStop; +- (void) setStop: (id) aStop; + +- (id) copyWithZone:(NSZone *)theZone; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRPtrBuffer.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRPtrBuffer.h new file mode 100644 index 00000000..188f597c --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRPtrBuffer.h @@ -0,0 +1,91 @@ +// +// ANTLRPtrBuffer.h +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRLinkBase.h" + +//#define GLOBAL_SCOPE 0 +//#define LOCAL_SCOPE 1 +#define BUFFSIZE 101 + +@interface ANTLRPtrBuffer : ANTLRLinkBase { + //ANTLRPtrBuffer *fNext; + NSInteger BuffSize; + NSMutableData *buffer; + id *ptrBuffer; + NSInteger count; + NSInteger ptr; +} + +@property (getter=getBuffSize, setter=setBuffSize:) NSInteger BuffSize; +@property (retain, getter=getBuffer, setter=setBuffer:) NSMutableData *buffer; +@property (retain, getter=getPtrBuffer, setter=setPtrBuffer:) id *ptrBuffer; +@property (getter=getCount, setter=setCount:) NSInteger count; +@property (getter=getPtr, setter=setPtr:) NSInteger ptr; + +// Contruction/Destruction ++(ANTLRPtrBuffer *)newANTLRPtrBuffer; ++(ANTLRPtrBuffer *)newANTLRPtrBufferWithLen:(NSInteger)cnt; +-(id)init; +-(id)initWithLen:(NSInteger)cnt; +-(void)dealloc; + +// Instance Methods +- (id) copyWithZone:(NSZone *)aZone; +/* clear -- reinitialize the maplist array */ +- (void) clear; + +- (NSInteger)count; +- (NSInteger)length; +- (NSInteger)size; + +- (NSMutableData *)getBuffer; +- (void)setBuffer:(NSMutableData *)np; +- (NSInteger)getCount; +- (void)setCount:(NSInteger)aCount; +- (id *)getPtrBuffer; +- (void)setPtrBuffer:(id *)np; +- (NSInteger)getPtr; +- (void)setPtr:(NSInteger)np; + +- (void) push:(id) v; +- (id) pop; +- (id) peek; + +- (void) addObject:(id) v; +- (void) addObjectsFromArray:(ANTLRPtrBuffer *)anArray; +- (void) insertObject:(id)aRule atIndex:(NSInteger)idx; +- (id) objectAtIndex:(NSInteger)idx; +- (void) removeAllObjects; + +- (void) ensureCapacity:(NSInteger) index; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRRecognitionException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRecognitionException.h new file mode 100644 index 00000000..853dc0e1 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRecognitionException.h @@ -0,0 +1,72 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRRuntimeException.h" +#import "ANTLRToken.h" +#import "ANTLRIntStream.h" +#import "ANTLRTree.h" + +@interface ANTLRRecognitionException : ANTLRRuntimeException { + id input; + NSInteger index; + id token; + id node; + unichar c; + NSInteger line; + NSInteger charPositionInLine; +} + +@property (retain, getter=getStream, setter=setStream:) id input; +@property (retain, getter=getToken, setter=setToken:) idtoken; +@property (retain, getter=getNode, setter=setNode:) idnode; +@property (getter=getLine, setter=setLine:) NSInteger line; +@property (getter=getCharPositionInLine, setter=setCharPositionInLine:) NSInteger charPositionInLine; + ++ (ANTLRRecognitionException *) newANTLRRecognitionException; ++ (ANTLRRecognitionException *) exceptionWithStream:(id) anInputStream; +- (id) init; +- (id) initWithStream:(id)anInputStream; +- (id) initWithStream:(id)anInputStream reason:(NSString *)aReason; +- (NSInteger) unexpectedType; +- (id)getUnexpectedToken; + +- (id) getStream; +- (void) setStream: (id) aStream; + +- (id) getToken; +- (void) setToken: (id) aToken; + +- (id) getNode; +- (void) setNode: (id) aNode; + +- (NSString *)getMessage; + +- (NSInteger)getCharPositionInLine; +- (void)setCharPositionInLine:(NSInteger)aPos; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRRecognizerSharedState.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRecognizerSharedState.h new file mode 100644 index 00000000..0430b797 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRecognizerSharedState.h @@ -0,0 +1,116 @@ +// [The "BSD licence"] +// Copyright (c) 2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRToken.h" +#import "ANTLRBitSet.h" +#import "ANTLRRuleStack.h" + +@interface ANTLRRecognizerSharedState : NSObject { + NSMutableArray *following; // a stack of FOLLOW bitsets used for context sensitive prediction and recovery + NSInteger _fsp; // Follow stack pointer + BOOL errorRecovery; // are we recovering? + NSInteger lastErrorIndex; + BOOL failed; // indicate that some match failed + NSInteger syntaxErrors; + NSInteger backtracking; // the level of backtracking + ANTLRRuleStack *ruleMemo; // store previous results of matching rules so we don't have to do it again. Hook in incremental stuff here, too. + + id token; + NSInteger tokenStartCharIndex; + NSUInteger tokenStartLine; + NSUInteger tokenStartCharPositionInLine; + NSUInteger channel; + NSUInteger type; + NSString *text; +} + +@property (retain, getter=getFollowing, setter=setFollowing:) NSMutableArray *following; +@property (assign) NSInteger _fsp; +@property (assign) BOOL errorRecovery; +@property (assign) NSInteger lastErrorIndex; +@property (assign, getter=getFailed, setter=setFailed:) BOOL failed; +@property (assign) NSInteger syntaxErrors; +@property (assign, getter=getBacktracking, setter=setBacktracking) NSInteger backtracking; +@property (retain, getter=getRuleMemo, setter=setRuleMemo:) ANTLRRuleStack *ruleMemo; +@property (copy, getter=getToken, setter=setToken) id token; +@property (getter=getType,setter=setType:) NSUInteger type; +@property (getter=getChannel,setter=setChannel:) NSUInteger channel; +@property (getter=getTokenStartLine,setter=setTokenStartLine:) NSUInteger tokenStartLine; +@property (getter=getCharPositionInLine,setter=setCharPositionInLine:) NSUInteger tokenStartCharPositionInLine; +@property (getter=getTokenStartCharIndex,setter=setTokenStartCharIndex:) NSInteger tokenStartCharIndex; +@property (retain, getter=getText, setter=setText) NSString *text; + ++ (ANTLRRecognizerSharedState *) newANTLRRecognizerSharedState; ++ (ANTLRRecognizerSharedState *) newANTLRRecognizerSharedStateWithRuleLen:(NSInteger)aLen; ++ (ANTLRRecognizerSharedState *) newANTLRRecognizerSharedState:(ANTLRRecognizerSharedState *)aState; + +- (id) init; +- (id) initWithRuleLen:(NSInteger)aLen; +- (id) initWithState:(ANTLRRecognizerSharedState *)state; + +- (id) getToken; +- (void) setToken:(id) theToken; + +- (NSUInteger) getType; +- (void) setType:(NSUInteger) theTokenType; + +- (NSUInteger) getChannel; +- (void) setChannel:(NSUInteger) theChannel; + +- (NSUInteger) getTokenStartLine; +- (void) setTokenStartLine:(NSUInteger) theTokenStartLine; + +- (NSUInteger) getCharPositionInLine; +- (void) setCharPositionInLine:(NSUInteger) theCharPosition; + +- (NSInteger) getTokenStartCharIndex; +- (void) setTokenStartCharIndex:(NSInteger) theTokenStartCharIndex; + +- (NSString *) getText; +- (void) setText:(NSString *) theText; + + +- (NSMutableArray *) getFollowing; +- (void)setFollowing:(NSMutableArray *)aFollow; +- (ANTLRRuleStack *) getRuleMemo; +- (void)setRuleMemo:(ANTLRRuleStack *)aRuleMemo; +- (BOOL) isErrorRecovery; +- (void) setIsErrorRecovery: (BOOL) flag; + +- (BOOL) getFailed; +- (void) setFailed: (BOOL) flag; + +- (NSInteger) getBacktracking; +- (void) setBacktracking:(NSInteger) value; +- (void) increaseBacktracking; +- (void) decreaseBacktracking; +- (BOOL) isBacktracking; + +- (NSInteger) lastErrorIndex; +- (void) setLastErrorIndex:(NSInteger) value; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRRewriteRuleElementStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRewriteRuleElementStream.h new file mode 100644 index 00000000..132a0cc2 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRewriteRuleElementStream.h @@ -0,0 +1,85 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreeAdaptor.h" + +typedef union { + id single; + NSMutableArray *multiple; +} Elements; + +// TODO: this should be separated into stream and enumerator classes +@interface ANTLRRewriteRuleElementStream : NSObject { + NSInteger cursor; + BOOL dirty; ///< indicates whether the stream should return copies of its elements, set to true after a call to -reset + BOOL isSingleElement; + Elements elements; + + NSString *elementDescription; + id treeAdaptor; +} + +@property (assign, getter=GetCursor, setter=SetCursor:) NSInteger cursor; +@property (assign, getter=Getdirty, setter=Setdirty:) BOOL dirty; +@property (assign, getter=GetIsSingleElement, setter=SetIsSingleElement:) BOOL isSingleElement; +@property (assign, getter=GetElement, setter=SetElement:) Elements elements; +@property (assign, getter=GetElementDescription, setter=SetElementDescription:) NSString *elementDescription; +@property (retain, getter=GetTreeAdaptor, setter=SetTreeAdaptor:) id treeAdaptor; + ++ (ANTLRRewriteRuleElementStream*) newANTLRRewriteRuleElementStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription; ++ (ANTLRRewriteRuleElementStream*) newANTLRRewriteRuleElementStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription + element:(id)anElement; ++ (ANTLRRewriteRuleElementStream*) newANTLRRewriteRuleElementStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription + elements:(NSArray *)theElements; + +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription; +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription element:(id)anElement; +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription elements:(NSArray *)theElements; + +- (void)reset; + +- (id) getTreeAdaptor; +- (void) setTreeAdaptor:(id)aTreeAdaptor; + +- (void) addElement:(id)anElement; +- (NSInteger) size; + +- (BOOL) hasNext; +- (id) nextTree; +- (id) _next; // internal: TODO: redesign if necessary. maybe delegate + +- (id) copyElement:(id)element; +- (id) toTree:(id)element; + +- (NSString *) getDescription; +- (void) setDescription:(NSString *)description; + +@end + diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRRewriteRuleSubtreeStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRewriteRuleSubtreeStream.h new file mode 100644 index 00000000..1d18b245 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRewriteRuleSubtreeStream.h @@ -0,0 +1,50 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRewriteRuleElementStream.h" + +@interface ANTLRRewriteRuleSubtreeStream : ANTLRRewriteRuleElementStream { + +} + ++ (ANTLRRewriteRuleSubtreeStream *) newANTLRRewriteRuleSubtreeStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription; ++ (ANTLRRewriteRuleSubtreeStream *) newANTLRRewriteRuleSubtreeStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription + element:(id)anElement; ++ (ANTLRRewriteRuleSubtreeStream *) newANTLRRewriteRuleSubtreeStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription + elements:(NSArray *)theElements; + +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription; +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription element:(id)anElement; +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription elements:(NSArray *)theElements; + +- (id) nextNode; +- (id) dup:(id)element; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRRewriteRuleTokenStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRewriteRuleTokenStream.h new file mode 100644 index 00000000..3a516dec --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRewriteRuleTokenStream.h @@ -0,0 +1,66 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRewriteRuleElementStream.h" + + +@interface ANTLRRewriteRuleTokenStream : ANTLRRewriteRuleElementStream { + +} + ++ (id) newANTLRRewriteRuleTokenStream:(id)anAdaptor + description:(NSString *)elementDescription; +/** Create a stream with one element */ ++ (id) newANTLRRewriteRuleTokenStream:(id)adaptor + description:(NSString *)elementDescription + element:(id) oneElement; +/** Create a stream, but feed off an existing list */ ++ (id) newANTLRRewriteRuleTokenStream:(id)adaptor + description:(NSString *)elementDescription + elements:(NSMutableArray *)elements; + +- (id) init; +- (id) initWithTreeAdaptor:(id)anAdaptor + description:(NSString *)aDescription; +- (id) initWithTreeAdaptor:(id)anAdaptor + description:(NSString *)aDescription + element:(id)element; +- (id) initWithTreeAdaptor:(id)anAdaptor + description:(NSString *)aDescription + elements:(NSMutableArray *)elements; + +/** Get next token from stream and make a node for it */ +- (id) nextNode; + +- (id) nextToken; + +/** Don't convert to a tree unless they explicitly call nextTree. + * This way we can do hetero tree nodes in rewrite. + */ +- (id) toTree:(id)element; + +@end \ No newline at end of file diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleMapElement.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleMapElement.h new file mode 100644 index 00000000..e040b18e --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleMapElement.h @@ -0,0 +1,55 @@ +// +// ANTLRRuleMapElement.h +// ANTLR +// +// Created by Alan Condit on 6/16/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseMapElement.h" + +@interface ANTLRRuleMapElement : ANTLRBaseMapElement { + NSNumber *ruleNum; +} + +@property (retain, getter=getRuleNum, setter=setRuleNum:) NSNumber *ruleNum; + ++ (ANTLRRuleMapElement *) newANTLRRuleMapElement; ++ (ANTLRRuleMapElement *) newANTLRRuleMapElementWithIndex:(NSNumber *)anIdx; ++ (ANTLRRuleMapElement *) newANTLRRuleMapElementWithIndex:(NSNumber *)anIdx RuleNum:(NSNumber *)aRuleNum; +- (id) init; +- (id) initWithAnIndex:(NSNumber *)anIdx; +- (id) initWithAnIndex:(NSNumber *)anIdx RuleNum:(NSNumber *)aRuleNum; + +- (id) copyWithZone:(NSZone *)aZone; + +- (NSNumber *)getRuleNum; +- (void)setRuleNum:(NSNumber *)aRuleNum; + +- (NSInteger)size; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleMemo.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleMemo.h new file mode 100644 index 00000000..63a5ae25 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleMemo.h @@ -0,0 +1,60 @@ +// +// ANTLRRuleMemo.h +// ANTLR +// +// Created by Alan Condit on 6/16/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRLinkBase.h" + +@interface ANTLRRuleMemo : ANTLRLinkBase { + NSNumber *startIndex; + NSNumber *stopIndex; +} + +@property (retain, getter=getStartIndex, setter=setStartIndex) NSNumber *startIndex; +@property (retain, getter=getStopIndex, setter=setStopIndex) NSNumber *stopIndex; + ++ (ANTLRRuleMemo *)newANTLRRuleMemo; ++ (ANTLRRuleMemo *)newANTLRRuleMemoWithStartIndex:(NSNumber *)aStartIndex StopIndex:(NSNumber *)aStopIndex; + +- (id) init; +- (id) initWithStartIndex:(NSNumber *)aStartIndex StopIndex:(NSNumber *)aStopIndex; + +- (NSInteger)count; +- (NSInteger)size; + +- (ANTLRRuleMemo *)getRuleWithStartIndex:(NSInteger)aStartIndex; +- (NSNumber *)getStartIndex:(NSInteger)aStartIndex; +- (NSNumber *)getStopIndex:(NSInteger)aStartIndex; +- (NSNumber *)getStartIndex; +- (void)setStartIndex:(NSNumber *)aStartIndex; +- (NSNumber *)getStopIndex; +- (void)setStopIndex:(NSNumber *)aStopIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleReturnScope.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleReturnScope.h new file mode 100644 index 00000000..4750c166 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleReturnScope.h @@ -0,0 +1,55 @@ +// +// ANTLRRuleReturnScope.h +// ANTLR +// +// Created by Alan Condit on 6/17/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRToken.h" + +@interface ANTLRRuleReturnScope : NSObject { + +} + +/** Return the start token or tree */ +- (id) getStart; + +/** Return the stop token or tree */ +- (id) getStop; + +/** Has a value potentially if output=AST; */ +- (id) getNode; + +/** Has a value potentially if output=template; Don't use StringTemplate + * type as it then causes a dependency with ST lib. + */ +- (id) getTemplate; + +- (id) copyWithZone:(NSZone *)theZone; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleStack.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleStack.h new file mode 100644 index 00000000..12d450b8 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleStack.h @@ -0,0 +1,63 @@ +// +// ANTLRRuleStack.h +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseStack.h" +#import "ANTLRHashRule.h" + +//#define GLOBAL_SCOPE 0 +//#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRRuleStack : ANTLRBaseStack { +} + +// Contruction/Destruction ++(ANTLRRuleStack *)newANTLRRuleStack; ++(ANTLRRuleStack *)newANTLRRuleStack:(NSInteger)cnt; +-(id)init; +-(id)initWithLen:(NSInteger)cnt; +-(void)dealloc; + +// Instance Methods +- (id) copyWithZone:(NSZone *)aZone; +/* clear -- reinitialize the maplist array */ + +- (NSInteger)count; +- (NSInteger)size; + +- (ANTLRHashRule *) pop; + +- (void) insertObject:(ANTLRHashRule *)aHashRule atIndex:(NSInteger)idx; +- (ANTLRHashRule *)objectAtIndex:(NSInteger)idx; +- (void)putHashRuleAtRuleIndex:(NSInteger)aRuleIndex StartIndex:(NSInteger)aStartIndex StopIndex:(NSInteger)aStopIndex; +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleStack.m b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleStack.m new file mode 100644 index 00000000..909192f0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuleStack.m @@ -0,0 +1,147 @@ +// +// ANTLRRuleStack.m +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#define SUCCESS (0) +#define FAILURE (-1) + +#import "ANTLRRuleStack.h" +#import "ANTLRTree.h" + +/* + * Start of ANTLRRuleStack + */ +@implementation ANTLRRuleStack + ++ (ANTLRRuleStack *)newANTLRRuleStack +{ + return [[ANTLRRuleStack alloc] init]; +} + ++ (ANTLRRuleStack *)newANTLRRuleStack:(NSInteger)cnt +{ + return [[ANTLRRuleStack alloc] initWithLen:cnt]; +} + +- (id)init +{ + if ((self = [super init]) != nil) { + } + return( self ); +} + +- (id)initWithLen:(NSInteger)cnt +{ + if ((self = [super initWithLen:cnt]) != nil) { + } + return( self ); +} + +- (void)dealloc +{ + [super dealloc]; +} + +- (id) copyWithZone:(NSZone *)aZone +{ + return [super copyWithZone:aZone]; +} + +- (NSInteger)count +{ + ANTLRRuleMemo *anElement; + NSInteger aCnt = 0; + for( int i = 0; i < BuffSize; i++ ) { + if ((anElement = ptrBuffer[i]) != nil) + aCnt++; + } + return aCnt; +} + +- (NSInteger)size +{ + ANTLRRuleMemo *anElement; + NSInteger aSize = 0; + for( int i = 0; i < BuffSize; i++ ) { + if ((anElement = ptrBuffer[i]) != nil) { + aSize++; + } + } + return aSize; +} + +- (ANTLRHashRule *)pop +{ + return (ANTLRHashRule *)[super pop]; +} + +- (void) insertObject:(ANTLRHashRule *)aRule atIndex:(NSInteger)idx +{ + if ( idx >= BuffSize ) { + NSLog( @"In ANTLRRuleStack attempting to insert aRule at Index %d, but Buffer is only %d long\n", idx, BuffSize ); + [self ensureCapacity:idx]; + } + if ( aRule != ptrBuffer[idx] ) { + if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + [aRule retain]; + } + ptrBuffer[idx] = aRule; +} + +- (ANTLRHashRule *)objectAtIndex:(NSInteger)idx +{ + if (idx < BuffSize) { + return ptrBuffer[idx]; + } + return nil; +} + +- (void)putHashRuleAtRuleIndex:(NSInteger)aRuleIndex StartIndex:(NSInteger)aStartIndex StopIndex:(NSInteger)aStopIndex +{ + ANTLRHashRule *aHashRule; + ANTLRRuleMemo *aRuleMemo; + + if (aRuleIndex >= BuffSize) { + NSLog( @"putHashRuleAtRuleIndex attempting to insert aRule at Index %d, but Buffer is only %d long\n", aRuleIndex, BuffSize ); + [self ensureCapacity:aRuleIndex]; + } + if ((aHashRule = ptrBuffer[aRuleIndex]) == nil) { + aHashRule = [[ANTLRHashRule newANTLRHashRuleWithLen:17] retain]; + ptrBuffer[aRuleIndex] = aHashRule; + } + if (( aRuleMemo = [aHashRule objectAtIndex:aStartIndex] ) == nil ) { + aRuleMemo = [[ANTLRRuleMemo newANTLRRuleMemo] retain]; + [aHashRule insertObject:aRuleMemo atIndex:aStartIndex]; + } + [aRuleMemo setStartIndex:[NSNumber numberWithInteger:aStartIndex]]; + [aRuleMemo setStopIndex:[NSNumber numberWithInteger:aStopIndex]]; +} + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuntimeException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuntimeException.h new file mode 100644 index 00000000..6cf0918e --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRRuntimeException.h @@ -0,0 +1,54 @@ +// +// ANTLRRuntimeException.h +// ANTLR +// +// Created by Alan Condit on 6/5/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + +@interface ANTLRRuntimeException : NSException +{ +} + ++ (ANTLRRuntimeException *) newANTLRNoSuchElementException:(NSString *)aReason; ++ (ANTLRRuntimeException *) newANTLRIllegalArgumentException:(NSString *)aReason; ++ (ANTLRRuntimeException *) newANTLRRuntimeException:(NSString *)aReason; ++ (ANTLRRuntimeException *) newANTLRRuntimeException:(NSString *)aName reason:(NSString *)aReason; ++ (ANTLRRuntimeException *) newANTLRRuntimeException:(NSString *)aName reason:(NSString *)aReason userInfo:aUserInfo; + +- (id) init; +- (id)initWithRuntime:(NSString *)aReason; +- (id)initWithReason:(NSString *)aReason; +- (id)initWithName:(NSString *)aName reason:(NSString *)aReason; +- (id)initWithName:(NSString *)aName reason:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; + +- (NSString *) Description; + +// - (void)setDecisionNumber:(NSInteger)decisionNumber; +// - (void)setStateNumber:(NSInteger)stateNumber; +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRStreamEnumerator.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRStreamEnumerator.h new file mode 100644 index 00000000..a0e0f69a --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRStreamEnumerator.h @@ -0,0 +1,45 @@ +// +// ANTLRStreamEnumertor.h +// ANTLR +// +// Created by Ian Michell on 29/04/2010. +// [The "BSD licence"] +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + + +@interface ANTLRStreamEnumerator : NSEnumerator +{ + NSInteger i; + id eof; + NSMutableArray *nodes; +} + +-(id) initWithNodes:(NSMutableArray *) n andEOF:(id) o; +-(BOOL) hasNext; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRStringStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRStringStream.h new file mode 100644 index 00000000..2b13c7d1 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRStringStream.h @@ -0,0 +1,126 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRCharStream.h" +#import "ANTLRCharStreamState.h" +#import "ANTLRPtrBuffer.h" + +@interface ANTLRStringStream : NSObject < ANTLRCharStream > { + NSString *data; + NSInteger n; + NSInteger p; + NSInteger line; + NSInteger charPositionInLine; + NSInteger markDepth; + ANTLRPtrBuffer *markers; + NSInteger lastMarker; + NSString *name; + ANTLRCharStreamState *charState; +} + +@property (retain, getter=getData,setter=setData:) NSString *data; +@property (getter=getP,setter=setP:) NSInteger p; +@property (getter=getN,setter=setN:) NSInteger n; +@property (getter=getLine,setter=setLine:) NSInteger line; +@property (getter=getCharPositionInLine,setter=setCharPositionInLine:) NSInteger charPositionInLine; +@property (getter=getMarkDepth,setter=setMarkDepth:) NSInteger markDepth; +@property (retain, getter=getMarkers, setter=setMarkers:) ANTLRPtrBuffer *markers; +@property (getter=getLastMarker,setter=setLastMarker:) NSInteger lastMarker; +@property (retain, getter=getSourceName, setter=setSourceName:) NSString *name; +@property (retain, getter=getCharState, setter=setCharState:) ANTLRCharStreamState *charState; + ++ newANTLRStringStream; + ++ newANTLRStringStream:(NSString *)aString; + ++ newANTLRStringStream:(char *)myData Count:(NSInteger)numBytes; + +- (id) init; + +// this initializer copies the string +- (id) initWithString:(NSString *) theString; + +// This is the preferred constructor as no data is copied +- (id) initWithStringNoCopy:(NSString *) theString; + +- (id) initWithData:(char *)myData Count:(NSInteger)numBytes; + +- (void) dealloc; + +- (id) copyWithZone:(NSZone *)aZone; + +// reset the stream's state, but keep the data to feed off +- (void) reset; +// consume one character from the stream +- (void) consume; + +// look ahead i characters +- (NSInteger) LA:(NSInteger) i; +- (NSInteger) LT:(NSInteger) i; + +// returns the position of the current input symbol +- (NSInteger) getIndex; +// total length of the input data +- (NSInteger) size; + +// seek and rewind in the stream +- (NSInteger) mark; +- (void) rewind:(NSInteger) marker; +- (void) rewind; +- (void) release:(NSInteger) marker; +- (void) seek:(NSInteger) index; + +// provide the streams data (e.g. for tokens using indices) +- (NSString *) substring:(NSInteger)startIndex To:(NSInteger)stopIndex; +- (NSString *) substringWithRange:(NSRange) theRange; + +// used for tracking the current position in the input stream +- (NSInteger) getLine; +- (void) setLine:(NSInteger) theLine; +- (NSInteger) getCharPositionInLine; +- (void) setCharPositionInLine:(NSInteger) thePos; + +- (NSInteger) getN; +- (void) setN:(NSInteger)num; + +- (NSInteger) getP; +- (void) setP:(NSInteger)num; + +- (ANTLRPtrBuffer *)getMarkers; +- (void) setMarkers:(ANTLRPtrBuffer *)aMarkerList; + +- (NSString *)getSourceName; + +- (NSString *)toString; + +// accessors to the raw data of this stream +- (NSString *) getData; +- (void) setData: (NSString *) aData; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRSymbolStack.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRSymbolStack.h new file mode 100644 index 00000000..169df9f7 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRSymbolStack.h @@ -0,0 +1,75 @@ +// +// ANTLRSymbolStack.h +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseStack.h" +// #import "ANTLRSymbolScope.h" + +//#define GLOBAL_SCOPE 0 +//#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRSymbolsScope : NSObject +{ + +} + ++ (ANTLRSymbolsScope *)newANTLRSymbolsScope; + +- (id)init; +@end + + +@interface ANTLRSymbolStack : ANTLRBaseStack { +} + +// Contruction/Destruction ++(ANTLRSymbolStack *)newANTLRSymbolStack; ++(ANTLRSymbolStack *)newANTLRSymbolStackWithLen:(NSInteger)cnt; +-(id)init; +-(id)initWithLen:(NSInteger)cnt; +-(void)dealloc; + +// Instance Methods +- (id) copyWithZone:(NSZone *)aZone; +/* clear -- reinitialize the maplist array */ + +-(ANTLRSymbolsScope *)getHashMapEntry:(NSInteger)idx; + +-(ANTLRSymbolsScope **)getHashMap; + +-(ANTLRSymbolsScope *) pop; + +- (void) insertObject:(ANTLRSymbolsScope *)aScope atIndex:(NSInteger)idx; +- (ANTLRSymbolsScope *)objectAtIndex:(NSInteger)idx; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRSymbolStack.m b/runtime/ObjC/ANTLR.framework/Headers/ANTLRSymbolStack.m new file mode 100644 index 00000000..1dd67754 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRSymbolStack.m @@ -0,0 +1,123 @@ +// +// ANTLRSymbolStack.m +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#define SUCCESS (0) +#define FAILURE (-1) + +#import "ANTLRSymbolStack.h" +#import "ANTLRTree.h" + + +@implementation ANTLRSymbolsScope + ++ (ANTLRSymbolsScope *)newANTLRSymbolsScope +{ + return( [[ANTLRSymbolsScope alloc] init] ); +} + +- (id)init +{ + if ((self = [super init]) != nil) { + } + return (self); +} + +@end + +/* + * Start of ANTLRSymbolStack + */ +@implementation ANTLRSymbolStack + ++(ANTLRSymbolStack *)newANTLRSymbolStack +{ + return [[ANTLRSymbolStack alloc] init]; +} + ++(ANTLRSymbolStack *)newANTLRSymbolStackWithLen:(NSInteger)cnt +{ + return [[ANTLRSymbolStack alloc] initWithLen:cnt]; +} + +-(id)init +{ + if ((self = [super init]) != nil) { + } + return( self ); +} + +-(id)initWithLen:(NSInteger)cnt +{ + if ((self = [super initWithLen:cnt]) != nil) { + } + return( self ); +} + +-(void)dealloc +{ + [super dealloc]; +} + +- (id) copyWithZone:(NSZone *)aZone +{ + return [super copyWithZone:aZone]; +} + +-(ANTLRSymbolsScope *)getHashMapEntry:(NSInteger)idx +{ + return( (ANTLRSymbolsScope *)[super objectAtIndex:idx] ); +} + +-(ANTLRSymbolsScope **)getHashMap +{ + return( (ANTLRSymbolsScope **)ptrBuffer ); +} + +-(ANTLRSymbolsScope *) pop +{ + return (ANTLRSymbolsScope *)[super pop]; +} + +- (void) insertObject:(ANTLRSymbolsScope *)aRule atIndex:(NSInteger)idx +{ + if (aRule != ptrBuffer[idx]) { + if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + [aRule retain]; + } + ptrBuffer[idx] = aRule; +} + +- (ANTLRSymbolsScope *)objectAtIndex:(NSInteger)idx +{ + return (ANTLRSymbolsScope *)[super objectAtIndex:idx]; +} + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRToken+DebuggerSupport.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRToken+DebuggerSupport.h new file mode 100644 index 00000000..659e7637 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRToken+DebuggerSupport.h @@ -0,0 +1,41 @@ +// +// ANTLRToken+DebuggerSupport.h +// ANTLR +// +// Created by Kay Röpke on 03.12.2006. +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import +#import "ANTLRToken.h" +#import "ANTLRCommonToken.h" + +@interface ANTLRCommonToken(DebuggerSupport) + +- (NSString *)debuggerDescription; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRToken.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRToken.h new file mode 100644 index 00000000..64524f05 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRToken.h @@ -0,0 +1,79 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import + +typedef enum { + ANTLRTokenTypeEOF = -1, + ANTLRTokenTypeInvalid, + ANTLRTokenTypeEOR, + ANTLRTokenTypeDOWN, + ANTLRTokenTypeUP, + ANTLRTokenTypeMIN +} ANTLRTokenType; + +typedef enum { + ANTLRTokenChannelDefault = 0, + ANTLRTokenChannelHidden = 99 +} ANTLRTokenChannel; + +#define HIDDEN 99 + +@protocol ANTLRToken < NSObject, NSCopying > + +// The singleton eofToken instance. ++ (id) eofToken; +// The default channel for this class of Tokens ++ (ANTLRTokenChannel) defaultChannel; + +// provide hooks to explicitely set the text as opposed to use the indices into the CharStream +- (NSString *) getText; +- (void) setText:(NSString *) theText; + +- (NSInteger) getType; +- (void) setType: (NSInteger) aType; + +// ANTLR v3 provides automatic line and position tracking. Subclasses do not need to +// override these, if they do not want to store line/pos tracking information +- (NSUInteger) getLine; +- (void) setLine: (NSUInteger) aLine; + +- (NSUInteger) getCharPositionInLine; +- (void) setCharPositionInLine: (NSUInteger) aCharPositionInLine; + +// explicitely change the channel this Token is on. The default parser implementation +// just sees the defaultChannel +// Common idiom is to put whitespace tokens on channel 99. +- (NSUInteger) getChannel; +- (void) setChannel: (NSUInteger) aChannel; + +// the index of this Token into the TokenStream +- (NSUInteger) getTokenIndex; +- (void) setTokenIndex: (NSUInteger) aTokenIndex; +- (NSString *)toString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTokenRewriteStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTokenRewriteStream.h new file mode 100644 index 00000000..0d8681f7 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTokenRewriteStream.h @@ -0,0 +1,170 @@ +// +// ANTLRTokenRewriteStream.h +// ANTLR +// +// Created by Alan Condit on 6/19/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTokenStream.h" +#import "ANTLRLinkBase.h" +#import "ANTLRHashMap.h" +#import "ANTLRMapElement.h" +#import "ANTLRTokenSource.h" + +// Define the rewrite operation hierarchy + +@interface ANTLRRewriteOperation : ANTLRCommonTokenStream +{ +/** What index into rewrites List are we? */ +NSInteger instructionIndex; +/** Token buffer index. */ +NSInteger index; +NSString *text; +} + +@property (getter=getInstructionIndex, setter=setInstructionIndex:) NSInteger instructionIndex; +@property (getter=getIndex, setter=setIndex:) NSInteger index; +@property (retain, getter=getText, setter=setText:) NSString *text; + ++ (ANTLRRewriteOperation *) newANTLRRewriteOperation:(NSInteger)index Text:(NSString *)text; + +- (id) initWithIndex:(NSInteger)anIndex Text:(NSString *)theText; + +/** Execute the rewrite operation by possibly adding to the buffer. + * Return the index of the next token to operate on. + */ +- (NSInteger) execute:(NSString *)buf; + +- (NSString *)toString; +- (NSInteger) indexOf:(char)aChar inString:(NSString *)aString; +@end + +@interface ANTLRInsertBeforeOp : ANTLRRewriteOperation { +} + ++ (ANTLRInsertBeforeOp *) newANTLRInsertBeforeOp:(NSInteger)anIndex Text:(NSString *)theText; +- (id) initWithIndex:(NSInteger)anIndex Text:(NSString *)theText; + +@end + +/** I'm going to try replacing range from x..y with (y-x)+1 ReplaceOp + * instructions. + */ +@interface ANTLRReplaceOp : ANTLRRewriteOperation { + NSInteger lastIndex; +} + +@property (getter=getLastIndex, setter=setLastIndex:) NSInteger lastIndex; + ++ (ANTLRReplaceOp *) newANTLRReplaceOp:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString*)theText; +- (id) initWithIndex:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString *)theText; + +- (NSInteger) execute:(NSString *)buf; +- (NSString *)toString; + +@end + +@interface ANTLRDeleteOp : ANTLRReplaceOp { +} ++ (ANTLRDeleteOp *) newANTLRDeleteOp:(NSInteger)from ToIndex:(NSInteger)to; + +- (id) initWithIndex:(NSInteger)from ToIndex:(NSInteger)to; + +- (NSString *)toString; + +@end + + +@interface ANTLRTokenRewriteStream : ANTLRCommonTokenStream { +/** You may have multiple, named streams of rewrite operations. + * I'm calling these things "programs." + * Maps String (name) -> rewrite (List) + */ +ANTLRHashMap *programs; + +/** Map String (program name) -> Integer index */ +ANTLRHashMap *lastRewriteTokenIndexes; +} + +@property (retain, getter=getPrograms, setter=setPrograms:) ANTLRHashMap *programs; +@property (retain, getter=getLastRewriteTokenIndexes, setter=setLastRewriteTokenIndexes:) ANTLRHashMap *lastRewriteTokenIndexes; + ++ (ANTLRTokenRewriteStream *)newANTLRTokenRewriteStream; ++ (ANTLRTokenRewriteStream *)newANTLRTokenRewriteStream:(id) aTokenSource; ++ (ANTLRTokenRewriteStream *)newANTLRTokenRewriteStream:(id) aTokenSource Channel:(NSInteger)aChannel; + +- (id) init; +- (id)initWithTokenSource:(id)aTokenSource; +- (id)initWithTokenSource:(id)aTokenSource Channel:(NSInteger)aChannel; + +- (ANTLRHashMap *)getPrograms; +- (void)setPrograms:(ANTLRHashMap *)aProgList; + +- (void) rollback:(NSInteger)instructionIndex; +- (void) rollback:(NSString *)programName Index:(NSInteger)anInstructionIndex; +- (void) deleteProgram; +- (void) deleteProgram:(NSString *)programName; +- (void) insertAfterToken:(id)t Text:(NSString *)theText; +- (void) insertAfterIndex:(NSInteger)anIndex Text:(NSString *)theText; +- (void) insertAfterProgNam:(NSString *)programName Index:(NSInteger)anIndex Text:(NSString *)theText; + + +- (void) insertBeforeToken:(id)t Text:(NSString *)theText; +- (void) insertBeforeIndex:(NSInteger)anIndex Text:(NSString *)theText; +- (void) insertBeforeProgName:(NSString *)programName Index:(NSInteger)index Text:(NSString *)theText; +- (void) replaceFromIndex:(NSInteger)anIndex Text:(NSString *)theText; +- (void) replaceFromIndex:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString *)theText; +- (void) replaceFromToken:(id)indexT Text:(NSString *)theText; +- (void) replaceFromToken:(id)from ToToken:(id)to Text:(NSString *)theText; +- (void) replaceProgNam:(NSString *)programName Token:(id)from Token:(id)to Text:(NSString *)theText; +- (void) replaceProgNam:(NSString *)programName FromIndex:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString *)theText; +- (void) delete:(NSInteger)anIndex; +- (void) delete:(NSInteger)from ToIndex:(NSInteger)to; +- (void) deleteToken:(id)indexT; +- (void) deleteFromToken:(id)from ToToken:(id)to; +- (void) delete:(NSString *)programName FromToken:(id)from ToToken:(id)to; +- (void) delete:(NSString *)programName FromIndex:(NSInteger)from ToIndex:(NSInteger)to; +- (NSInteger)getLastRewriteTokenIndex; +- (NSInteger)getLastRewriteTokenIndex:(NSString *)programName; +- (void)setLastRewriteTokenIndex:(NSString *)programName Index:(NSInteger)anInt; +- (ANTLRHashMap *) getProgram:(NSString *)name; +- (ANTLRHashMap *) initializeProgram:(NSString *)name; +- (NSString *)toOriginalString; +- (NSString *)toOriginalString:(NSInteger)start End:(NSInteger)end; +- (NSString *)toString; +- (NSString *)toString:(NSString *)programName; +- (NSString *)toStringFromStart:(NSInteger)start ToEnd:(NSInteger)end; +- (NSString *)toString:(NSString *)programName FromStart:(NSInteger)start ToEnd:(NSInteger)end; +- (ANTLRHashMap *)reduceToSingleOperationPerIndex:(ANTLRHashMap *)rewrites; +- (ANTLRHashMap *)getKindOfOps:(ANTLRHashMap *)rewrites KindOfClass:(Class)kind; +- (ANTLRHashMap *)getKindOfOps:(ANTLRHashMap *)rewrites KindOfClass:(Class)kind Index:(NSInteger)before; +- (NSString *)catOpText:(id)a PrevText:(id)b; +- (NSMutableString *)toDebugString; +- (NSMutableString *)toDebugStringFromStart:(NSInteger)start ToEnd:(NSInteger)end; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTokenSource.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTokenSource.h new file mode 100644 index 00000000..4d6b6ee7 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTokenSource.h @@ -0,0 +1,38 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import "ANTLRToken.h" + +// Anything that responds to -nextToken can be treated as a lexer. +// For instance this can be a flex lexer or a handwritten one or even +// a proxy for a remotely running token source (database, lexer, whatever). +@protocol ANTLRTokenSource + +- (id) nextToken; +- (NSString *)getSourceName; + +@end \ No newline at end of file diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTokenStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTokenStream.h new file mode 100644 index 00000000..c104578d --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTokenStream.h @@ -0,0 +1,62 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import "ANTLRIntStream.h" +#import "ANTLRToken.h" + +@protocol ANTLRTokenStream < ANTLRIntStream > + +// Get Token at current input pointer + i ahead where i=1 is next Token. +// i<0 indicates tokens in the past. So -1 is previous token and -2 is +// two tokens ago. LT:0 is undefined. For i>=n, return Token.EOFToken. +// Return null for LT:0 and any index that results in an absolute address +// that is negative. + +- (id) LT:(NSInteger) i; + +- (id) getToken:(NSUInteger) i; + +- (id) getTokenSource; + +- (NSString *) toString; +/** Return the text of all tokens from start to stop, inclusive. + * If the stream does not buffer all the tokens then it can just + * return "" or null; Users should not access $ruleLabel.text in + * an action of course in that case. + */ +- (NSString *)toStringFromStart:(NSInteger)startIdx ToEnd:(NSInteger)stopIdx; + +/** Because the user is not required to use a token with an index stored + * in it, we must provide a means for two token objects themselves to + * indicate the start/end location. Most often this will just delegate + * to the other toString(int,int). This is also parallel with + * the TreeNodeStream.toString(Object,Object). + */ +- (NSString *) toStringFromToken:(id)startToken ToToken:(id)stopToken; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTree.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTree.h new file mode 100644 index 00000000..f269b2d8 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTree.h @@ -0,0 +1,123 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +@protocol ANTLRTree < NSObject, NSCopying > + +//+ (id) invalidNode; + +- (id) getChild:(NSUInteger)index; +- (NSUInteger) getChildCount; + +// Tree tracks parent and child index now > 3.0 + +- (id)getParent; + +- (void) setParent:(id)t; + +/** Is there is a node above with token type ttype? */ +- (BOOL) hasAncestor:(NSInteger)ttype; + +/** Walk upwards and get first ancestor with this token type. */ +- (id) getAncestor:(NSInteger) ttype; + +/** Return a list of all ancestors of this node. The first node of + * list is the root and the last is the parent of this node. + */ +- (NSMutableArray *) getAncestors; + +/** This node is what child index? 0..n-1 */ +- (NSInteger) getChildIndex; + +- (void) setChildIndex:(NSInteger) index; + +/** Set the parent and child index values for all children */ +- (void) freshenParentAndChildIndexes; + +/** Add t as a child to this node. If t is null, do nothing. If t + * is nil, add all children of t to this' children. + */ +- (void) addChild:(id) t; + +/** Set ith child (0..n-1) to t; t must be non-null and non-nil node */ +- (void) setChild:(NSInteger)i With:(id) t; + +- (id) deleteChild:(NSInteger) i; + +/** Delete children from start to stop and replace with t even if t is + * a list (nil-root tree). num of children can increase or decrease. + * For huge child lists, inserting children can force walking rest of + * children to set their childindex; could be slow. + */ +- (void) replaceChildrenFrom:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; + +- (NSArray *) getChildren; +// Add t as a child to this node. If t is null, do nothing. If t +// is nil, add all children of t to this' children. + +- (void) addChildren:(NSArray *) theChildren; +//- (void) removeAllChildren; + +// Indicates the node is a nil node but may still have children, meaning +// the tree is a flat list. + +- (BOOL) isNil; + +/** What is the smallest token index (indexing from 0) for this node + * and its children? + */ +- (NSInteger) getTokenStartIndex; + +- (void) setTokenStartIndex:(NSInteger) index; + +/** What is the largest token index (indexing from 0) for this node + * and its children? + */ +- (NSInteger) getTokenStopIndex; +- (void) setTokenStopIndex:(NSInteger) index; + +- (id) dupNode; + +- (NSString *) toString; + +#pragma mark Copying +- (id) copyWithZone:(NSZone *)aZone; // the children themselves are not copied here! +- (id) deepCopy; // performs a deepCopyWithZone: with the default zone +- (id) deepCopyWithZone:(NSZone *)aZone; + +#pragma mark Tree Parser support +- (NSInteger) getType; +- (NSString *) getText; +// In case we don't have a token payload, what is the line for errors? +- (NSInteger) getLine; +- (NSInteger) getCharPositionInLine; +- (void) setCharPositionInLine:(NSInteger)pos; + +#pragma mark Informational +- (NSString *) treeDescription; +- (NSString *) description; + +@end + diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeAdaptor.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeAdaptor.h new file mode 100644 index 00000000..e6579cfa --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeAdaptor.h @@ -0,0 +1,159 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import "ANTLRToken.h" +#import "ANTLRBaseTree.h" +#import "ANTLRTokenStream.h" + +#pragma warning tree/node diction is broken. + +@protocol ANTLRTreeAdaptor + +#pragma mark Construction + ++ (id) newEmptyTree; + +- (id) createTree:(id)payload; + +#pragma mark ANTLRTreeAdaptor implementation +- (id)dupNode:(id)aNode; // copies just the node +- (id)dupTree:(id)aTree; // copies the entire subtree, recursively + +/** Return a nil node (an empty but non-null node) that can hold + * a list of element as the children. If you want a flat tree (a list) + * use "t=adaptor.nil(); t.addChild(x); t.addChild(y);" + */ +- (id) emptyNode; + +/** Return a tree node representing an error. This node records the + * tokens consumed during error recovery. The start token indicates the + * input symbol at which the error was detected. The stop token indicates + * the last symbol consumed during recovery. + * + * You must specify the input stream so that the erroneous text can + * be packaged up in the error node. The exception could be useful + * to some applications; default implementation stores ptr to it in + * the CommonErrorNode. + * + * This only makes sense during token parsing, not tree parsing. + * Tree parsing should happen only when parsing and tree construction + * succeed. + */ +- (id) errorNode:(id)anInput + From:(id)aStartToken + To:(id)aStopToken + Exception:(NSException *) e; + +/** Is tree considered a nil node used to make lists of child nodes? */ +- (BOOL) isNil:(id)aTree; + + +- (void) addChild:(id)child toTree:(id)aTree; + +/** If oldRoot is a nil root, just copy or move the children to newRoot. + * If not a nil root, make oldRoot a child of newRoot. + * + * old=^(nil a b c), new=r yields ^(r a b c) + * old=^(a b c), new=r yields ^(r ^(a b c)) + * + * If newRoot is a nil-rooted single child tree, use the single + * child as the new root node. + * + * old=^(nil a b c), new=^(nil r) yields ^(r a b c) + * old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + * + * If oldRoot was null, it's ok, just return newRoot (even if isNil). + * + * old=null, new=r yields r + * old=null, new=^(nil r) yields ^(nil r) + * + * Return newRoot. Throw an exception if newRoot is not a + * simple node or nil root with a single child node--it must be a root + * node. If newRoot is ^(nil x) return x as newRoot. + * + * Be advised that it's ok for newRoot to point at oldRoot's + * children; i.e., you don't have to copy the list. We are + * constructing these nodes so we should have this control for + * efficiency. + */ +- (id) becomeRoot:(id)newRoot old:(id)oldRoot; + +- (id) rulePostProcessing:(id)root; + +#pragma mark Rewrite Rules + +- (NSUInteger) getUniqueID:(id)aNode; + +- (id) createTree:(NSInteger)tokenType FromToken:(id)fromToken; +- (id) createTree:(NSInteger)tokenType FromToken:(id)fromToken Text:(NSString *)text; +- (id) createTree:(NSInteger)tokenType Text:(NSString *)text; + +#pragma mark Content + +- (id)dupNode:(id)aNode; +- (id)dupTree:(id)aTree; + +- (NSInteger) getType:(id)aNode; +- (void) setType:(id)aNode Type:(NSInteger)tokenType; + +- (NSString *) getText:(id)aNode; +- (void) setText:(id)aNode Text:(NSString *)tokenText; + +- (id) getToken:(id)t; + +- (void) setTokenBoundaries:(id)aTree From:(id)startToken To:(id)stopToken; +- (NSInteger) getTokenStartIndex:(id)aTree; +- (NSInteger) getTokenStopIndex:(id)aTree; + +#pragma mark Navigation / Tree Parsing + +/** Get a child 0..n-1 node */ +- (id) getChild:(id)aNode At:(NSInteger) i; +/** Set ith child (0..n-1) to t; t must be non-null and non-nil node */ +- (void) setChild:(id)aTree At:(NSInteger)index Child:(id)child; +/** Remove ith child and shift children down from right. */ +- (id) deleteChild:(id)t Index:(NSInteger)index; + +/** How many children? If 0, then this is a leaf node */ +- (NSInteger) getChildCount:(id) aTree; + +/** Who is the parent node of this node; if null, implies node is root. + * If your node type doesn't handle this, it's ok but the tree rewrites + * in tree parsers need this functionality. + */ +- (id)getParent:(id)t; +- (void) setParent:(id)t With:(id)parent; + +/** What index is this node in the child list? Range: 0..n-1 + * If your node type doesn't handle this, it's ok but the tree rewrites + * in tree parsers need this functionality. + */ +- (NSInteger) getChildIndex:(id)t; +- (void) setChildIndex:(id)t With:(NSInteger)index; + +- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeException.h new file mode 100644 index 00000000..8ec5c453 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeException.h @@ -0,0 +1,42 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTree.h" +#import "ANTLRRecognitionException.h" + +@interface ANTLRTreeException : ANTLRRecognitionException { + id oldRoot; + id newRoot; +} + ++ (id) exceptionWithOldRoot:(id)theOldRoot newRoot:(id)theNewRoot stream:(id)aStream; +- (id) initWithOldRoot:(id)theOldRoot newRoot:(id)theNewRoot stream:(id)aStream; + +- (void) setOldRoot:(id)aTree; +- (void) setNewRoot:(id)aTree; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeIterator.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeIterator.h new file mode 100644 index 00000000..e6d5e712 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeIterator.h @@ -0,0 +1,67 @@ +// +// ANTLRTreeIterator.h +// ANTLR +// +// Created by Ian Michell on 26/04/2010. +// [The "BSD licence"] +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTreeAdaptor.h" +#import "ANTLRFastQueue.h" +#import "ANTLRTreeAdaptor.h" +#import "ANTLRTree.h" + +@interface ANTLRTreeIterator : NSObject +{ + id adaptor; + id root; + id tree; + BOOL firstTime; + id up; + id down; + id eof; + + ANTLRFastQueue *nodes; +} + +@property(retain, readwrite) id up; +@property(retain, readwrite) id down; +@property(retain, readwrite) id eof; + ++ newANTRLTreeIterator; ++ (ANTLRTreeIterator *) newANTRLTreeIteratorWithAdaptor:(ANTLRCommonTreeAdaptor *)adaptor + andTree:(id)tree; +- (id) init; +- (id) initWithTree:(id) t; +- (id) initWithTreeAdaptor:(id) a andTree:(id) t; + +- (void) reset; +- (BOOL) hasNext; +- (id) nextObject; +- (NSArray *) allObjects; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeNodeStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeNodeStream.h new file mode 100644 index 00000000..bf6342cd --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeNodeStream.h @@ -0,0 +1,50 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRIntStream.h" +#import "ANTLRCharStream.h" +#import "ANTLRTokenStream.h" +#import "ANTLRCommonTree.h" +#import "ANTLRCommonTreeAdaptor.h" + +@protocol ANTLRTreeNodeStream < ANTLRIntStream > + +- (id) initWithTree:(ANTLRCommonTree *)theTree; +- (id) initWithTreeAdaptor:(id)theAdaptor Tree:(ANTLRCommonTree *)theTree; + +- (id) LT:(NSInteger)k; +- (id) getTreeSource; +- (id) getTreeAdaptor; +- (id) getTokenStream; +- (void) setUniqueNavigationNodes:(BOOL)flag; + +- (id) getNode:(NSInteger) idx; + +- (NSString *) toStringFromNode:(id)startNode ToNode:(id)stopNode; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeParser.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeParser.h new file mode 100644 index 00000000..e2f01ee0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeParser.h @@ -0,0 +1,89 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseRecognizer.h" +#import "ANTLRTreeNodeStream.h" +#import "ANTLRCommonTreeAdaptor.h" +#import "ANTLRMismatchedTreeNodeException.h" + +@interface ANTLRTreeParser : ANTLRBaseRecognizer { + id input; +} + +@property (retain, getter=getInput, setter=setInput:) id input; + ++ (id) newANTLRTreeParser:(id)anInput; ++ (id) newANTLRTreeParser:(id)anInput State:(ANTLRRecognizerSharedState *)state; + +- (id) initWithStream:(id)theInput; +- (id) initWithStream:(id)theInput + State:(ANTLRRecognizerSharedState *)state; + + +- (id)getInput; +- (void) setInput:(id)anInput; + +- (void) setTreeNodeStream:(id) anInput; +- (id) getTreeNodeStream; + +- (NSString *)getSourceName; + +- (id) getCurrentInputSymbol:(id) anInput; + +- (id) getMissingSymbol:(id)input + Exception:(ANTLRRecognitionException *) e + ExpectedToken:(NSInteger) expectedTokenType + BitSet:(ANTLRBitSet *)follow; + +/** Match '.' in tree parser has special meaning. Skip node or + * entire tree if node has children. If children, scan until + * corresponding UP node. + */ +- (void) matchAny:(id)ignore; + +/** We have DOWN/UP nodes in the stream that have no line info; override. + * plus we want to alter the exception type. Don't try to recover + * from tree parser errors inline... + */ +- (id) recoverFromMismatchedToken:(id)anInput + Type:(NSInteger)ttype + Follow:(ANTLRBitSet *)follow; + +/** Prefix error message with the grammar name because message is + * always intended for the programmer because the parser built + * the input tree not the user. + */ +- (NSString *)getErrorHeader:(ANTLRRecognitionException *)e; + +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSArray *) tokenNames; + +- (void) traceIn:(NSString *)ruleName Index:(NSInteger)ruleIndex; +- (void) traceOut:(NSString *)ruleName Index:(NSInteger)ruleIndex; + + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreePatternLexer.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreePatternLexer.h new file mode 100644 index 00000000..f6059d32 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreePatternLexer.h @@ -0,0 +1,87 @@ +// +// ANTLRTreePatternLexer.h +// ANTLR +// +// Created by Alan Condit on 6/18/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + +typedef enum { + ANTLRLexerTokenTypeEOF = -1, + ANTLRLexerTokenTypeInvalid, + ANTLRLexerTokenTypeBEGIN, + ANTLRLexerTokenTypeEND, + ANTLRLexerTokenTypeID, + ANTLRLexerTokenTypeARG, + ANTLRLexerTokenTypePERCENT, + ANTLRLexerTokenTypeCOLON, + ANTLRLexerTokenTypeDOT, +} ANTLRLexerTokenType; + + +@interface ANTLRTreePatternLexer : NSObject { + +/** The tree pattern to lex like "(A B C)" */ +NSString *pattern; + +/** Index into input string */ +NSInteger p; + +/** Current char */ +NSInteger c; + +/** How long is the pattern in char? */ +NSInteger n; + +/** Set when token type is ID or ARG (name mimics Java's StreamTokenizer) */ +NSMutableData *sval; +char *data; + +BOOL error; + +} + +@property (retain, getter=getPattern, setter=setPattern:) NSString *pattern; +@property (getter=getP, setter=setP:) NSInteger p; +@property (getter=getC, setter=setC:) NSInteger c; +@property (getter=getN, setter=setN:) NSInteger n; +@property (retain, getter=getSval, setter=setSval:) NSMutableData *sval; +@property (assign, getter=getData, setter=setData:) char *data; +@property (getter=getError, setter=setError) BOOL error; + ++ (ANTLRTreePatternLexer *)newANTLRTreePatternLexer:(NSString *)aPattern; +- (id) init; +- (id) initWithPattern:(NSString *)aPattern; +- (NSInteger) nextToken; +- (void) consume; +- (NSString *)toString; + +- (NSMutableData *)getSval; +- (void) setSval:(NSMutableData *)aSval; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreePatternParser.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreePatternParser.h new file mode 100644 index 00000000..f6d6dc66 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreePatternParser.h @@ -0,0 +1,57 @@ +// +// ANTLRTreePatternParser.h +// ANTLR +// +// Created by Alan Condit on 6/18/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreePatternLexer.h" +#import "ANTLRTreeWizard.h" +#import "ANTLRTreeAdaptor.h" + +@interface ANTLRTreePatternParser : NSObject { + +ANTLRTreePatternLexer *tokenizer; +NSInteger ttype; +ANTLRTreeWizard *wizard; +id adaptor; + +} + ++ (ANTLRTreePatternParser *)newANTLRTreePatternParser:(ANTLRTreePatternLexer *)aTokenizer + Wizard:(ANTLRTreeWizard *)aWizard + Adaptor:(id)anAdaptor; +- (id) init; +- (id) initWithTokenizer:(ANTLRTreePatternLexer *)tokenizer + Wizard:(ANTLRTreeWizard *)aWizard + Adaptor:(id)anAdaptor; +- (id) pattern; +- (id) parseTree; +- (id) parseNode; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeRewriter.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeRewriter.h new file mode 100644 index 00000000..aee873ea --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeRewriter.h @@ -0,0 +1,72 @@ +// +// ANTLRTreeRewriter.h +// ANTLR +// +// Created by Alan Condit on 6/17/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreeParser.h" + +@interface ANTLRfptr : NSObject { + id actor; + SEL ruleSEL; +} + ++ (ANTLRfptr *)newANTLRfptrWithRule:(SEL)aRuleAction withObject:(id)anObject; +-initWithRule:(SEL)ruleAction withObject:(id)anObject; + +- (id)rule; + +@end + +@interface ANTLRTreeRewriter : ANTLRTreeParser { + BOOL showTransformations; + id originalTokenStream; + id originalAdaptor; + ANTLRfptr *rule; + ANTLRfptr *topdown_fptr; + ANTLRfptr *bottomup_ftpr; +} + ++ (ANTLRTreeRewriter *) newANTLRTreeRewriter:(id)anInput; ++ (ANTLRTreeRewriter *) newANTLRTreeRewriter:(id)anInput State:(ANTLRRecognizerSharedState *)aState; +- (id)initWithStream:(id)anInput; +- (id)initWithStream:(id)anInput State:(ANTLRRecognizerSharedState *)aState; +- (ANTLRTreeRewriter *) applyOnce:(id)t Rule:(ANTLRfptr *)whichRule; +- (ANTLRTreeRewriter *) applyRepeatedly:(id)t Rule:(ANTLRfptr *)whichRule; +- (ANTLRTreeRewriter *) downup:(id)t; +- (ANTLRTreeRewriter *) pre:(id)t; +- (ANTLRTreeRewriter *) post:(id)t; +- (ANTLRTreeRewriter *) downup:(id)t XForm:(BOOL)aShowTransformations; +- (void)reportTransformation:(id)oldTree Tree:(id)newTree; +- (ANTLRTreeRewriter *) topdown_fptr; +- (ANTLRTreeRewriter *) bottomup_ftpr; +- (ANTLRTreeRewriter *) topdown; +- (ANTLRTreeRewriter *) bottomup; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeRuleReturnScope.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeRuleReturnScope.h new file mode 100644 index 00000000..ea8a4877 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeRuleReturnScope.h @@ -0,0 +1,49 @@ +// +// ANTLRTreeRuleReturnScope.h +// ANTLR +// +// Created by Alan Condit on 6/17/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRuleReturnScope.h" +#import "ANTLRCommonTree.h" + +@interface ANTLRTreeRuleReturnScope : ANTLRRuleReturnScope { + ANTLRCommonTree *startNode; +} + +@property (retain, getter=getStart, setter=setStart:) ANTLRCommonTree *startNode; + +/** First node or root node of tree matched for this rule. */ + +- (ANTLRCommonTree *)getStart; +- (void)setStart:(ANTLRCommonTree *)aStartNode; + +- (id) copyWithZone:(NSZone *)theZone; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeVisitor.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeVisitor.h new file mode 100644 index 00000000..1f167bb5 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeVisitor.h @@ -0,0 +1,45 @@ +// +// ANTLRTreeVisitor.h +// ANTLR +// +// Created by Alan Condit on 6/18/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreeAdaptor.h" +#import "ANTLRTreeVisitorAction.h" + +@interface ANTLRTreeVisitor : NSObject { + id adaptor; +} ++ (ANTLRTreeVisitor *)newANTLRTreeVisitor:(id) anAdaptor; ++ (ANTLRTreeVisitor *)newANTLRTreeVisitor; +- (id)init; +- (id)initWithAdaptor:(id)anAdaptor; +- (ANTLRTreeVisitor *)visit:(id)t Action:(ANTLRTreeVisitorAction *)action; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeVisitorAction.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeVisitorAction.h new file mode 100644 index 00000000..c9c08564 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeVisitorAction.h @@ -0,0 +1,56 @@ +// +// ANTLRTreeVisitorAction.h +// ANTLR +// +// Created by Alan Condit on 6/18/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + + +@interface ANTLRTreeVisitorAction : NSObject +{ + +} + ++ (ANTLRTreeVisitorAction *)newANTLRTreeVisitorAction; +- (id) init; + +/** Execute an action before visiting children of t. Return t or + * a rewritten t. It is up to the visitor to decide what to do + * with the return value. Children of returned value will be + * visited if using TreeVisitor.visit(). + */ +- (ANTLRTreeVisitorAction *)pre:(ANTLRTreeVisitorAction *) t; + +/** Execute an action after visiting children of t. Return t or + * a rewritten t. It is up to the visitor to decide what to do + * with the return value. + */ +- (ANTLRTreeVisitorAction *)post:(ANTLRTreeVisitorAction *) t; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeWizard.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeWizard.h new file mode 100644 index 00000000..d9525724 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRTreeWizard.h @@ -0,0 +1,134 @@ +// +// ANTLRTreeWizard.h +// ANTLR +// +// Created by Alan Condit on 6/18/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTreeAdaptor.h" +#import "ANTLRCommonTree.h" +#import "ANTLRMapElement.h" +#import "ANTLRMap.h" + +@class ANTLRVisitor; + +@protocol ANTLRContextVisitor +// TODO: should this be called visit or something else? +- (void) visit:(id)t Parent:(id)parent ChildIndex:(NSInteger)childIndex Map:(ANTLRMap *)labels; + +@end + +@interface ANTLRVisitor : NSObject { + NSInteger action; + id actor; + id object1; + id object2; +} ++ (ANTLRVisitor *)newANTLRVisitor:(NSInteger)anAction Actor:(id)anActor Object:(id)anObject1 Object:(id)anObject2; +- (id) initWithAction:(NSInteger)anAction Actor:(id)anActor Object:(id)anObject1 Object:(id)anObject2; + +- (void) visit:(id)t; +- (void) visit:(id)t Parent:(id)parent ChildIndex:(NSInteger)childIndex Map:(ANTLRMap *)labels; + +@end + +/** When using %label:TOKENNAME in a tree for parse(), we must + * track the label. + */ +@interface ANTLRTreePattern : ANTLRCommonTree { + NSString *label; + BOOL hasTextArg; +} +@property (retain, getter=getLabel, setter=setLabel:) NSString *label; +@property (assign, getter=getHasTextArg, setter=setHasTextArg:) BOOL hasTextArg; + ++ (ANTLRTreePattern *)newANTLRTreePattern:(id)payload; + +- (id) initWithToken:(id)payload; +- (NSString *)toString; +@end + +@interface ANTLRWildcardTreePattern : ANTLRTreePattern { +} + ++ (ANTLRWildcardTreePattern *)newANTLRWildcardTreePattern:(id)payload; +- (id) initWithToken:(id)payload; +@end + +/** This adaptor creates TreePattern objects for use during scan() */ +@interface ANTLRTreePatternTreeAdaptor : ANTLRCommonTreeAdaptor { +} ++ (ANTLRTreePatternTreeAdaptor *)newTreeAdaptor; +#ifdef DONTUSENOMO ++ (ANTLRTreePatternTreeAdaptor *)newTreeAdaptor:(id)payload; +#endif +- (id) init; +#ifdef DONTUSENOMO +- initWithToken:(id)payload; +#endif +- (id)createTreePattern:(id)payload; + +@end + +@interface ANTLRTreeWizard : NSObject { + id adaptor; + ANTLRMap *tokenNameToTypeMap; +} ++ (ANTLRTreeWizard *) newANTLRTreeWizard:(id)anAdaptor; ++ (ANTLRTreeWizard *)newANTLRTreeWizard:(id)adaptor Map:(ANTLRMap *)aTokenNameToTypeMap; ++ (ANTLRTreeWizard *)newANTLRTreeWizard:(id)adaptor TokenNames:(NSArray *)theTokNams; ++ (ANTLRTreeWizard *)newANTLRTreeWizardWithTokenNames:(NSArray *)theTokNams; +- (id) init; +- (id) initWithAdaptor:(id)adaptor; +- (id) initWithAdaptor:(id)adaptor Map:(ANTLRMap *)tokenNameToTypeMap; +- (id) initWithTokenNames:(NSArray *)theTokNams; +- (id) initWithTokenNames:(id)anAdaptor TokenNames:(NSArray *)theTokNams; +- (ANTLRMap *)computeTokenTypes:(NSArray *)theTokNams; +- (NSInteger)getTokenType:(NSString *)tokenName; +- (ANTLRMap *)index:(id)t; +- (void) _index:(id)t Map:(ANTLRMap *)m; +- (NSMutableArray *)find:(id) t Pattern:(NSString *)pattern; +- (ANTLRTreeWizard *)findFirst:(id) t Type:(NSInteger)ttype; +- (ANTLRTreeWizard *)findFirst:(id) t Pattern:(NSString *)pattern; +- (void) visit:(id)t Type:(NSInteger)ttype Visitor:(ANTLRVisitor *)visitor; +- (void) _visit:(id)t + Parent:(id)parent + ChildIndex:(NSInteger)childIndex + Type:(NSInteger)ttype + Visitor:(ANTLRVisitor *)visitor; +- (void)visit:(id)t Pattern:(NSString *)pattern Visitor:(ANTLRVisitor *)visitor; +- (BOOL)parse:(id)t Pattern:(NSString *)pattern Map:(ANTLRMap *)labels; +- (BOOL) parse:(id) t Pattern:(NSString *)pattern; +- (BOOL) _parse:(id)t1 Pattern:(ANTLRTreePattern *)tpattern Map:(ANTLRMap *)labels; +- (id) createTree:(NSString *)pattern; +- (BOOL)equals:(id)t1 O2:(id)t2 Adaptor:(id)anAdaptor; +- (BOOL)equals:(id)t1 O2:(id)t2; +- (BOOL) _equals:(id)t1 O2:(id)t2 Adaptor:(id)anAdaptor; + +@end + diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRUnbufferedCommonTreeNodeStreamState.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRUnbufferedCommonTreeNodeStreamState.h new file mode 100644 index 00000000..9e79d869 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRUnbufferedCommonTreeNodeStreamState.h @@ -0,0 +1,66 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTree.h" + +@interface ANTLRUnbufferedCommonTreeNodeStreamState : NSObject { + ANTLRCommonTree *currentNode; + ANTLRCommonTree *previousNode; + + int currentChildIndex; + int absoluteNodeIndex; + unsigned int nodeStackSize; + unsigned int indexStackSize; + + NSMutableArray *lookahead; +} + +- (ANTLRCommonTree *) currentNode; +- (void) setCurrentNode: (ANTLRCommonTree *) aCurrentNode; + +- (ANTLRCommonTree *) previousNode; +- (void) setPreviousNode: (ANTLRCommonTree *) aPreviousNode; + +- (NSInteger) currentChildIndex; +- (void) setCurrentChildIndex: (NSInteger) aCurrentChildIndex; + +- (NSInteger) absoluteNodeIndex; +- (void) setAbsoluteNodeIndex: (NSInteger) anAbsoluteNodeIndex; + +- (NSUInteger) nodeStackSize; +- (void) setNodeStackSize: (NSUInteger) aNodeStackSize; + +- (NSUInteger) indexStackSize; +- (void) setIndexStackSize: (NSUInteger) anIndexStackSize; + +- (NSMutableArray *) lookahead; +- (void) setLookahead: (NSMutableArray *) aLookahead; + +- (void) addToLookahead: (id)lookaheadObject; +- (void) removeFromLookahead: (id)lookaheadObject; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRUnbufferedTokenStream.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRUnbufferedTokenStream.h new file mode 100644 index 00000000..e4f86308 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRUnbufferedTokenStream.h @@ -0,0 +1,62 @@ +// +// ANTLRUnbufferedTokenStream.h +// ANTLR +// +// Created by Alan Condit on 7/12/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRuntimeException.h" +#import "ANTLRTokenSource.h" +#import "ANTLRLookaheadStream.h" +#import "ANTLRToken.h" + +@interface ANTLRUnbufferedTokenStream : ANTLRLookaheadStream { + id tokenSource; + NSInteger tokenIndex; // simple counter to set token index in tokens + NSInteger channel; +} + +@property (retain, getter=getTokenSource, setter=setTokenSource:) id tokenSource; +@property (getter=getTokenIndex, setter=setTokenIndex) NSInteger tokenIndex; +@property (getter=getChannel, setter=setChannel:) NSInteger channel; + ++ (ANTLRUnbufferedTokenStream *)newANTLRUnbufferedTokenStream:(id)aTokenSource; +- (id) init; +- (id) initWithTokenSource:(id)aTokenSource; + +- (id)nextElement; +- (BOOL)isEOF:(id) aToken; +- (id)getTokenSource; +- (NSString *)toStringFromStart:(NSInteger)aStart ToEnd:(NSInteger)aStop; +- (NSString *)toStringFromToken:(id)aStart ToEnd:(id)aStop; +- (NSInteger)LA:(NSInteger)anIdx; +- (id)objectAtIndex:(NSInteger)anIdx; +- (NSString *)getSourceName; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRUniqueIDMap.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRUniqueIDMap.h new file mode 100644 index 00000000..a805bd54 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRUniqueIDMap.h @@ -0,0 +1,64 @@ +// +// ANTLRUniqueIDMap.h +// ANTLR +// +// Created by Alan Condit on 7/7/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRPtrBuffer.h" +#import "ANTLRNodeMapElement.h" + +#define SUCCESS 0 +#define FAILURE -1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRUniqueIDMap : ANTLRPtrBuffer { + NSInteger lastHash; +} + +@property (getter=getLastHash, setter=setLastHash) NSInteger lastHash; + ++ (id)newANTLRUniqueIDMap; ++ (id)newANTLRUniqueIDMapWithLen:(NSInteger)aHashSize; + +- (id)init; +- (id)initWithLen:(NSInteger)cnt; +- (void)dealloc; +// Instance Methods +- (NSInteger)count; +- (NSInteger)size; +/* clear -- reinitialize the maplist array */ +- (void) clear; + +- (void)deleteANTLRUniqueIDMap:(ANTLRNodeMapElement *)np; +- (void)delete_chain:(ANTLRNodeMapElement *)np; +- (id)getNode:(id)aNode; +- (void)putID:(id)anID Node:(id)aNode; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Headers/ANTLRUnwantedTokenException.h b/runtime/ObjC/ANTLR.framework/Headers/ANTLRUnwantedTokenException.h new file mode 100644 index 00000000..2945bfe8 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Headers/ANTLRUnwantedTokenException.h @@ -0,0 +1,47 @@ +// +// ANTLRUnwantedTokenException.h +// ANTLR +// +// Created by Alan Condit on 6/8/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRMismatchedTokenException.h" + +@interface ANTLRUnwantedTokenException : ANTLRMismatchedTokenException { + +} ++ (ANTLRUnwantedTokenException *)newANTLRUnwantedTokenException; ++ (ANTLRUnwantedTokenException *)newANTLRUnwantedTokenException:(NSInteger)expected Stream:(id)anInput; + +- (id) init; +- (id) initWithStream:(id)anInput And:(NSInteger)expected; +- (id)getUnexpectedToken; +- (NSString *)toString; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Resources b/runtime/ObjC/ANTLR.framework/Resources deleted file mode 120000 index 953ee36f..00000000 --- a/runtime/ObjC/ANTLR.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/runtime/ObjC/ANTLR.framework/Resources/English.lproj/InfoPlist.strings b/runtime/ObjC/ANTLR.framework/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 00000000..fa1b75f8 Binary files /dev/null and b/runtime/ObjC/ANTLR.framework/Resources/English.lproj/InfoPlist.strings differ diff --git a/runtime/ObjC/ANTLR.framework/Resources/Info.plist b/runtime/ObjC/ANTLR.framework/Resources/Info.plist new file mode 100644 index 00000000..24436a39 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Resources/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ANTLR + CFBundleIdentifier + org.antlr.antlrframework + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ANTLR + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleVersion + 1.0 + + diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current b/runtime/ObjC/ANTLR.framework/Versions/Current deleted file mode 120000 index 8c7e5a66..00000000 --- a/runtime/ObjC/ANTLR.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/ANTLR b/runtime/ObjC/ANTLR.framework/Versions/Current/ANTLR new file mode 100644 index 00000000..67c1d3ac Binary files /dev/null and b/runtime/ObjC/ANTLR.framework/Versions/Current/ANTLR differ diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLR.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLR.h new file mode 100644 index 00000000..671e783d --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLR.h @@ -0,0 +1,60 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import +#import +#import +#import +#import +#import +#import +#import + +#import +#import +#import +#import +#import +#import +#import +#import +#import + +#import +#import + +#import +#import +#import +#import +#import +#import +#import + +#import +#import diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseMapElement.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseMapElement.h new file mode 100644 index 00000000..b9100ac2 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseMapElement.h @@ -0,0 +1,54 @@ +// +// ANTLRBaseMapElement.h +// ANTLR +// +// Created by Alan Condit on 6/16/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRLinkBase.h" + +@interface ANTLRBaseMapElement : ANTLRLinkBase { + NSNumber *index; +} + +@property (retain, getter=getIndex, setter=setIndex:) NSNumber *index; + ++ (id) newANTLRBaseMapElement; ++ (id) newANTLRBaseMapElementWithIndex:(NSNumber *)anIdx; +- (id) init; +- (id) initWithAnIndex:(NSNumber *)anIdx; + +- (id) copyWithZone:(NSZone *)aZone; + +- (NSNumber *)getIndex; +- (void)setIndex:(NSNumber *)anIdx; + +- (NSInteger)count; +- (NSInteger)size; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseRecognizer.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseRecognizer.h new file mode 100644 index 00000000..1a922bda --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseRecognizer.h @@ -0,0 +1,183 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import + +#import "ANTLRIntStream.h" + +// This is an abstract superclass for lexers and parsers. + +#define ANTLR_MEMO_RULE_FAILED -2 +#define ANTLR_MEMO_RULE_UNKNOWN -1 +#define ANTLR_INITIAL_FOLLOW_STACK_SIZE 100 + +#import "ANTLRMapElement.h" +#import "ANTLRBitSet.h" +#import "ANTLRToken.h" +#import "ANTLRRecognizerSharedState.h" +#import "ANTLRRecognitionException.h" +#import "ANTLRMissingTokenException.h" +#import "ANTLRMismatchedTokenException.h" +#import "ANTLRMismatchedTreeNodeException.h" +#import "ANTLRUnwantedTokenException.h" +#import "ANTLRNoViableAltException.h" +#import "ANTLREarlyExitException.h" +#import "ANTLRMismatchedSetException.h" +#import "ANTLRMismatchedNotSetException.h" +#import "ANTLRFailedPredicateException.h" + +@interface ANTLRBaseRecognizer : NSObject { + ANTLRRecognizerSharedState *state; // the state of this recognizer. Might be shared with other recognizers, e.g. in grammar import scenarios. + NSString *grammarFileName; // where did the grammar come from. filled in by codegeneration +// BOOL failed; + NSString *sourceName; +// NSInteger numberOfSyntaxErrors; + NSArray *tokenNames; +} + +@property (retain, getter=getState, setter=setState) ANTLRRecognizerSharedState *state; +@property (retain, getter=getGrammarFileName, setter=setGrammarFileName) NSString *grammarFileName; +//@property (assign, getter=getFailed, setter=setFailed) BOOL failed; +@property (retain, getter=getTokenNames, setter=setTokenNames) NSArray *tokenNames; +@property (retain, getter=getSourceName, setter=setSourceName) NSString *sourceName; +//@property (assign, getter=getNumberOfSyntaxErrors, setter=setNumberOfSyntaxErrors) NSInteger numberOfSyntaxErrors; + ++ (void) initialize; + ++ (ANTLRBaseRecognizer *) newANTLRBaseRecognizer; ++ (ANTLRBaseRecognizer *) newANTLRBaseRecognizerWithRuleLen:(NSInteger)aLen; ++ (ANTLRBaseRecognizer *) newANTLRBaseRecognizer:(ANTLRRecognizerSharedState *)aState; + ++ (NSArray *)getTokenNames; ++ (void)setTokenNames:(NSArray *)aTokNamArray; ++ (void)setGrammarFileName:(NSString *)aFileName; + +- (id) init; +- (id) initWithLen:(NSInteger)aLen; +- (id) initWithState:(ANTLRRecognizerSharedState *)aState; + +- (void) dealloc; + +// simple accessors +- (NSInteger) getBacktrackingLevel; +- (void) setBacktrackingLevel:(NSInteger) level; + +- (BOOL) getFailed; +- (void) setFailed: (BOOL) flag; + +- (ANTLRRecognizerSharedState *) getState; +- (void) setState:(ANTLRRecognizerSharedState *) theState; + +// reset this recognizer - might be extended by codegeneration/grammar +- (void) reset; + +/** Match needs to return the current input symbol, which gets put + * into the label for the associated token ref; e.g., x=ID. Token + * and tree parsers need to return different objects. Rather than test + * for input stream type or change the IntStream interface, I use + * a simple method to ask the recognizer to tell me what the current + * input symbol is. + * + * This is ignored for lexers. + */ +- (id) getInput; + +- (void)skip; + +// do actual matching of tokens/characters +- (id) match:(id)anInput TokenType:(NSInteger)ttype Follow:(ANTLRBitSet *)follow; +- (void) matchAny:(id)anInput; +- (BOOL) mismatchIsUnwantedToken:(id)anInput TokenType:(NSInteger) ttype; +- (BOOL) mismatchIsMissingToken:(id)anInput Follow:(ANTLRBitSet *)follow; + +// error reporting and recovery +- (void) reportError:(ANTLRRecognitionException *)e; +- (void) displayRecognitionError:(NSArray *)theTokNams Exception:(ANTLRRecognitionException *)e; +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSArray *)theTokNams; +- (NSInteger) getNumberOfSyntaxErrors; +- (NSString *)getErrorHeader:(ANTLRRecognitionException *)e; +- (NSString *)getTokenErrorDisplay:(id)t; +- (void) emitErrorMessage:(NSString *)msg; +- (void) recover:(id)anInput Exception:(ANTLRRecognitionException *)e; + +// begin hooks for debugger +- (void) beginResync; +- (void) endResync; +// end hooks for debugger + +// compute the bitsets necessary to do matching and recovery +- (ANTLRBitSet *)computeErrorRecoverySet; +- (ANTLRBitSet *)computeContextSensitiveRuleFOLLOW; +- (ANTLRBitSet *)combineFollows:(BOOL) exact; + +- (id) recoverFromMismatchedToken:(id)anInput + TokenType:(NSInteger)ttype + Follow:(ANTLRBitSet *)follow; + +- (id)recoverFromMismatchedSet:(id)anInput + Exception:(ANTLRRecognitionException *)e + Follow:(ANTLRBitSet *)follow; + +- (id) getCurrentInputSymbol:(id)anInput; +- (id) getMissingSymbol:(id)anInput + Exception:(ANTLRRecognitionException *)e + TokenType:(NSInteger) expectedTokenType + Follow:(ANTLRBitSet *)follow; + +// helper methods for recovery. try to resync somewhere +- (void) consumeUntilTType:(id)anInput TokenType:(NSInteger)ttype; +- (void) consumeUntilFollow:(id)anInput Follow:(ANTLRBitSet *)bitSet; +- (void) pushFollow:(ANTLRBitSet *)fset; +- (ANTLRBitSet *)popFollow; + +// to be used by the debugger to do reporting. maybe hook in incremental stuff here, too. +- (NSMutableArray *) getRuleInvocationStack; +- (NSMutableArray *) getRuleInvocationStack:(ANTLRRecognitionException *)exception + Recognizer:(NSString *)recognizerClassName; + +- (NSArray *) getTokenNames; +- (NSString *)getGrammarFileName; +- (NSString *)getSourceName; +- (NSMutableArray *) toStrings:(NSArray *)tokens; +// support for memoization +- (NSInteger) getRuleMemoization:(NSInteger)ruleIndex StartIndex:(NSInteger)ruleStartIndex; +- (BOOL) alreadyParsedRule:(id)anInput RuleIndex:(NSInteger)ruleIndex; +- (void) memoize:(id)anInput + RuleIndex:(NSInteger)ruleIndex + StartIndex:(NSInteger)ruleStartIndex; +- (NSInteger) getRuleMemoizationCacheSize; +- (void)traceIn:(NSString *)ruleName Index:(NSInteger)ruleIndex Object:(id)inputSymbol; +- (void)traceOut:(NSString *)ruleName Index:(NSInteger)ruleIndex Object:(id)inputSymbol; + + +// support for syntactic predicates. these are called indirectly to support funky stuff in grammars, +// like supplying selectors instead of writing code directly into the actions of the grammar. +- (BOOL) evaluateSyntacticPredicate:(SEL)synpredFragment; +// stream:(id)anInput; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseStack.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseStack.h new file mode 100644 index 00000000..50690311 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseStack.h @@ -0,0 +1,66 @@ +// +// ANTLRBaseRecognizer.m +// ANTLR +// +// Created by Alan Condit on 6/16/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRPtrBuffer.h" + +//#define GLOBAL_SCOPE 0 +//#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRBaseStack : ANTLRPtrBuffer { + //ANTLRRuleStack *fNext; + // TStringPool *fPool; + NSInteger LastHash; +} + +//@property (copy) ANTLRRuleStack *fNext; +@property (getter=getLastHash, setter=setLastHash) NSInteger LastHash; + +// Contruction/Destruction ++ (ANTLRBaseStack *)newANTLRBaseStack; ++ (ANTLRBaseStack *)newANTLRBaseStackWithLen:(NSInteger)cnt; +- (id)init; +- (id)initWithLen:(NSInteger)cnt; +- (void)dealloc; + +// Instance Methods +- (id) copyWithZone:(NSZone *)aZone; + +- (NSInteger)count; +- (NSInteger)size; +/* clear -- reinitialize the maplist array */ + +- (NSInteger)getLastHash; +- (void)setLastHash:(NSInteger)aVal; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseTree.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseTree.h new file mode 100644 index 00000000..96513f88 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseTree.h @@ -0,0 +1,199 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import "ANTLRTree.h" + +@protocol ANTLRBaseTree + +@property (retain, getter=getChildren, setter=setChildren) NSMutableArray *children; + ++ (id) newANTLRBaseTree; ++ (id) newANTLRBaseTree:(id)node; + +- (id) init; +- (id) initWith:(id)node; + +- (id) getChild:(NSUInteger)i; +- (NSMutableArray *)getChildren; +- (void) setChildren:(NSMutableArray *)anArray; +- (id)getFirstChildWithType:(NSInteger)type; +- (NSUInteger) getChildCount; + +// Add t as a child to this node. If t is null, do nothing. If t +// is nil, add all children of t to this' children. + +- (void) addChild:(id) tree; +- (void) addChildren:(NSArray *) theChildren; +//- (void) removeAllChildren; + +- (void) setChild:(NSInteger) i With:(id)t; +- (id) deleteChild:(NSInteger) i; +- (NSMutableArray *) createChildrenList; +- (void) replaceChildrenFrom:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id) t; +// Indicates the node is a nil node but may still have children, meaning +// the tree is a flat list. + +- (BOOL) isNil; +- (NSInteger) getTokenStartIndex; +- (void) setTokenStartIndex:(NSInteger) index; +- (NSInteger) getTokenStopIndex; +- (void) setTokenStopIndex:(NSInteger) index; + +- (void) freshenParentAndChildIndexes; +- (void) freshenParentAndChildIndexes:(NSInteger) offset; +- (void) sanityCheckParentAndChildIndexes; +- (void) sanityCheckParentAndChildIndexes:(id) parent At:(NSInteger) i; + +- (NSInteger) getChildIndex; +- (void) setChildIndex:(NSInteger)i; + +- (id)getAncestor:(NSInteger)ttype; +- (NSMutableArray *)getAncestors; + +#pragma mark Copying +- (id) copyWithZone:(NSZone *)aZone; // the children themselves are not copied here! +- (id) deepCopy; // performs a deepCopyWithZone: with the default zone +- (id) deepCopyWithZone:(NSZone *)aZone; + +#pragma mark Tree Parser support +- (NSInteger) getType; +- (NSString *) getText; +// In case we don't have a token payload, what is the line for errors? +- (NSInteger) getLine; +- (NSInteger) getCharPositionInLine; + + +#pragma mark Informational +- (NSString *) treeDescription; +- (NSString *) description; + +- (NSString *) toString; +- (NSString *) toStringTree; + +@end + +@interface ANTLRBaseTree : NSObject +{ + NSMutableArray *children; + NSException *anException; +} + +@property (retain, getter=getChildren, setter=setChildren) NSMutableArray *children; + ++ (id) newANTLRBaseTree; ++ (id) newANTLRBaseTree:(id)node; + +- (id) init; +- (id) initWith:(id)node; + +- (id) getChild:(NSUInteger)i; +- (NSMutableArray *)getChildren; +- (void) setChildren:(NSMutableArray *)anArray; +- (id)getFirstChildWithType:(NSInteger)type; +- (NSUInteger) getChildCount; + +//- (void) removeAllChildren; + +// Add t as a child to this node. If t is null, do nothing. If t +// is nil, add all children of t to this' children. + +- (void) addChild:(id) tree; +- (void) addChildren:(NSArray *) theChildren; + +- (void) setChild:(NSInteger) i With:(id)t; +- (id) deleteChild:(NSInteger) i; +- (NSMutableArray *) createChildrenList; +- (void) replaceChildrenFrom:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id) t; +// Indicates the node is a nil node but may still have children, meaning + // the tree is a flat list. + +- (BOOL) isNil; +- (NSInteger) getTokenStartIndex; +- (void) setTokenStartIndex:(NSInteger) index; +- (NSInteger) getTokenStopIndex; +- (void) setTokenStopIndex:(NSInteger) index; + +- (void) freshenParentAndChildIndexes; +- (void) freshenParentAndChildIndexes:(NSInteger) offset; +- (void) sanityCheckParentAndChildIndexes; +- (void) sanityCheckParentAndChildIndexes:(id) parent At:(NSInteger) i; + +- (NSInteger) getChildIndex; +- (void) setChildIndex:(NSInteger)i; + +- (BOOL) hasAncestor:(NSInteger) ttype; +- (id)getAncestor:(NSInteger)ttype; +- (NSMutableArray *)getAncestors; + +- (id) copyWithZone:(NSZone *)aZone; +- (id) deepCopy; // performs a deepCopyWithZone: with the default zone +- (id) deepCopyWithZone:(NSZone *)aZone; + + // Return a token type; needed for tree parsing +- (NSInteger) getType; +- (NSString *) getText; + + // In case we don't have a token payload, what is the line for errors? +- (NSInteger) getLine; +- (NSInteger) getCharPositionInLine; +- (void) setCharPositionInLine:(NSInteger)pos; + +- (NSString *) treeDescription; +- (NSString *) description; +- (NSString *) toString; +- (NSString *) toStringTree; + +@end + +@interface ANTLRTreeNavigationNode : ANTLRBaseTree { +} +- (id) copyWithZone:(NSZone *)aZone; +@end + +@interface ANTLRTreeNavigationNodeDown : ANTLRTreeNavigationNode { +} ++ (ANTLRTreeNavigationNodeDown *) getNavigationNodeDown; +- (NSInteger) tokenType; +- (NSString *) description; +@end + +@interface ANTLRTreeNavigationNodeUp : ANTLRTreeNavigationNode { +} ++ (ANTLRTreeNavigationNodeUp *) getNavigationNodeUp; +- (NSInteger) tokenType; +- (NSString *) description; +@end + +@interface ANTLRTreeNavigationNodeEOF : ANTLRTreeNavigationNode { +} ++ (ANTLRTreeNavigationNodeEOF *) getNavigationNodeEOF; +- (NSInteger) tokenType; +- (NSString *) description; +@end + +extern ANTLRTreeNavigationNodeDown *navigationNodeDown; +extern ANTLRTreeNavigationNodeUp *navigationNodeUp; +extern ANTLRTreeNavigationNodeEOF *navigationNodeEOF; diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseTreeAdaptor.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseTreeAdaptor.h new file mode 100644 index 00000000..b4f8dad0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBaseTreeAdaptor.h @@ -0,0 +1,163 @@ +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreeAdaptor.h" +#import "ANTLRCommonErrorNode.h" +#import "ANTLRUniqueIDMap.h" + +@interface ANTLRBaseTreeAdaptor : NSObject { + ANTLRUniqueIDMap *treeToUniqueIDMap; + NSInteger uniqueNodeID; +} + +@property (retain, getter=getTreeToUniqueIDMap, setter=setTreeToUniqueIDMap:) ANTLRUniqueIDMap *treeToUniqueIDMap; +@property (getter=getUniqueNodeID, setter=setUniqueNodeID:) NSInteger uniqueNodeID; + ++ (id) newEmptyTree; + +- (id) init; + +- (id) copyWithZone:(NSZone *)aZone; + +- (id) emptyNode; + +- (ANTLRUniqueIDMap *)getTreeToUniqueIDMap; +- (void) setTreeToUniqueIDMap:(ANTLRUniqueIDMap *)aMapNode; + +- (NSInteger)getUniqueID; +- (void) setUniqueNodeID:(NSInteger)aUniqueNodeID; + +/** create tree node that holds the start and stop tokens associated + * with an error. + * + * If you specify your own kind of tree nodes, you will likely have to + * override this method. CommonTree returns Token.INVALID_TOKEN_TYPE + * if no token payload but you might have to set token type for diff + * node type. + * + * You don't have to subclass CommonErrorNode; you will likely need to + * subclass your own tree node class to avoid class cast exception. + */ +- (id) errorNode:(id)anInput + From:(id)startToken + To:(id)stopToken + Exception:(NSException *) e; + +- (BOOL) isNil:(id) aTree; + +- (id)dupTree:(id)aTree; +/** This is generic in the sense that it will work with any kind of + * tree (not just Tree interface). It invokes the adaptor routines + * not the tree node routines to do the construction. + */ +- (id)dupTree:(id)aTree Parent:(id)parent; +- (id)dupNode:(id)aNode; +/** Add a child to the tree t. If child is a flat tree (a list), make all + * in list children of t. Warning: if t has no children, but child does + * and child isNil then you can decide it is ok to move children to t via + * t.children = child.children; i.e., without copying the array. Just + * make sure that this is consistent with have the user will build + * ASTs. + */ +- (void) addChild:(id)aChild toTree:(id)aTree; + +/** If oldRoot is a nil root, just copy or move the children to newRoot. + * If not a nil root, make oldRoot a child of newRoot. + * + * old=^(nil a b c), new=r yields ^(r a b c) + * old=^(a b c), new=r yields ^(r ^(a b c)) + * + * If newRoot is a nil-rooted single child tree, use the single + * child as the new root node. + * + * old=^(nil a b c), new=^(nil r) yields ^(r a b c) + * old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + * + * If oldRoot was null, it's ok, just return newRoot (even if isNil). + * + * old=null, new=r yields r + * old=null, new=^(nil r) yields ^(nil r) + * + * Return newRoot. Throw an exception if newRoot is not a + * simple node or nil root with a single child node--it must be a root + * node. If newRoot is ^(nil x) return x as newRoot. + * + * Be advised that it's ok for newRoot to point at oldRoot's + * children; i.e., you don't have to copy the list. We are + * constructing these nodes so we should have this control for + * efficiency. + */ +- (id)becomeRoot:(id)aNewRoot old:(id)oldRoot; + +/** Transform ^(nil x) to x and nil to null */ +- (id)rulePostProcessing:(id)aRoot; + +- (id)becomeRootfromToken:(id)aNewRoot old:(id)oldRoot; + +- (id)createTree:(NSInteger)aTType With:(id)aFromToken; + +- (id)createTree:(NSInteger)aTType FromToken:(id)aFromToken Text:(NSString *)theText; + +- (id)createTree:(NSInteger)aTType Text:(NSString *)theText; + +- (NSInteger) getType:(id)aTree; + +- (void) setType:(id)aTree Type:(NSInteger)type; + +- (NSString *)getText:(id)aTree; + +- (void) setText:(id)aTree Text:(NSString *)theText; + +- (id) getChild:(id)aTree At:(NSInteger)i; + +- (void) setChild:(id)aTree At:(NSInteger)index Child:(id)aChild; + +- (id) deleteChild:(id)aTree Index:(NSInteger)index; + +- (NSInteger) getChildCount:(id)aTree; + +- (NSInteger) getUniqueID:(id)node; + +/** Tell me how to create a token for use with imaginary token nodes. + * For example, there is probably no input symbol associated with imaginary + * token DECL, but you need to create it as a payload or whatever for + * the DECL node as in ^(DECL type ID). + * + * This is a variant of createToken where the new token is derived from + * an actual real input token. Typically this is for converting '{' + * tokens to BLOCK etc... You'll see + * + * r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + * + * If you care what the token payload objects' type is, you should + * override this method and any other createToken variant. + */ +- (id)createToken:(NSInteger)aTType Text:(NSString *)theText; + +- (id)createToken:(id)aFromToken; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBitSet.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBitSet.h new file mode 100644 index 00000000..a1be1175 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBitSet.h @@ -0,0 +1,93 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import +#import "ANTLRToken.h" + +#define BITS (sizeof(NSUInteger) * 8) +#define LOG_BITS ((sizeof(NSUInteger)==8)?6:5) + +// A simple wrapper around CoreFoundation bit vectors to shield the rest of the implementation +// from the specifics of the BitVector initialization and query functions. +// This is fast, so there is no need to reinvent the wheel just yet. + +@interface ANTLRBitSet : NSObject < NSMutableCopying > { + CFMutableBitVectorRef bitVector; +} + +#pragma mark Class Methods + ++ (ANTLRBitSet *) newANTLRBitSet; ++ (ANTLRBitSet *) newANTLRBitSetWithType:(ANTLRTokenType)type; +/** Construct a ANTLRBitSet given the size + * @param nbits The size of the ANTLRBitSet in bits + */ ++ (ANTLRBitSet *) newANTLRBitSetWithNBits:(NSUInteger)nbits; ++ (ANTLRBitSet *) newANTLRBitSetWithArray:(NSMutableArray *)types; ++ (ANTLRBitSet *) newANTLRBitSetWithBits:(const unsigned long long *)theBits Count:(NSUInteger)longCount; + ++ (ANTLRBitSet *) of:(NSUInteger)el; ++ (ANTLRBitSet *) of:(NSUInteger)a And2:(NSUInteger)b; ++ (ANTLRBitSet *) of:(NSUInteger)a And2:(NSUInteger)b And3:(NSUInteger)c; ++ (ANTLRBitSet *) of:(NSUInteger)a And2:(NSUInteger)b And3:(NSUInteger)c And4:(NSUInteger)d; + +#pragma mark Initializer + +- (ANTLRBitSet *) init; +- (ANTLRBitSet *) initWithType:(ANTLRTokenType)type; +- (ANTLRBitSet *) initWithNBits:(NSUInteger)nbits; +- (ANTLRBitSet *) initWithBitVector:(CFMutableBitVectorRef)theBitVector; +- (ANTLRBitSet *) initWithBits:(const unsigned long long const*)theBits Count:(NSUInteger)theCount; +- (ANTLRBitSet *) initWithArrayOfBits:(NSArray *)theArray; + +#pragma mark Operations +- (ANTLRBitSet *) or:(ANTLRBitSet *) aBitSet; +- (void) orInPlace:(ANTLRBitSet *) aBitSet; +- (void) add:(NSUInteger) bit; +- (void) remove:(NSUInteger) bit; +- (void) setAllBits:(BOOL) aState; + +- (NSInteger) numBits; +- (NSUInteger) size; +- (void) setSize:(NSUInteger) noOfWords; + +#pragma mark Informational +- (unsigned long long) bitMask:(NSUInteger) bitNumber; +- (BOOL) member:(NSUInteger)bitNumber; +- (BOOL) isNil; +- (NSString *) toString; +- (NSString *) description; + +#pragma mark NSCopying support + +- (id) mutableCopyWithZone:(NSZone *) theZone; + + +//private +- (CFMutableBitVectorRef) _bitVector; +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBufferedTokenStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBufferedTokenStream.h new file mode 100644 index 00000000..198a6f70 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBufferedTokenStream.h @@ -0,0 +1,98 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTokenStream.h" +#import "ANTLRTokenSource.h" +#import "ANTLRBitSet.h" + +@interface ANTLRBufferedTokenStream : NSObject +{ +id tokenSource; + + /** Record every single token pulled from the source so we can reproduce + * chunks of it later. The buffer in LookaheadStream overlaps sometimes + * as its moving window moves through the input. This list captures + * everything so we can access complete input text. + */ +NSMutableArray *tokens; + + /** Track the last mark() call result value for use in rewind(). */ +NSInteger lastMarker; + + /** The index into the tokens list of the current token (next token + * to consume). tokens[p] should be LT(1). p=-1 indicates need + * to initialize with first token. The ctor doesn't get a token. + * First call to LT(1) or whatever gets the first token and sets p=0; + */ +NSInteger p; + +NSInteger range; // how deep have we gone? + +} +@property (retain, getter=getTokenSource,setter=setTokenSource) id tokenSource; +@property (retain, getter=getTokens,setter=setTokens) NSMutableArray *tokens; +@property (assign, getter=getLastMarker,setter=setLastMarker) NSInteger lastMarker; +@property (assign, getter=getIndex,setter=setIndex) NSInteger p; +@property (assign, getter=getRange,setter=setRange) NSInteger range; + ++ (ANTLRBufferedTokenStream *) newANTLRBufferedTokenStream; ++ (ANTLRBufferedTokenStream *) newANTLRBufferedTokenStreamWith:(id)aSource; +- (id) initWithSource:(id)aSource; +- (id) copyWithZone:(NSZone *)aZone; +- (NSInteger) getIndex; +- (void) setIndex:(NSInteger)index; +- (NSInteger) getRange; +- (void) setRange:(NSInteger)anInt; +- (NSInteger) mark; +- (void) release:(NSInteger) marker; +- (void) rewind:(NSInteger) marker; +- (void) rewind; +- (void) reset; +- (void) seek:(NSInteger) index; +- (NSInteger) size; +- (void) consume; +- (void) sync:(NSInteger) i; +- (void) fetch:(NSInteger) n; +- (id) getToken:(NSInteger) i; +- (NSMutableArray *)getFrom:(NSInteger)startIndex To:(NSInteger) stopIndex; +- (NSInteger) LA:(NSInteger)k; +- (id) LT:(NSInteger) k; +- (id) LB:(NSInteger) k; +- (void) setup; +- (id) getTokenSource; +- (void) setTokenSource:(id) aTokenSource; +- (NSMutableArray *)getTokens; +- (NSString *) getSourceName; +- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex; +- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex With:(ANTLRBitSet *)types; +- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithList:(NSMutableArray *)types; +- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithType:(NSInteger)ttype; +- (NSString *) toStringFromStart:(NSInteger)startIndex ToEnd:(NSInteger)stopIndex; +- (NSString *) toStringFromToken:(id)startIndex ToToken:(id)stopIndex; +- (void) fill; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBufferedTreeNodeStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBufferedTreeNodeStream.h new file mode 100644 index 00000000..8618ea27 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRBufferedTreeNodeStream.h @@ -0,0 +1,156 @@ +// +// ANTLRBufferedTreeNodeStream.h +// ANTLR +// +// [The "BSD licence"] +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTree.h" +#import "ANTLRCommonTreeAdaptor.h" +#import "ANTLRTokenStream.h" +#import "ANTLRCommonTreeNodeStream.h" +#import "ANTLRLookaheadStream.h" +#import "ANTLRTreeIterator.h" +#import "ANTLRIntArray.h" + +#define DEFAULT_INITIAL_BUFFER_SIZE 100 +#define INITIAL_CALL_STACK_SIZE 10 + +#ifdef DONTUSENOMO +@interface ANTLRStreamIterator : ANTLRTreeIterator +{ + NSInteger idx; + ANTLRBufferedTreeNodeStream input; + NSMutableArray *nodes; +} + ++ (id) newANTLRStreamIterator:(ANTLRBufferedTreeNodeStream *) theStream; + +- (id) initWithStream:(ANTLRBufferedTreeNodeStream *) theStream; + +- (BOOL) hasNext; +- (id) next; +- (void) remove; +@end +#endif + +@interface ANTLRBufferedTreeNodeStream : NSObject +{ + id up; + id down; + id eof; + + NSMutableArray *nodes; + + id root; // root + + id tokens; + ANTLRCommonTreeAdaptor *adaptor; + + BOOL uniqueNavigationNodes; + NSInteger p; + NSInteger lastMarker; + ANTLRIntArray *calls; + + NSEnumerator *e; + id currentSymbol; + +} + +@property (retain, getter=getUp, setter=setUp:) id up; +@property (retain, getter=getDown, setter=setDown:) id down; +@property (retain, getter=getEof, setter=setEof:) id eof; +@property (retain, getter=getNodes, setter=setNodes:) NSMutableArray *nodes; +@property (retain, getter=getTreeSource, setter=setTreeSource:) id root; +@property (retain, getter=getTokenStream, setter=setTokenStream:) id tokens; +@property (retain, getter=getAdaptor, setter=setAdaptor:) ANTLRCommonTreeAdaptor *adaptor; +@property (assign, getter=getUniqueNavigationNodes, setter=setUniqueNavigationNodes:) BOOL uniqueNavigationNodes; +@property (assign, getter=getIndex, setter=setIndex:) NSInteger p; +@property (assign, getter=getLastMarker, setter=setLastMarker:) NSInteger lastMarker; +@property (retain, getter=getCalls, setter=setCalls:) ANTLRIntArray *calls; +@property (retain, getter=getEnum, setter=setEnum:) NSEnumerator *e; +@property (retain, getter=getCurrentSymbol, setter=setCurrentSymbol:) id currentSymbol; + ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)tree; ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(id)tree; ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(id)tree withBufferSize:(NSInteger)initialBufferSize; + +#pragma mark Constructor +- (id) initWithTree:(id)tree; +- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(id)tree; +- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(id)tree WithBufferSize:(NSInteger)bufferSize; + +- (id) copyWithZone:(NSZone *)aZone; + +// protected methods. DO NOT USE +#pragma mark Protected Methods +- (void) fillBuffer; +- (void) fillBufferWithTree:(id) tree; +- (NSInteger) getNodeIndex:(id) node; +- (void) addNavigationNode:(NSInteger) type; +- (id) getNode:(NSInteger) i; +- (id) LT:(NSInteger) k; +- (id) getCurrentSymbol; +- (id) LB:(NSInteger) i; +#pragma mark General Methods +- (NSString *) getSourceName; + +- (id) getTokenStream; +- (void) setTokenStream:(id) tokens; +- (id) getTreeAdaptor; +- (void) setTreeAdaptor:(id) anAdaptor; + +- (BOOL)getUniqueNavigationNodes; +- (void) setUniqueNavigationNodes:(BOOL)aVal; + +- (void) consume; +- (NSInteger) LA:(NSInteger) i; +- (NSInteger) mark; +- (void) release:(NSInteger) marker; +- (NSInteger) getIndex; +- (void) setIndex:(NSInteger) idx; +- (void) rewind:(NSInteger) marker; +- (void) rewind; +- (void) seek:(NSInteger) idx; + +- (void) push:(NSInteger) i; +- (NSInteger) pop; + +- (void) reset; +- (NSUInteger) count; +- (NSEnumerator *) objectEnumerator; +- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id) t; + +- (NSString *) toTokenTypeString; +- (NSString *) toTokenString:(NSInteger)aStart ToEnd:(NSInteger)aStop; +- (NSString *) toStringFromNode:(id)aStart ToNode:(id)aStop; + +// getters and setters +- (NSMutableArray *) getNodes; +- (id) getEof; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCharStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCharStream.h new file mode 100644 index 00000000..379734b3 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCharStream.h @@ -0,0 +1,55 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import "ANTLRIntStream.h" + +#define ANTLRCharStreamEOF -1 + + +@protocol ANTLRCharStream < ANTLRIntStream > + +- (NSString *) substringWithRange:(NSRange) theRange; + +/** Get the ith character of lookahead. This is the same usually as + * LA(i). This will be used for labels in the generated + * lexer code. I'd prefer to return a char here type-wise, but it's + * probably better to be 32-bit clean and be consistent with LA. + */ +- (NSInteger)LT:(NSInteger) i; + +// ANTLR tracks the line information automatically +- (NSInteger) getLine; + +// Because this stream can rewind, we need to be able to reset the line +- (void) setLine:(NSInteger) theLine; + +// The index of the character relative to the beginning of the line 0..n-1 +- (NSInteger) getCharPositionInLine; + +- (void) setCharPositionInLine:(NSInteger) thePos; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCharStreamState.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCharStreamState.h new file mode 100644 index 00000000..2787c762 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCharStreamState.h @@ -0,0 +1,58 @@ +// +// ANTLRCharStreamState.h +// ANTLR +// +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + + +@interface ANTLRCharStreamState : NSObject +{ +NSInteger p; +NSInteger line; +NSInteger charPositionInLine; +} + +@property (getter=getP,setter=setP:) NSInteger p; +@property (getter=getLine,setter=setLine:) NSInteger line; +@property (getter=getCharPositionInLine,setter=setCharPositionInLine:) NSInteger charPositionInLine; + ++ newANTLRCharStreamState; + +- (id) init; + +- (NSInteger) getP; +- (void) setP: (NSInteger) anIndex; + +- (NSInteger) getLine; +- (void) setLine: (NSInteger) aLine; + +- (NSInteger) getCharPositionInLine; +- (void) setCharPositionInLine:(NSInteger)aCharPositionInLine; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonErrorNode.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonErrorNode.h new file mode 100644 index 00000000..79badc1d --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonErrorNode.h @@ -0,0 +1,63 @@ +// +// ANTLRCommonErrorNode.h +// ANTLR +// +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTree.h" +#import "ANTLRTokenStream.h" +//#import "ANTLRIntStream.h" +//#import "ANTLRToken.h" +#import "ANTLRUnWantedTokenException.h" + +@interface ANTLRCommonErrorNode : ANTLRCommonTree +{ +id input; +id startToken; +id stopToken; +ANTLRRecognitionException *trappedException; +} + ++ (id) newANTLRCommonErrorNode:(id)anInput + From:(id)startToken + To:(id)stopToken + Exception:(ANTLRRecognitionException *) e; + +- (id) initWithInput:(id)anInput + From:(id)startToken + To:(id)stopToken + Exception:(ANTLRRecognitionException *) e; +- (BOOL) isNil; + +- (NSInteger) getType; + +- (NSString *) getText; + +- (NSString *) toString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonToken.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonToken.h new file mode 100644 index 00000000..86623788 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonToken.h @@ -0,0 +1,105 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRToken.h" +#import "ANTLRCharStream.h" + +@interface ANTLRCommonToken : NSObject < ANTLRToken > { + NSString *text; + NSInteger type; + // information about the Token's position in the input stream + NSUInteger line; + NSUInteger charPositionInLine; + NSUInteger channel; + // this token's position in the TokenStream + NSUInteger index; + + // indices into the CharStream to avoid copying the text + // can manually override the text by using -setText: + NSUInteger startIndex; + NSUInteger stopIndex; + // the actual input stream this token was found in + id input; +} + +@property (retain, getter=getText, setter=setText:) NSString *text; +@property (assign, getter=getType, setter=setType:) NSInteger type; +@property (assign, getter=getLine, setter=setLine:) NSUInteger line; +@property (assign, getter=getCharPositionInLine, setter=setCharPositionInLine:) NSUInteger charPositionInLine; +@property (assign, getter=getChannel, setter=setChannel:) NSUInteger channel; +@property (assign, getter=getTokenIndex, setter=setTokenIndex:) NSUInteger index; +@property (assign, getter=getStart, setter=setStart:) NSUInteger startIndex; +@property (assign, getter=getStop, setter=setStop:) NSUInteger stopIndex; +@property (retain, getter=getInput, setter=setInput:) id input; + ++ (void) initialize; ++ (ANTLRCommonToken *) newANTLRCommonToken; ++ (ANTLRCommonToken *) newANTLRCommonToken:(id)anInput + Type:(NSInteger)aTType + Channel:(NSInteger)aChannel + Start:(NSInteger)aStart + Stop:(NSInteger)aStop; ++ (ANTLRCommonToken *) newANTLRCommonToken:(ANTLRTokenType)aType; ++ (id) newANTLRCommonToken:(NSInteger)tokenType Text:(NSString *)tokenText; ++ (id) newANTLRCommonTokenWithToken:(id)fromToken; ++ (id) eofToken; ++ (id) skipToken; ++ (id) invalidToken; ++ (ANTLRTokenChannel) defaultChannel; + +// designated initializer. This is used as the default way to initialize a Token in the generated code. +- (ANTLRCommonToken *) init; +- (ANTLRCommonToken *) initWithInput:(id)anInput + Type:(NSInteger)aTType + Channel:(NSInteger)aChannel + Start:(NSInteger)theStart + Stop:(NSInteger)theStop; +- (ANTLRCommonToken *) initWithToken:(ANTLRCommonToken *)aToken; +- (ANTLRCommonToken *) initWithType:(ANTLRTokenType)aType; +- (ANTLRCommonToken *) initWithType:(ANTLRTokenType)aTType Text:(NSString *)tokenText; + +- (id) getInput; +- (void) setInput: (id) anInput; + +- (NSUInteger) getStart; +- (void) setStart: (NSUInteger) aStart; + +- (NSUInteger) getStop; +- (void) setStop: (NSUInteger) aStop; + +// the index of this Token into the TokenStream +- (NSUInteger) getTokenIndex; +- (void) setTokenIndex: (NSUInteger) aTokenIndex; + +// conform to NSCopying +- (id) copyWithZone:(NSZone *)theZone; + +- (NSString *) description; +- (NSString *) toString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTokenStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTokenStream.h new file mode 100644 index 00000000..59f9d5e3 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTokenStream.h @@ -0,0 +1,90 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTokenStream.h" +#import "ANTLRToken.h" +#import "ANTLRCommonToken.h" +#import "ANTLRTokenSource.h" +#import "ANTLRBitSet.h" +#import "ANTLRBufferedTokenStream.h" + +@interface ANTLRCommonTokenStream : ANTLRBufferedTokenStream < ANTLRTokenStream > +{ + NSMutableDictionary *channelOverride; + NSInteger channel; +} + +@property (retain, getter=getChannelOverride,setter=setChannelOverride) NSMutableDictionary *channelOverride; +@property (assign, getter=getChannel,setter=setChannel) NSInteger channel; + ++ (ANTLRCommonTokenStream *)newANTLRCommonTokenStream; ++ (ANTLRCommonTokenStream *)newANTLRCommonTokenStreamWithTokenSource:(id)theTokenSource; ++ (ANTLRCommonTokenStream *)newANTLRCommonTokenStreamWithTokenSource:(id)theTokenSource + Channel:(NSInteger)aChannel; + +- (id) init; +- (id) initWithTokenSource:(id)theTokenSource; +- (id) initWithTokenSource:(id)theTokenSource Channel:(NSInteger)aChannel; + +- (id) getTokenSource; +- (void) setTokenSource: (id) aTokenSource; + +- (void) consume; +- (id) LT:(NSInteger)k; +- (id) LB:(NSInteger)k; + +- (NSInteger) skipOffChannelTokens:(NSInteger) i; +- (NSInteger) skipOffChannelTokensReverse:(NSInteger) i; + +- (void)setup; + +- (NSArray *) tokensInRange:(NSRange)aRange; +- (NSArray *) tokensInRange:(NSRange)aRange inBitSet:(ANTLRBitSet *)aBitSet; +- (NSArray *) tokensInRange:(NSRange)aRange withTypes:(NSArray *)tokenTypes; +- (NSArray *) tokensInRange:(NSRange)aRange withType:(NSInteger)tokenType; + +- (id) getToken:(NSInteger)i; + +- (NSInteger) size; +- (NSInteger) getIndex; +- (void) rewind; +- (void) rewind:(NSInteger)marker; +- (void) seek:(NSInteger)index; + +- (NSString *) toString; +- (NSString *) toStringFromStart:(NSInteger)startIndex ToEnd:(NSInteger)stopIndex; +- (NSString *) toStringFromToken:(id)startToken ToToken:(id)stopToken; + +- (id) copyWithZone:(NSZone *)aZone; + +- (NSInteger)getChannel; +- (void)setChannel:(NSInteger)aChannel; + +- (NSMutableDictionary *)getChannelOverride; +- (void)setChannelOverride:(NSMutableDictionary *)anOverride; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTree.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTree.h new file mode 100644 index 00000000..09660515 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTree.h @@ -0,0 +1,88 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonToken.h" +#import "ANTLRBaseTree.h" + +@interface ANTLRCommonTree : ANTLRBaseTree { + ANTLRCommonToken *token; + NSInteger startIndex; + NSInteger stopIndex; + ANTLRCommonTree *parent; + NSInteger childIndex; +} + +@property (retain, getter=getANTLRCommonToken, setter=setANTLRCommonToken) ANTLRCommonToken *token; +@property (assign, getter=getTokenStartIndex, setter=setTokenStartIndex) NSInteger startIndex; +@property (assign, getter=getTokenStopIndex, setter=setTokenStopIndex) NSInteger stopIndex; +@property (retain, getter=getParent, setter=setParent:) ANTLRCommonTree *parent; +@property (assign, getter=getChildIndex, setter=setChildIndex) NSInteger childIndex; + ++ (ANTLRCommonTree *) invalidNode; ++ (ANTLRCommonTree *) newANTLRCommonTree; ++ (ANTLRCommonTree *) newANTLRCommonTreeWithTree:(ANTLRCommonTree *)aTree; ++ (ANTLRCommonTree *) newANTLRCommonTreeWithToken:(ANTLRCommonToken *)aToken; ++ (ANTLRCommonTree *) newANTLRCommonTreeWithTokenType:(NSInteger)tokenType; ++ (ANTLRCommonTree *) newANTLRCommonTreeWithTokenType:(NSInteger)aTType Text:(NSString *)theText; +#ifdef DONTUSEYET ++ (id) newANTLRCommonTreeWithTokenType:(NSInteger)tokenType; ++ (id) newANTLRCommonTreeWithToken:(id)fromToken TokenType:(NSInteger)tokenType; ++ (id) newANTLRCommonTreeWithToken:(id)fromToken TokenType:(NSInteger)tokenType Text:(NSString *)tokenText; ++ (id) newANTLRCommonTreeWithToken:(id)fromToken Text:(NSString *)tokenText; +#endif + +- (id) init; +- (id) initWithTreeNode:(ANTLRCommonTree *)aNode; +- (id) initWithToken:(ANTLRCommonToken *)aToken; +- (id) initWithTokenType:(NSInteger)aTokenType; +- (id) initWithTokenType:(NSInteger)aTokenType Text:(NSString *)theText; + +- (id) copyWithZone:(NSZone *)aZone; + +- (BOOL) isNil; + +- (ANTLRCommonToken *) getToken; +- (void) setToken:(ANTLRCommonToken *)aToken; +- (id) dupNode; +- (NSInteger) getType; +- (NSString *) getText; +- (NSUInteger) getLine; +- (NSUInteger) getCharPositionInLine; +- (ANTLRCommonTree *) getParent; +- (void) setParent:(ANTLRCommonTree *) t; + +#ifdef DONTUSENOMO +- (NSString *) treeDescription; +#endif +- (NSString *) description; +- (void) setUnknownTokenBoundaries; +- (NSInteger) getTokenStartIndex; +- (void) setTokenStartIndex: (NSInteger) aStartIndex; +- (NSInteger) getTokenStopIndex; +- (void) setTokenStopIndex: (NSInteger) aStopIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTreeAdaptor.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTreeAdaptor.h new file mode 100644 index 00000000..53287e61 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTreeAdaptor.h @@ -0,0 +1,62 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRTree.h" +#import "ANTLRCommonToken.h" +#import "ANTLRCommonTree.h" +#import "ANTLRBaseTreeAdaptor.h" + +@interface ANTLRCommonTreeAdaptor : ANTLRBaseTreeAdaptor { +} + ++ (id) newEmptyTree; ++ (ANTLRCommonTreeAdaptor *)newANTLRCommonTreeAdaptor; +- (id) init; +- (id)dupNode:(id)t; +- (ANTLRCommonTree *)createTree:(ANTLRCommonToken *)aToken; +- (ANTLRCommonTree *)createTree:(NSInteger)tokenType Text:(NSString *)text; +- (id)createToken:(NSInteger)tokenType Text:(NSString *)text; +- (void) setTokenBoundaries:(id)t From:(id)startToken To:(id)stopToken; +- (NSInteger)getTokenStartIndex:(id)t; +- (NSInteger)getTokenStopIndex:(id)t; +- (NSString *)getText:(id)t; +- (void)setText:(id)t Text:(NSString *)text; +- (NSInteger)getType:(id)t; +- (void) setType:(id)t Type:(NSInteger)tokenType; +- (id)getToken:(id)t; +- (id)getChild:(id)t At:(NSInteger)i; +- (void) setChild:(id)t At:(NSInteger)i Child:(id)child; +- (NSInteger)getChildCount:(id)t; +- (id)getParent:(id)t; +- (void)setParent:(id)t With:(id)parent; +- (NSInteger)getChildIndex:(id)t; +- (void)setChildIndex:(id)t With:(NSInteger)index; +- (void)replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; +- (id)copyWithZone:(NSZone *)zone; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTreeNodeStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTreeNodeStream.h new file mode 100644 index 00000000..4c68f2e0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRCommonTreeNodeStream.h @@ -0,0 +1,116 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTree.h" +#import "ANTLRCommonTreeNodeStream.h" +#import "ANTLRLookaheadStream.h" +#import "ANTLRTreeNodeStream.h" +#import "ANTLRTreeIterator.h" +#import "ANTLRIntArray.h" + +@interface ANTLRCommonTreeNodeStream : ANTLRLookaheadStream { +#define DEFAULT_INITIAL_BUFFER_SIZE 100 +#define INITIAL_CALL_STACK_SIZE 10 + +/** Pull nodes from which tree? */ +id root; + +/** If this tree (root) was created from a token stream, track it. */ +id tokens; + + /** What tree adaptor was used to build these trees */ +ANTLRCommonTreeAdaptor *adaptor; + +/** The tree iterator we using */ +ANTLRTreeIterator *it; + +/** Stack of indexes used for push/pop calls */ +ANTLRIntArray *calls; + +/** Tree (nil A B C) trees like flat A B C streams */ +BOOL hasNilRoot; + +/** Tracks tree depth. Level=0 means we're at root node level. */ +NSInteger level; +} +@property (retain, getter=getRoot, setter=setRoot:) ANTLRCommonTree *root; +@property (retain, getter=getTokens,setter=setTokens:) id tokens; +@property (retain, getter=getTreeAdaptor, setter=setTreeAdaptor:) ANTLRCommonTreeAdaptor *adaptor; + ++ (ANTLRCommonTreeNodeStream *) newANTLRCommonTreeNodeStream:(ANTLRCommonTree *)theTree; ++ (ANTLRCommonTreeNodeStream *) newANTLRCommonTreeNodeStream:(id)anAdaptor Tree:(ANTLRCommonTree *)theTree; + +- (id) initWithTree:(ANTLRCommonTree *)theTree; + +- (id) initWithTreeAdaptor:(id)adaptor Tree:(ANTLRCommonTree *)theTree; + +- (void) reset; + + /** Pull elements from tree iterator. Track tree level 0..max_level. + * If nil rooted tree, don't give initial nil and DOWN nor final UP. + */ +- (id) nextElement; + +- (BOOL) isEOF:(id) o; +- (void) setUniqueNavigationNodes:(BOOL) uniqueNavigationNodes; + +- (id) getTreeSource; + +- (NSString *) getSourceName; + +- (id) getTokenStream; + +- (void) setTokenStream:(id) tokens; + +- (ANTLRCommonTreeAdaptor *) getTreeAdaptor; + +- (void) setTreeAdaptor:(ANTLRCommonTreeAdaptor *) adaptor; + +- (NSInteger) LA:(NSInteger) i; + + /** Make stream jump to a new location, saving old location. + * Switch back with pop(). + */ +- (ANTLRCommonTree *)getNode:(NSInteger) i; + +- (void) push:(NSInteger) index; + + /** Seek back to previous index saved during last push() call. + * Return top of stack (return index). + */ +- (NSInteger) pop; + +// TREE REWRITE INTERFACE + +- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id) t; + +- (NSString *) toStringFromNode:(id)startNode ToNode:(id)stopNode; + +/** For debugging; destructive: moves tree iterator to end. */ +- (NSString *) toTokenTypeString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDFA.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDFA.h new file mode 100644 index 00000000..9094a3d2 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDFA.h @@ -0,0 +1,75 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseRecognizer.h" +#import "ANTLRCharStream.h" +#import "ANTLRNoViableAltException.h" + +@interface ANTLRDFA : NSObject { + // the tables are set by subclasses to their own static versions. + const int *eot; + const int *eof; + const unichar *min; + const unichar *max; + const int *accept; + const int *special; + const int **transition; + + ANTLRBaseRecognizer *recognizer; + NSInteger decisionNumber; + NSInteger len; +} + +@property (retain, getter=getRecognizer,setter=setRecognizer:) ANTLRBaseRecognizer *recognizer; +@property (assign, getter=getDecision,setter=setDecision:) NSInteger decisionNumber; +@property (assign, getter=getLen,setter=setLen:) NSInteger len; + +- (id) initWithRecognizer:(id) theRecognizer; +// simulate the DFA using the static tables and predict an alternative +- (NSInteger) predict:(id)anInput; +- (void) noViableAlt:(NSInteger)state Stream:(id)anInput; + +- (NSInteger) specialStateTransition:(NSInteger)state Stream:(id)anInput; +// - (NSInteger) specialStateTransition:(NSInteger) state; +//- (unichar) specialTransition:(unichar) state symbol:(NSInteger) symbol; + +// hook for debugger support +- (void) error:(ANTLRNoViableAltException *)nvae; + +- (NSString *) description; +- (BOOL) evaluateSyntacticPredicate:(SEL)synpredFragment; + ++ (void) setIsEmittingDebugInfo:(BOOL) shouldEmitDebugInfo; + +- (NSInteger)getDecision; +- (void)setDecision:(NSInteger)aDecison; + +- (ANTLRBaseRecognizer *)getRecognizer; +- (void)setRecognizer:(ANTLRBaseRecognizer *)aRecognizer; +- (NSInteger)length; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebug.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebug.h new file mode 100644 index 00000000..87383c98 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebug.h @@ -0,0 +1,33 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import "ANTLRDebugEventListener.h" +#import "ANTLRDebugEventProxy.h" +#import "ANTLRDebugParser.h" +#import "ANTLRDebugTokenStream.h" +#import "ANTLRDebugTreeParser.h" +#import "ANTLRDebugTreeNodeStream.h" +#import "ANTLRDebugTreeAdaptor.h" diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugEventListener.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugEventListener.h new file mode 100644 index 00000000..c2bee6c8 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugEventListener.h @@ -0,0 +1,275 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRToken.h" +#import "ANTLRRecognitionException.h" + +@protocol ANTLRDebugEventListener + +#define ANTLRDebugProtocolVersion 1 + +/** The parser has just entered a rule. No decision has been made about +* which alt is predicted. This is fired AFTER init actions have been +* executed. Attributes are defined and available etc... +*/ +- (void) enterRule:(NSString *)ruleName; + +/** Because rules can have lots of alternatives, it is very useful to +* know which alt you are entering. This is 1..n for n alts. +*/ +- (void) enterAlt:(NSInteger)alt; + +/** This is the last thing executed before leaving a rule. It is +* executed even if an exception is thrown. This is triggered after +* error reporting and recovery have occurred (unless the exception is + * not caught in this rule). This implies an "exitAlt" event. +*/ +- (void) exitRule:(NSString *)ruleName; + +/** Track entry into any (...) subrule other EBNF construct */ +- (void) enterSubRule:(NSInteger)decisionNumber; + +- (void) exitSubRule:(NSInteger)decisionNumber; + +/** Every decision, fixed k or arbitrary, has an enter/exit event +* so that a GUI can easily track what LT/consume events are +* associated with prediction. You will see a single enter/exit +* subrule but multiple enter/exit decision events, one for each +* loop iteration. +*/ +- (void) enterDecision:(NSInteger)decisionNumber; + +- (void) exitDecision:(NSInteger)decisionNumber; + +/** An input token was consumed; matched by any kind of element. +* Trigger after the token was matched by things like match(), matchAny(). +*/ +- (void) consumeToken:(id)t; + +/** An off-channel input token was consumed. +* Trigger after the token was matched by things like match(), matchAny(). +* (unless of course the hidden token is first stuff in the input stream). +*/ +- (void) consumeHiddenToken:(id)t; + +/** Somebody (anybody) looked ahead. Note that this actually gets +* triggered by both LA and LT calls. The debugger will want to know +* which Token object was examined. Like consumeToken, this indicates +* what token was seen at that depth. A remote debugger cannot look +* ahead into a file it doesn't have so LT events must pass the token +* even if the info is redundant. +*/ +- (void) LT:(NSInteger)i foundToken:(id)t; + +/** The parser is going to look arbitrarily ahead; mark this location, +* the token stream's marker is sent in case you need it. +*/ +- (void) mark:(NSInteger)marker; + +/** After an arbitrairly long lookahead as with a cyclic DFA (or with +* any backtrack), this informs the debugger that stream should be +* rewound to the position associated with marker. +*/ +- (void) rewind:(NSInteger)marker; + +/** Rewind to the input position of the last marker. +* Used currently only after a cyclic DFA and just +* before starting a sem/syn predicate to get the +* input position back to the start of the decision. +* Do not "pop" the marker off the state. mark(i) +* and rewind(i) should balance still. +*/ +- (void) rewind; + +- (void) beginBacktrack:(NSInteger)level; + +- (void) endBacktrack:(NSInteger)level wasSuccessful:(BOOL)successful; + +/** To watch a parser move through the grammar, the parser needs to +* inform the debugger what line/charPos it is passing in the grammar. +* For now, this does not know how to switch from one grammar to the +* other and back for island grammars etc... +* +* This should also allow breakpoints because the debugger can stop +* the parser whenever it hits this line/pos. +*/ +- (void) locationLine:(NSInteger)line column:(NSInteger)pos; + +/** A recognition exception occurred such as NoViableAltException. I made +* this a generic event so that I can alter the exception hierachy later +* without having to alter all the debug objects. +* +* Upon error, the stack of enter rule/subrule must be properly unwound. +* If no viable alt occurs it is within an enter/exit decision, which +* also must be rewound. Even the rewind for each mark must be unwount. +* In the Java target this is pretty easy using try/finally, if a bit +* ugly in the generated code. The rewind is generated in DFA.predict() +* actually so no code needs to be generated for that. For languages +* w/o this "finally" feature (C++?), the target implementor will have +* to build an event stack or something. +* +* Across a socket for remote debugging, only the RecognitionException +* data fields are transmitted. The token object or whatever that +* caused the problem was the last object referenced by LT. The +* immediately preceding LT event should hold the unexpected Token or +* char. +* +* Here is a sample event trace for grammar: +* +* b : C ({;}A|B) // {;} is there to prevent A|B becoming a set +* | D +* ; +* +* The sequence for this rule (with no viable alt in the subrule) for +* input 'c c' (there are 3 tokens) is: +* +* commence +* LT(1) +* enterRule b +* location 7 1 +* enter decision 3 +* LT(1) +* exit decision 3 +* enterAlt1 +* location 7 5 +* LT(1) +* consumeToken [c/<4>,1:0] +* location 7 7 +* enterSubRule 2 +* enter decision 2 +* LT(1) +* LT(1) +* recognitionException NoViableAltException 2 1 2 +* exit decision 2 +* exitSubRule 2 +* beginResync +* LT(1) +* consumeToken [c/<4>,1:1] +* LT(1) +* endResync +* LT(-1) +* exitRule b +* terminate +*/ +- (void) recognitionException:(ANTLRRecognitionException *)e; + +/** Indicates the recognizer is about to consume tokens to resynchronize +* the parser. Any consume events from here until the recovered event +* are not part of the parse--they are dead tokens. +*/ +- (void) beginResync; + +/** Indicates that the recognizer has finished consuming tokens in order +* to resychronize. There may be multiple beginResync/endResync pairs +* before the recognizer comes out of errorRecovery mode (in which +* multiple errors are suppressed). This will be useful +* in a gui where you want to probably grey out tokens that are consumed +* but not matched to anything in grammar. Anything between +* a beginResync/endResync pair was tossed out by the parser. +*/ +- (void) endResync; + +/** A semantic predicate was evaluate with this result and action text */ +- (void) semanticPredicate:(NSString *)predicate matched:(BOOL)result; + +/** Announce that parsing has begun. Not technically useful except for +* sending events over a socket. A GUI for example will launch a thread +* to connect and communicate with a remote parser. The thread will want +* to notify the GUI when a connection is made. ANTLR parsers +* trigger this upon entry to the first rule (the ruleLevel is used to +* figure this out). +*/ +- (void) commence; + +/** Parsing is over; successfully or not. Mostly useful for telling +* remote debugging listeners that it's time to quit. When the rule +* invocation level goes to zero at the end of a rule, we are done +* parsing. +*/ +- (void) terminate; + + +// T r e e P a r s i n g + +/** Input for a tree parser is an AST, but we know nothing for sure +* about a node except its type and text (obtained from the adaptor). +* This is the analog of the consumeToken method. Again, the ID is +* the hashCode usually of the node so it only works if hashCode is +* not implemented. If the type is UP or DOWN, then +* the ID is not really meaningful as it's fixed--there is +* just one UP node and one DOWN navigation node. +*/ +- (void) consumeNode:(NSInteger)nodeHash ofType:(NSInteger)type text:(NSString *)text; + +/** The tree parser lookedahead. If the type is UP or DOWN, +* then the ID is not really meaningful as it's fixed--there is +* just one UP node and one DOWN navigation node. +*/ +- (void) LT:(NSInteger)i foundNode:(unsigned)nodeHash ofType:(NSInteger)type text:(NSString *)text; + + +// A S T E v e n t s + +/** A nil was created (even nil nodes have a unique ID... +* they are not "null" per se). As of 4/28/2006, this +* seems to be uniquely triggered when starting a new subtree +* such as when entering a subrule in automatic mode and when +* building a tree in rewrite mode. +*/ +- (void) createNilNode:(unsigned)hash; + +/** Announce a new node built from text */ +- (void) createNode:(unsigned)hash text:(NSString *)text type:(NSInteger)type; + +/** Announce a new node built from an existing token */ +- (void) createNode:(unsigned)hash fromTokenAtIndex:(NSInteger)tokenIndex; + +/** Make a node the new root of an existing root. See +* +* Note: the newRootID parameter is possibly different +* than the TreeAdaptor.becomeRoot() newRoot parameter. +* In our case, it will always be the result of calling +* TreeAdaptor.becomeRoot() and not root_n or whatever. +* +* The listener should assume that this event occurs +* only when the current subrule (or rule) subtree is +* being reset to newRootID. +* +*/ +- (void) makeNode:(unsigned)newRootHash parentOf:(unsigned)oldRootHash; + +/** Make childID a child of rootID. +* @see org.antlr.runtime.tree.TreeAdaptor.addChild() +*/ +- (void) addChild:(unsigned)childHash toTree:(unsigned)treeHash; + +/** Set the token start/stop token index for a subtree root or node */ +- (void) setTokenBoundariesForTree:(unsigned)nodeHash From:(NSUInteger)tokenStartIndex To:(NSUInteger)tokenStopIndex; + +- (void) waitForDebuggerConnection; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugEventProxy.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugEventProxy.h new file mode 100644 index 00000000..59bf67bd --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugEventProxy.h @@ -0,0 +1,112 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRParser.h" +#import "ANTLRDebugEventListener.h" +#import +#import +#import +#include + +// default port for ANTLRWorks +#define DEFAULT_DEBUGGER_PORT 0xC001 + +@interface ANTLRDebugEventProxy : NSObject { + int serverSocket; + + struct sockaddr debugger_sockaddr; + socklen_t debugger_socklen; + int debuggerSocket; + NSFileHandle *debuggerFH; + + NSString *grammarName; + int debuggerPort; +} + +- (id) init; +- (id) initWithGrammarName:(NSString *)aGrammarName debuggerPort:(NSInteger)aPort; +- (void) waitForDebuggerConnection; +- (void) waitForAck; +- (void) sendToDebugger:(NSString *)message; +- (void) sendToDebugger:(NSString *)message waitForResponse:(BOOL)wait; + +- (NSInteger) serverSocket; +- (void) setServerSocket: (NSInteger) aServerSocket; + +- (NSInteger) debuggerSocket; +- (void) setDebuggerSocket: (NSInteger) aDebuggerSocket; + +- (NSString *) grammarName; +- (void) setGrammarName: (NSString *) aGrammarName; + +- (NSInteger) debuggerPort; +- (void) setDebuggerPort: (NSInteger) aDebuggerPort; + +- (NSString *) escapeNewlines:(NSString *)aString; + +#pragma mark - + +#pragma mark DebugEventListener Protocol +- (void) enterRule:(NSString *)ruleName; +- (void) enterAlt:(NSInteger)alt; +- (void) exitRule:(NSString *)ruleName; +- (void) enterSubRule:(NSInteger)decisionNumber; +- (void) exitSubRule:(NSInteger)decisionNumber; +- (void) enterDecision:(NSInteger)decisionNumber; +- (void) exitDecision:(NSInteger)decisionNumber; +- (void) consumeToken:(id)t; +- (void) consumeHiddenToken:(id)t; +- (void) LT:(NSInteger)i foundToken:(id)t; +- (void) mark:(NSInteger)marker; +- (void) rewind:(NSInteger)marker; +- (void) rewind; +- (void) beginBacktrack:(NSInteger)level; +- (void) endBacktrack:(NSInteger)level wasSuccessful:(BOOL)successful; +- (void) locationLine:(NSInteger)line column:(NSInteger)pos; +- (void) recognitionException:(ANTLRRecognitionException *)e; +- (void) beginResync; +- (void) endResync; +- (void) semanticPredicate:(NSString *)predicate matched:(BOOL)result; +- (void) commence; +- (void) terminate; + + +#pragma mark Tree Parsing +- (void) consumeNode:(unsigned)nodeHash ofType:(NSInteger)type text:(NSString *)text; +- (void) LT:(NSInteger)i foundNode:(unsigned)nodeHash ofType:(NSInteger)type text:(NSString *)text; + + +#pragma mark AST Events + +- (void) createNilNode:(unsigned)hash; +- (void) createNode:(unsigned)hash text:(NSString *)text type:(NSInteger)type; +- (void) createNode:(unsigned)hash fromTokenAtIndex:(NSInteger)tokenIndex; +- (void) makeNode:(unsigned)newRootHash parentOf:(unsigned)oldRootHash; +- (void) addChild:(unsigned)childHash toTree:(unsigned)treeHash; +- (void) setTokenBoundariesForTree:(unsigned)nodeHash From:(NSInteger)tokenStartIndex To:(NSInteger)tokenStopIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugParser.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugParser.h new file mode 100644 index 00000000..b23ff505 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugParser.h @@ -0,0 +1,47 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRParser.h" +#import "ANTLRDebugEventProxy.h" +#import "ANTLRDebugTokenStream.h" + +@interface ANTLRDebugParser : ANTLRParser { + id debugListener; +} + +- (id) initWithTokenStream:(id)theStream; +- (id) initWithTokenStream:(id)theStream + debuggerPort:(NSInteger)portNumber; +// designated initializer +- (id) initWithTokenStream:(id)theStream + debugListener:(id)theDebugListener + debuggerPort:(NSInteger)portNumber; + +- (id) debugListener; +- (void) setDebugListener: (id) aDebugListener; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTokenStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTokenStream.h new file mode 100644 index 00000000..335b0020 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTokenStream.h @@ -0,0 +1,62 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRParser.h" +#import "ANTLRTokenStream.h" +#import "ANTLRTokenSource.h" +#import "ANTLRDebugTokenStream.h" +#import "ANTLRDebugEventListener.h" + +@interface ANTLRDebugTokenStream : NSObject +{ + id debugListener; + id input; + BOOL initialStreamState; + NSInteger lastMarker; +} + +- (id) initWithTokenStream:(id)theStream debugListener:(id)debugger; + +- (id) debugListener; +- (void) setDebugListener: (id) aDebugListener; + +- (id) getInput; +- (void) setInput:(id)aTokenStream; + +- (void) consume; +- (id) getToken:(NSInteger)index; +- (NSInteger) getIndex; +- (void) release:(NSInteger)marker; +- (void) seek:(NSInteger)index; +- (NSInteger) size; +- (id) getTokenSource; +- (NSString *) getSourceName; +- (NSString *) toString; +- (NSString *) toStringFromStart:(NSInteger)aStart ToEnd:(NSInteger)aStop; +- (NSString *) toStringFromToken:(id)startToken ToToken:(id)stopToken; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTreeAdaptor.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTreeAdaptor.h new file mode 100644 index 00000000..41965fad --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTreeAdaptor.h @@ -0,0 +1,45 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRParser.h" +#import "ANTLRBaseTreeAdaptor.h" +#import "ANTLRDebugEventListener.h" + +@interface ANTLRDebugTreeAdaptor : ANTLRBaseTreeAdaptor { + id debugListener; + id treeAdaptor; +} + +- (id) initWithTreeAdaptor:(id)aTreeAdaptor debugListener:(id)aDebugListener; + +- (id) debugListener; +- (void) setDebugListener: (id) aDebugListener; + +- (id) getTreeAdaptor; +- (void) setTreeAdaptor: (id) aTreeAdaptor; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTreeNodeStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTreeNodeStream.h new file mode 100644 index 00000000..70f99394 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTreeNodeStream.h @@ -0,0 +1,67 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRDebugEventListener.h" +#import "ANTLRTreeAdaptor.h" +#import "ANTLRTreeNodeStream.h" + +@interface ANTLRDebugTreeNodeStream : NSObject { + id debugListener; + id treeAdaptor; + id input; + BOOL initialStreamState; +} + +- (id) initWithTreeNodeStream:(id)theStream debugListener:(id)debugger; + +- (id) debugListener; +- (void) setDebugListener: (id) aDebugListener; + +- (id) getInput; +- (void) setInput: (id) aTreeNodeStream; + +- (id) getTreeAdaptor; +- (void) setTreeAdaptor: (id) aTreeAdaptor; + +#pragma mark ANTLRTreeNodeStream conformance + +- (id) LT:(NSInteger)k; +- (id) getTreeAdaptor; +- (void) setUniqueNavigationNodes:(BOOL)flag; + +#pragma mark ANTLRIntStream conformance +- (void) consume; +- (NSInteger) LA:(NSUInteger) i; +- (NSUInteger) mark; +- (NSUInteger) getIndex; +- (void) rewind:(NSUInteger) marker; +- (void) rewind; +- (void) release:(NSUInteger) marker; +- (void) seek:(NSUInteger) index; +- (NSUInteger) size; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTreeParser.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTreeParser.h new file mode 100644 index 00000000..cbeac764 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRDebugTreeParser.h @@ -0,0 +1,48 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreeParser.h" +#import "ANTLRDebugEventProxy.h" +#import "ANTLRDebugTreeNodeStream.h" + +@interface ANTLRDebugTreeParser : ANTLRTreeParser { + id debugListener; +} + +- (id) initWithTreeNodeStream:(id)theStream; +- (id) initWithTreeNodeStream:(id)theStream + debuggerPort:(NSInteger)portNumber; + // designated initializer +- (id) initWithTreeNodeStream:(id)theStream + debugListener:(id)theDebugListener + debuggerPort:(NSInteger)portNumber; + +- (id) debugListener; +- (void) setDebugListener: (id) aDebugListener; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLREarlyExitException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLREarlyExitException.h new file mode 100644 index 00000000..1a89bbbf --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLREarlyExitException.h @@ -0,0 +1,37 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" + +@interface ANTLREarlyExitException : ANTLRRecognitionException { + int decisionNumber; +} + ++ (ANTLREarlyExitException *) exceptionWithStream:(id) anInputStream decisionNumber:(NSInteger) aDecisionNumber; +- (id) initWithStream:(id)anInputStream decisionNumber:(NSInteger) aDecisionNumber; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRError.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRError.h new file mode 100644 index 00000000..f2657af6 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRError.h @@ -0,0 +1,55 @@ +// +// ANTLRError.h +// ANTLR +// +// Created by Ian Michell on 30/03/2010. +// Copyright 2010 Ian Michell. All rights reserved. +// + +// [The "BSD licence"] +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + +#define ANTLRErrorDomain @"ANTLRError" + +#define ANTLRIllegalArgumentException @"ANTLRIllegalArgumentException" +#define ANTLRIllegalStateException @"IllegalStateException" +//#define ANTLRRuntimeException @"RuntimeException" +//#define ANTLRNoSuchMethodException @"NoSuchMethodException" +//#define ANTLRNoSuchElementException @"NoSuchElementException" +//#define ANTLRUnsupportedOperationException @"UnsupportedOperationException" + + +/*typedef enum +{ + ANTLRIllegalState = 1, + ANTLRIllegalArgument = 2, + ANTLRRecognitionError = 3, + ANTLRMissingTokenError = 4, + ANTLRUnwantedTokenError = 5, + ANTLRMismatechedTokenError = 6, + ANTLRNoViableAltError = 7 + +} ANTLRErrorCode;*/ \ No newline at end of file diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRFailedPredicateException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRFailedPredicateException.h new file mode 100644 index 00000000..9788cbad --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRFailedPredicateException.h @@ -0,0 +1,50 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" + + +@interface ANTLRFailedPredicateException : ANTLRRecognitionException +{ + NSString *predicate; + NSString *ruleName; +} + +@property (retain, getter=getPredicate, setter=setPredicate:) NSString *predicate; +@property (retain, getter=getRuleName, setter=setRuleName:) NSString *ruleName; + ++ (ANTLRFailedPredicateException *) exceptionWithRuleName:(NSString *)theRuleName predicate:(NSString *)thePredicate stream:(id)theStream; +- (ANTLRFailedPredicateException *) initWithRuleName:(NSString *)theRuleName predicate:(NSString *)thePredicate stream:(id)theStream; + +#ifdef DONTUSEYET +- (NSString *) getPredicate; +- (void) setPredicate:(NSString *)thePredicate; +- (NSString *) getRuleName; +- (void) setRuleName:(NSString *)theRuleName; +#endif + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRFastQueue.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRFastQueue.h new file mode 100644 index 00000000..cf818176 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRFastQueue.h @@ -0,0 +1,68 @@ +// +// ANTLRFastQueue.h +// ANTLR +// +// Created by Ian Michell on 26/04/2010. +// [The "BSD licence"] +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + + +@interface ANTLRFastQueue : NSObject +{ + NSAutoreleasePool *pool; + NSMutableArray *data; + NSInteger p; +} + +@property (retain, getter=getPool, setter=setPool) NSAutoreleasePool *pool; +@property (retain, getter=getData, setter=setData) NSMutableArray *data; +@property (assign, getter=getP, setter=setP) NSInteger p; + ++ (id) newANTLRFastQueue; + +- (id) init; + +- (id) copyWithZone:(NSZone *)aZone; + +- (void) reset; +- (id) remove; +- (void) addObject:(id) o; +- (NSInteger) count; +- (NSInteger) size; +- (id) head; +- (id) objectAtIndex:(NSInteger) i; +- (void) clear; +- (NSString *) toString; +- (NSAutoreleasePool *)getPool; +- (void)setPool:(NSAutoreleasePool *)aPool; +- (NSMutableArray *)getData; +- (void)setData:(NSMutableArray *)myData; +- (NSInteger) getP; +- (void) setP:(NSInteger)anInt; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashMap.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashMap.h new file mode 100644 index 00000000..04aca7bb --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashMap.h @@ -0,0 +1,102 @@ +// +// ANTLRHashMap.h +// ANTLR +// +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRLinkBase.h" +#import "ANTLRMapElement.h" + +#define GLOBAL_SCOPE 0 +#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRHashMap : ANTLRLinkBase { + // ANTLRHashMap *fNext; + // TStringPool *fPool; + NSInteger Scope; + NSInteger LastHash; + NSInteger BuffSize; + ANTLRMapElement *ptrBuffer[HASHSIZE]; + NSInteger mode; +} + +//@property (copy) ANTLRHashMap *fNext; +//@property (copy) TStringPool *fPool; +@property (getter=getScope, setter=setScope:) NSInteger Scope; +@property (getter=getLastHash, setter=setLastHash:) NSInteger LastHash; + +// Contruction/Destruction ++ (id)newANTLRHashMap; ++ (id)newANTLRHashMapWithLen:(NSInteger)aBuffSize; +- (id)init; +- (id)initWithLen:(NSInteger)aBuffSize; +- (void)dealloc; +- (ANTLRHashMap *)PushScope:( ANTLRHashMap **)map; +- (ANTLRHashMap *)PopScope:( ANTLRHashMap **)map; + +- (NSInteger)count; +- (NSInteger)size; + +// Instance Methods +/* form hash value for string s */ +- (NSInteger)hash:(NSString *)s; +/* look for s in ptrBuffer */ +- (ANTLRHashMap *)findscope:(int)level; +/* look for s in ptrBuffer */ +- (id)lookup:(NSString *)s Scope:(int)scope; +/* look for s in ptrBuffer */ +- (id)install:(ANTLRMapElement *)sym Scope:(int)scope; +/* look for s in ptrBuffer */ +- (void)deleteANTLRHashMap:(ANTLRMapElement *)np; +- (int)RemoveSym:(NSString *)s; +- (void)delete_chain:(ANTLRMapElement *)np; +#ifdef DONTUSEYET +- (int)bld_symtab:(KW_TABLE *)toknams; +#endif +- (ANTLRMapElement **)getptrBuffer; +- (ANTLRMapElement *)getptrBufferEntry:(int)idx; +- (void)setptrBuffer:(ANTLRMapElement *)np Index:(int)idx; +- (NSInteger)getScope; +- (void)setScope:(NSInteger)i; +- (ANTLRMapElement *)getTType:(NSString *)name; +- (ANTLRMapElement *)getNameInList:(NSInteger)ttype; +- (void)putNode:(NSString *)name TokenType:(NSInteger)ttype; +- (NSInteger)getMode; +- (void)setMode:(NSInteger)aMode; +- (void) insertObject:(id)aRule atIndex:(NSInteger)idx; +- (id) objectAtIndex:(NSInteger)idx; +- (void) setObject:(id)aRule atIndex:(NSInteger)idx; +- (void)addObject:(id)anObject; +- (ANTLRMapElement *) getName:(NSString *)aName; +- (void) putName:(NSString *)name Node:(id)aNode; + +- (NSEnumerator *)objectEnumerator; +- (BOOL) hasNext; +- (ANTLRMapElement *)nextObject; +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashMap.m b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashMap.m new file mode 100644 index 00000000..a23426b0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashMap.m @@ -0,0 +1,521 @@ +// +// ANTLRHashMap.m +// ANTLR +// +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#define SUCCESS (0) +#define FAILURE (-1) + +#import "ANTLRHashMap.h" + +static NSInteger itIndex; + +/* + * Start of ANTLRHashMap + */ +@implementation ANTLRHashMap + +@synthesize Scope; +@synthesize LastHash; + ++(id)newANTLRHashMap +{ + ANTLRHashMap *aNewANTLRHashMap; + + aNewANTLRHashMap = [[ANTLRHashMap alloc] init]; + return( aNewANTLRHashMap ); +} + ++(id)newANTLRHashMapWithLen:(NSInteger)aBuffSize +{ + ANTLRHashMap *aNewANTLRHashMap; + + aNewANTLRHashMap = [[ANTLRHashMap alloc] initWithLen:aBuffSize]; + return( aNewANTLRHashMap ); +} + +-(id)init +{ + NSInteger idx; + + if ((self = [super init]) != nil) { + fNext = nil; + BuffSize = HASHSIZE; + Scope = 0; + if ( fNext != nil ) { + Scope = ((ANTLRHashMap *)fNext)->Scope+1; + for( idx = 0; idx < BuffSize; idx++ ) { + ptrBuffer[idx] = ((ANTLRHashMap *)fNext)->ptrBuffer[idx]; + } + } + mode = 0; + } + return( self ); +} + +-(id)initWithLen:(NSInteger)aBuffSize +{ + NSInteger idx; + + if ((self = [super init]) != nil) { + fNext = nil; + BuffSize = aBuffSize; + Scope = 0; + if ( fNext != nil ) { + Scope = ((ANTLRHashMap *)fNext)->Scope+1; + for( idx = 0; idx < BuffSize; idx++ ) { + ptrBuffer[idx] = ((ANTLRHashMap *)fNext)->ptrBuffer[idx]; + } + } + mode = 0; + } + return( self ); +} + +-(void)dealloc +{ + ANTLRMapElement *tmp, *rtmp; + NSInteger idx; + + if ( self.fNext != nil ) { + for( idx = 0; idx < BuffSize; idx++ ) { + tmp = ptrBuffer[idx]; + while ( tmp && tmp != [((ANTLRHashMap *)fNext) getptrBufferEntry:idx] ) { + rtmp = tmp; + // tmp = [tmp getfNext]; + tmp = (ANTLRMapElement *)tmp.fNext; + [rtmp dealloc]; + } + } + } + [super dealloc]; +} + +- (NSInteger)count +{ + id anElement; + NSInteger aCnt = 0; + + for (NSInteger i = 0; i < BuffSize; i++) { + if ((anElement = ptrBuffer[i]) != nil) { + aCnt++; + } + } + return aCnt; +} + +- (NSInteger) size +{ + id anElement; + NSInteger aSize = 0; + + for (NSInteger i = 0; i < BuffSize; i++) { + if ((anElement = ptrBuffer[i]) != nil) { + aSize += sizeof(id); + } + } + return aSize; +} + + +-(void)deleteANTLRHashMap:(ANTLRMapElement *)np +{ + ANTLRMapElement *tmp, *rtmp; + NSInteger idx; + + if ( self.fNext != nil ) { + for( idx = 0; idx < BuffSize; idx++ ) { + tmp = ptrBuffer[idx]; + while ( tmp && tmp != (ANTLRLinkBase *)[((ANTLRHashMap *)fNext) getptrBufferEntry:idx] ) { + rtmp = tmp; + tmp = [tmp getfNext]; + [rtmp dealloc]; + } + } + } +} + +-(ANTLRHashMap *)PushScope:(ANTLRHashMap **)map +{ + NSInteger idx; + ANTLRHashMap *htmp; + + htmp = [ANTLRHashMap newANTLRHashMap]; + if ( *map != nil ) { + ((ANTLRHashMap *)htmp)->fNext = *map; + [htmp setScope:[((ANTLRHashMap *)htmp->fNext) getScope]+1]; + for( idx = 0; idx < BuffSize; idx++ ) { + htmp->ptrBuffer[idx] = ((ANTLRHashMap *)htmp->fNext)->ptrBuffer[idx]; + } + } + // gScopeLevel++; + *map = htmp; + return( htmp ); +} + +-(ANTLRHashMap *)PopScope:(ANTLRHashMap **)map +{ + NSInteger idx; + ANTLRMapElement *tmp; + ANTLRHashMap *htmp; + + htmp = *map; + if ( (*map)->fNext != nil ) { + *map = (ANTLRHashMap *)htmp->fNext; + for( idx = 0; idx < BuffSize; idx++ ) { + if ( htmp->ptrBuffer[idx] == nil || + htmp->ptrBuffer[idx] == (*map)->ptrBuffer[idx] ) { + break; + } + tmp = htmp->ptrBuffer[idx]; + /* + * must deal with parms, locals and labels at some point + * can not forget the debuggers + */ + htmp->ptrBuffer[idx] = [tmp getfNext]; + [ tmp dealloc]; + } + *map = (ANTLRHashMap *)htmp->fNext; + // gScopeLevel--; + } + return( htmp ); +} + +#ifdef USERDOC +/* + * HASH hash entry to get index to table + * NSInteger hash( ANTLRHashMap *self, char *s ); + * + * Inputs: char *s string to find + * + * Returns: NSInteger hashed value + * + * Last Revision 9/03/90 + */ +#endif +-(NSInteger)hash:(NSString *)s /* form hash value for string s */ +{ + NSInteger hashval; + const char *tmp; + + tmp = [s cStringUsingEncoding:NSASCIIStringEncoding]; + for( hashval = 0; *tmp != '\0'; ) + hashval += *tmp++; + self->LastHash = hashval % BuffSize; + return( self->LastHash ); +} + +#ifdef USERDOC +/* + * FINDSCOPE search hashed list for entry + * ANTLRHashMap *findscope( ANTLRHashMap *self, NSInteger scope ); + * + * Inputs: NSInteger scope -- scope level to find + * + * Returns: ANTLRHashMap pointer to ptrBuffer of proper scope level + * + * Last Revision 9/03/90 + */ +#endif +-(ANTLRHashMap *)findscope:(NSInteger)scope +{ + if ( self->Scope == scope ) { + return( self ); + } + else if ( fNext ) { + return( [((ANTLRHashMap *)fNext) findscope:scope] ); + } + return( nil ); /* not found */ +} + +#ifdef USERDOC +/* + * LOOKUP search hashed list for entry + * ANTLRMapElement *lookup( ANTLRHashMap *self, char *s, NSInteger scope ); + * + * Inputs: char *s string to find + * + * Returns: ANTLRMapElement * pointer to entry + * + * Last Revision 9/03/90 + */ +#endif +-(id)lookup:(NSString *)s Scope:(NSInteger)scope +{ + ANTLRMapElement *np; + + for( np = self->ptrBuffer[[self hash:s]]; np != nil; np = [np getfNext] ) { + if ( [s isEqualToString:[np getName]] ) { + return( np ); /* found it */ + } + } + return( nil ); /* not found */ +} + +#ifdef USERDOC +/* + * INSTALL search hashed list for entry + * NSInteger install( ANTLRHashMap *self, ANTLRMapElement *sym, NSInteger scope ); + * + * Inputs: ANTLRMapElement *sym -- symbol ptr to install + * NSInteger scope -- level to find + * + * Returns: Boolean TRUE if installed + * FALSE if already in table + * + * Last Revision 9/03/90 + */ +#endif +-(ANTLRMapElement *)install:(ANTLRMapElement *)sym Scope:(NSInteger)scope +{ + ANTLRMapElement *np; + + np = [self lookup:[sym getName] Scope:scope ]; + if ( np == nil ) { + [sym retain]; + [sym setFNext:self->ptrBuffer[ self->LastHash ]]; + self->ptrBuffer[ self->LastHash ] = sym; + return( self->ptrBuffer[ self->LastHash ] ); + } + return( nil ); /* not found */ +} + +#ifdef USERDOC +/* + * RemoveSym search hashed list for entry + * NSInteger RemoveSym( ANTLRHashMap *self, char *s ); + * + * Inputs: char *s string to find + * + * Returns: NSInteger indicator of SUCCESS OR FAILURE + * + * Last Revision 9/03/90 + */ +#endif +-(NSInteger)RemoveSym:(NSString *)s +{ + ANTLRMapElement *np, *tmp; + NSInteger idx; + + idx = [self hash:s]; + for ( tmp = self->ptrBuffer[idx], np = self->ptrBuffer[idx]; np != nil; np = [np getfNext] ) { + if ( [s isEqualToString:[np getName]] ) { + tmp = [np getfNext]; /* get the next link */ + [np dealloc]; + return( SUCCESS ); /* report SUCCESS */ + } + tmp = [np getfNext]; // BAD!!!!!! + } + return( FAILURE ); /* not found */ +} + +-(void)delete_chain:(ANTLRMapElement *)np +{ + if ( [np getfNext] != nil ) + [self delete_chain:[np getfNext]]; + [np dealloc]; +} + +#ifdef DONTUSEYET +-(NSInteger)bld_symtab:(KW_TABLE *)toknams +{ + NSInteger i; + ANTLRMapElement *np; + + for( i = 0; *(toknams[i].name) != '\0'; i++ ) { + // install symbol in ptrBuffer + np = [ANTLRMapElement newANTLRMapElement:[NSString stringWithFormat:@"%s", toknams[i].name]]; + // np->fType = toknams[i].toknum; + [self install:np Scope:0]; + } + return( SUCCESS ); +} +#endif + +-(ANTLRMapElement *)getptrBufferEntry:(NSInteger)idx +{ + return( ptrBuffer[idx] ); +} + +-(ANTLRMapElement **)getptrBuffer +{ + return( ptrBuffer ); +} + +-(void)setptrBuffer:(ANTLRMapElement *)np Index:(NSInteger)idx +{ + if ( idx < BuffSize ) { + [np retain]; + ptrBuffer[idx] = np; + } +} + +-(NSInteger)getScope +{ + return( Scope ); +} + +-(void)setScopeScope:(NSInteger)i +{ + Scope = i; +} + +- (ANTLRMapElement *)getTType:(NSString *)name +{ + return [self lookup:name Scope:0]; +} + +/* + * works only for maplist indexed not by name but by TokenNumber + */ +- (ANTLRMapElement *)getNameInList:(NSInteger)ttype +{ + ANTLRMapElement *np; + NSInteger aTType; + + aTType = ttype % BuffSize; + for( np = self->ptrBuffer[ttype]; np != nil; np = [np getfNext] ) { + if ( [np.index integerValue] == ttype ) { + return( np ); /* found it */ + } + } + return( nil ); /* not found */ +} + +- (ANTLRLinkBase *)getName:(NSString *)name +{ + return [self lookup:name Scope:0]; /* nil if not found */ +} + +- (void)putNode:(NSString *)name TokenType:(NSInteger)ttype +{ + ANTLRMapElement *np; + + // install symbol in ptrBuffer + np = [ANTLRMapElement newANTLRMapElementWithName:[NSString stringWithString:name] Type:ttype]; + // np->fType = toknams[i].toknum; + [self install:np Scope:0]; +} + +- (NSInteger)getMode +{ + return mode; +} + +- (void)setMode:(NSInteger)aMode +{ + mode = aMode; +} + +- (void) addObject:(id)aRule +{ + NSInteger idx; + + idx = [self count]; + if ( idx >= BuffSize ) { + idx %= BuffSize; + } + ptrBuffer[idx] = aRule; +} + +/* this may have to handle linking into the chain + */ +- (void) insertObject:(id)aRule atIndex:(NSInteger)idx +{ + if ( idx >= BuffSize ) { + idx %= BuffSize; + } + if (aRule != ptrBuffer[idx]) { + if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + [aRule retain]; + } + ptrBuffer[idx] = aRule; +} + +- (id)objectAtIndex:(NSInteger)idx +{ + if ( idx >= BuffSize ) { + idx %= BuffSize; + } + return ptrBuffer[idx]; +} + +/* this will never link into the chain + */ +- (void) setObject:(id)aRule atIndex:(NSInteger)idx +{ + if ( idx >= BuffSize ) { + idx %= BuffSize; + } + if (aRule != ptrBuffer[idx]) { + if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + [aRule retain]; + } + ptrBuffer[idx] = aRule; +} + +- (void)putName:(NSString *)name Node:(id)aNode +{ + ANTLRMapElement *np; + + np = [self lookup:name Scope:0 ]; + if ( np == nil ) { + np = [ANTLRMapElement newANTLRMapElementWithName:name Node:aNode]; + if (ptrBuffer[LastHash] != nil) + [ptrBuffer[LastHash] release]; + [np retain]; + np.fNext = ptrBuffer[ LastHash ]; + ptrBuffer[ LastHash ] = np; + } + return; +} + +- (NSEnumerator *)objectEnumerator +{ + NSEnumerator *anEnumerator; + + itIndex = 0; + return anEnumerator; +} + +- (BOOL)hasNext +{ + if (self && [self count] < BuffSize-1) { + return YES; + } + return NO; +} + +- (ANTLRMapElement *)nextObject +{ + if (self && itIndex < BuffSize-1) { + return ptrBuffer[itIndex]; + } + return nil; +} + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashRule.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashRule.h new file mode 100644 index 00000000..f1558e8b --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashRule.h @@ -0,0 +1,72 @@ +// +// ANTLRHashRule.h +// ANTLR +// +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRuleMemo.h" +#import "ANTLRPtrBuffer.h" + +#define GLOBAL_SCOPE 0 +#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRHashRule : ANTLRPtrBuffer { + // ANTLRHashRule *fNext; + // TStringPool *fPool; + NSInteger LastHash; + NSInteger mode; +} + +//@property (copy) ANTLRHashRule *fNext; +@property (getter=getLastHash, setter=setLastHash:) NSInteger LastHash; + +// Contruction/Destruction ++ (id)newANTLRHashRule; ++ (id)newANTLRHashRuleWithLen:(NSInteger)aBuffSize; +- (id)init; +- (id)initWithLen:(NSInteger)aBuffSize; +- (void)dealloc; + +- (NSInteger)count; +- (NSInteger)length; +- (NSInteger)size; + +// Instance Methods +- (void)deleteANTLRHashRule:(ANTLRRuleMemo *)np; +- (void)delete_chain:(ANTLRRuleMemo *)np; +- (ANTLRRuleMemo **)getPtrBuffer; +- (void)setPtrBuffer:(ANTLRRuleMemo **)np; +- (NSNumber *)getRuleMemoStopIndex:(NSInteger)aStartIndex; +- (void)putRuleMemoAtStartIndex:(NSInteger)aStartIndex StopIndex:(NSInteger)aStopIndex; +- (NSInteger)getMode; +- (void)setMode:(NSInteger)aMode; +- (void) insertObject:(ANTLRRuleMemo *)aRule atIndex:(NSInteger)Index; +- (ANTLRRuleMemo *) objectAtIndex:(NSInteger)Index; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashRule.m b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashRule.m new file mode 100644 index 00000000..93ce3a17 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRHashRule.m @@ -0,0 +1,281 @@ +// +// ANTLRHashRule.m +// ANTLR +// +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#define SUCCESS (0) +#define FAILURE (-1) +#define ANTLR_MEMO_RULE_UNKNOWN -1 + +#import "ANTLRHashRule.h" + +/* + * Start of ANTLRHashRule + */ +@implementation ANTLRHashRule + +@synthesize LastHash; + ++(id)newANTLRHashRule +{ + ANTLRHashRule *aNewANTLRHashRule; + + aNewANTLRHashRule = [[ANTLRHashRule alloc] init]; + return( aNewANTLRHashRule ); +} + ++(id)newANTLRHashRuleWithLen:(NSInteger)aBuffSize +{ + ANTLRHashRule *aNewANTLRHashRule; + + aNewANTLRHashRule = [[ANTLRHashRule alloc] initWithLen:aBuffSize]; + return( aNewANTLRHashRule ); +} + +-(id)init +{ + if ((self = [super initWithLen:HASHSIZE]) != nil) { + fNext = nil; + } + return( self ); +} + +-(id)initWithLen:(NSInteger)aBuffSize +{ + if ((self = [super initWithLen:aBuffSize]) != nil) { + fNext = nil; + mode = 0; + } + return( self ); +} + +-(void)dealloc +{ + ANTLRRuleMemo *tmp, *rtmp; + int Index; + + if ( self.fNext != nil ) { + for( Index = 0; Index < BuffSize; Index++ ) { + tmp = ptrBuffer[Index]; + while ( tmp && tmp != ptrBuffer[Index] ) { + rtmp = tmp; + // tmp = [tmp getfNext]; + tmp = (ANTLRRuleMemo *)tmp.fNext; + [rtmp dealloc]; + } + } + } + [super dealloc]; +} + +- (NSInteger)count +{ + id anElement; + NSInteger aCnt = 0; + + for (int i = 0; i < BuffSize; i++) { + anElement = ptrBuffer[i]; + if ( anElement != nil ) { + aCnt++; + } + } + return aCnt; +} + +- (NSInteger) length +{ + return BuffSize; +} + +- (NSInteger) size +{ + id anElement; + NSInteger aSize = 0; + + for (int i = 0; i < BuffSize; i++) { + if ((anElement = ptrBuffer[i]) != nil) { + aSize += sizeof(id); + } + } + return aSize; +} + + +-(void)deleteANTLRHashRule:(ANTLRRuleMemo *)np +{ + ANTLRRuleMemo *tmp, *rtmp; + int Index; + + if ( self.fNext != nil ) { + for( Index = 0; Index < BuffSize; Index++ ) { + tmp = ptrBuffer[Index]; + while ( tmp && tmp != ptrBuffer[Index ] ) { + rtmp = tmp; + tmp = tmp.fNext; + [rtmp dealloc]; + } + } + } +} + +-(void)delete_chain:(ANTLRRuleMemo *)np +{ + if ( np.fNext != nil ) + [self delete_chain:np.fNext]; + [np dealloc]; +} + +-(ANTLRRuleMemo **)getPtrBuffer +{ + return( ptrBuffer ); +} + +-(void)setPtrBuffer:(ANTLRRuleMemo **)np +{ + ptrBuffer = np; +} + +- (NSNumber *)getRuleMemoStopIndex:(NSInteger)aStartIndex +{ + ANTLRRuleMemo *aRule; + NSNumber *stopIndex; + NSInteger anIndex; + + anIndex = ( aStartIndex >= BuffSize ) ? aStartIndex %= BuffSize : aStartIndex; + if ((aRule = ptrBuffer[anIndex]) == nil) { + return nil; + } + stopIndex = [aRule getStopIndex:aStartIndex]; + return stopIndex; +} + +- (void)putRuleMemo:(ANTLRRuleMemo *)aRule AtStartIndex:(NSInteger)aStartIndex +{ + NSInteger anIndex; + + anIndex = (aStartIndex >= BuffSize) ? aStartIndex %= BuffSize : aStartIndex; + if ( ptrBuffer[anIndex] == nil ) { + ptrBuffer[anIndex] = aRule; + [aRule retain]; + } + else { + do { + if ( [aRule.startIndex integerValue] == aStartIndex ) { + [aRule setStartIndex:aRule.stopIndex]; + return; + } + aRule = aRule.fNext; + } while ( aRule != nil ); + } +} + +- (void)putRuleMemoAtStartIndex:(NSInteger)aStartIndex StopIndex:(NSInteger)aStopIndex +{ + ANTLRRuleMemo *aRule, *newRule; + NSInteger anIndex; + NSInteger aMatchIndex; + + anIndex = (aStartIndex >= BuffSize) ? aStartIndex %= BuffSize : aStartIndex; + if ((aRule = ptrBuffer[anIndex]) == nil ) { + aRule = [ANTLRRuleMemo newANTLRRuleMemoWithStartIndex:[NSNumber numberWithInteger:aStartIndex] + StopIndex:[NSNumber numberWithInteger:aStopIndex]]; + [aRule retain]; + ptrBuffer[anIndex] = aRule; + } + else { + aMatchIndex = [aRule.startIndex integerValue]; + if ( aStartIndex > aMatchIndex ) { + if ( aRule != ptrBuffer[anIndex] ) { + [aRule retain]; + } + aRule.fNext = ptrBuffer[anIndex]; + ptrBuffer[anIndex] = aRule; + return; + } + while (aRule.fNext != nil) { + aMatchIndex = [((ANTLRRuleMemo *)aRule.fNext).startIndex integerValue]; + if ( aStartIndex > aMatchIndex ) { + newRule = [ANTLRRuleMemo newANTLRRuleMemoWithStartIndex:[NSNumber numberWithInteger:aStartIndex] + StopIndex:[NSNumber numberWithInteger:aStopIndex]]; + [newRule retain]; + newRule.fNext = aRule.fNext; + aRule.fNext = newRule; + return; + } + if ( aMatchIndex == aStartIndex ) { + [aRule setStartIndex:aRule.stopIndex]; + return; + } + aRule = aRule.fNext; + } + } +} + +- (NSInteger)getLastHash +{ + return LastHash; +} + +- (void)setLastHash:(NSInteger)aHash +{ + LastHash = aHash; +} + +- (NSInteger)getMode +{ + return mode; +} + +- (void)setMode:(NSInteger)aMode +{ + mode = aMode; +} + +- (void) insertObject:(ANTLRRuleMemo *)aRule atIndex:(NSInteger)anIndex +{ + NSInteger Index; + + Index = ( anIndex >= BuffSize ) ? anIndex %= BuffSize : anIndex; + if (aRule != ptrBuffer[Index]) { + if (ptrBuffer[Index] != nil) { + [ptrBuffer[Index] release]; + } + [aRule retain]; + } + ptrBuffer[Index] = aRule; +} + +- (ANTLRRuleMemo *)objectAtIndex:(NSInteger)anIndex +{ + NSInteger anIdx; + + anIdx = ( anIndex >= BuffSize ) ? anIndex %= BuffSize : anIndex; + return ptrBuffer[anIdx]; +} + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRIntArray.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRIntArray.h new file mode 100644 index 00000000..5269b230 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRIntArray.h @@ -0,0 +1,60 @@ +// +// ANTLRIntArray.h +// ANTLR +// +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRPtrBuffer.h" + +#define ANTLR_INT_ARRAY_INITIAL_SIZE 10 + +@interface ANTLRIntArray : ANTLRPtrBuffer +{ +} + ++ (ANTLRIntArray *)newANTLRIntArray; ++ (ANTLRIntArray *)newANTLRIntArrayWithLen:(NSInteger)aLen; + +- (id) init; +- (id) initWithLen:(NSInteger)aLen; + +- (void) dealloc; + +- (id) copyWithZone:(NSZone *)aZone; + +- (void) addInteger:(NSInteger) v; +- (void) push:(NSInteger) v; +- (NSInteger) pop; +- (NSInteger) integerAtIndex:(NSInteger) i; +- (void) insertInteger:(NSInteger)anInteger AtIndex:(NSInteger) idx; +- (NSInteger) size; +- (void) reset; + +- (NSInteger) count; +- (NSInteger) size; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRIntStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRIntStream.h new file mode 100644 index 00000000..3790cd9b --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRIntStream.h @@ -0,0 +1,93 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +@protocol ANTLRIntStream < NSObject, NSCopying > + +- (void) consume; + +// Get unichar at current input pointer + i ahead where i=1 is next character as int for including ANTLRCharStreamEOF (-1) in the data range +- (NSInteger) LA:(NSInteger) i; + +// Tell the stream to start buffering if it hasn't already. Return +// current input position, index(), or some other marker so that +// when passed to rewind() you get back to the same spot. +// rewind(mark()) should not affect the input cursor. +// TODO: problem in that lexer stream returns not index but some marker + +- (NSInteger) mark; + +// Return the current input symbol index 0..n where n indicates the +// last symbol has been read. + +- (NSInteger) getIndex; + +// Reset the stream so that next call to index would return marker. +// The marker will usually be -index but it doesn't have to be. It's +// just a marker to indicate what state the stream was in. This is +// essentially calling -release: and -seek:. If there are markers +// created after this marker argument, this routine must unroll them +// like a stack. Assume the state the stream was in when this marker +// was created. + +- (void) rewind; +- (void) rewind:(NSInteger) marker; + +// You may want to commit to a backtrack but don't want to force the +// stream to keep bookkeeping objects around for a marker that is +// no longer necessary. This will have the same behavior as +// rewind() except it releases resources without the backward seek. + +- (void) release:(NSInteger) marker; + +// Set the input cursor to the position indicated by index. This is +// normally used to seek ahead in the input stream. No buffering is +// required to do this unless you know your stream will use seek to +// move backwards such as when backtracking. +// This is different from rewind in its multi-directional +// requirement and in that its argument is strictly an input cursor (index). +// +// For char streams, seeking forward must update the stream state such +// as line number. For seeking backwards, you will be presumably +// backtracking using the mark/rewind mechanism that restores state and +// so this method does not need to update state when seeking backwards. +// +// Currently, this method is only used for efficient backtracking, but +// in the future it may be used for incremental parsing. + +- (void) seek:(NSInteger) index; + +/** Only makes sense for streams that buffer everything up probably, but + * might be useful to display the entire stream or for testing. This + * value includes a single EOF. + */ +- (NSUInteger) size; +/** Where are you getting symbols from? Normally, implementations will + * pass the buck all the way to the lexer who can ask its input stream + * for the file name or whatever. + */ +- (NSString *)getSourceName; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLexer.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLexer.h new file mode 100644 index 00000000..5cfb36f0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLexer.h @@ -0,0 +1,90 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRTokenSource.h" +#import "ANTLRBaseRecognizer.h" +#import "ANTLRRecognizerSharedState.h" +#import "ANTLRCharStream.h" +#import "ANTLRToken.h" +#import "ANTLRCommonToken.h" +#import "ANTLRRecognitionException.h" +#import "ANTLRMismatchedTokenException.h" +#import "ANTLRMismatchedRangeException.h" + +@interface ANTLRLexer : ANTLRBaseRecognizer { + id input; ///< The character stream we pull tokens out of. + NSUInteger ruleNestingLevel; +} + +@property (retain, getter=getInput, setter=setInput:) id input; +@property (getter=getRuleNestingLevel, setter=setRuleNestingLevel) NSUInteger ruleNestingLevel; + +#pragma mark Initializer +- (id) initWithCharStream:(id) anInput; +- (id) initWithCharStream:(id)anInput State:(ANTLRRecognizerSharedState *)state; + +- (id) copyWithZone:(NSZone *)zone; + +- (void) reset; + +// - (ANTLRRecognizerSharedState *) state; + +#pragma mark Tokens +- (id)getToken; +- (void) setToken: (id) aToken; +- (id) nextToken; +- (void) mTokens; // abstract, defined in generated sources +- (void) skip; +- (id) getInput; +- (void) setInput:(id)aCharStream; + +- (void) emit; +- (void) emit:(id)aToken; + +#pragma mark Matching +- (void) matchString:(NSString *)aString; +- (void) matchAny; +- (void) matchChar:(unichar) aChar; +- (void) matchRangeFromChar:(unichar)fromChar to:(unichar)toChar; + +#pragma mark Informational +- (NSUInteger) getLine; +- (NSUInteger) getCharPositionInLine; +- (NSInteger) getIndex; +- (NSString *) getText; +- (void) setText:(NSString *) theText; + +// error handling +- (void) reportError:(ANTLRRecognitionException *)e; +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSMutableArray *)tokenNames; +- (NSString *)getCharErrorDisplay:(NSInteger)c; +- (void) recover:(ANTLRRecognitionException *)e; +- (void)traceIn:(NSString *)ruleName Index:(NSInteger)ruleIndex; +- (void)traceOut:(NSString *)ruleName Index:(NSInteger)ruleIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLexerRuleReturnScope.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLexerRuleReturnScope.h new file mode 100644 index 00000000..18ae3743 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLexerRuleReturnScope.h @@ -0,0 +1,42 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + +@interface ANTLRLexerRuleReturnScope : NSObject { + int startToken; + int stopToken; +} + +- (NSInteger) getStart; +- (void) setStart: (NSInteger) aStart; + +- (NSInteger) getStop; +- (void) setStop: (NSInteger) aStop; + + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLinkBase.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLinkBase.h new file mode 100644 index 00000000..21019e61 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLinkBase.h @@ -0,0 +1,74 @@ +// +// ANTLRLinkBase.h +// ANTLR +// +// Created by Alan Condit on 6/14/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + +@protocol ANTLRLinkList + ++ (id)newANTLRLinkBase; ++ (id)newANTLRLinkBase:(id)np Prev:(id)pp; + +- (void) dealloc; + +- (id) append:(id)node; +- (id) insert:(id)node; + +- (id) getfNext; +- (void) setFNext:(id)np; +- (id)getfPrev; +- (void) setFPrev:(id)pp; + +@end + +@interface ANTLRLinkBase : NSObject { + id fPrev; + id fNext; +} + +@property (retain, getter=getfPrev, setter=setFPrev:) id fPrev; +@property (retain, getter=getfNext, setter=setFNext:) id fNext; + ++ (id)newANTLRLinkBase; ++ (id)newANTLRLinkBase:(id)np Prev:(id)pp; +- (id)init; +- (id)initWithPtr:(id)np Prev:(id)pp; +- (void)dealloc; + +- (id) copyWithZone:(NSZone *)aZone; + +- (id)append:(id)node; +- (id)insert:(id)node; + +- (id)getfNext; +- (void)setFNext:(id) np; +- (id)getfPrev; +- (void)setFPrev:(id) pp; +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLookaheadStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLookaheadStream.h new file mode 100644 index 00000000..ad48ff5e --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRLookaheadStream.h @@ -0,0 +1,73 @@ +// +// ANTLRLookaheadStream.h +// ANTLR +// +// Created by Ian Michell on 26/04/2010. +// [The "BSD licence"] +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRFastQueue.h" + +#define UNITIALIZED_EOF_ELEMENT_INDEX NSIntegerMax + +@interface ANTLRLookaheadStream : ANTLRFastQueue +{ + id eof; + NSInteger eofElementIndex; + NSInteger lastMarker; + NSInteger markDepth; +} + +@property (readwrite, retain, getter=getEof, setter=setEof) id eof; +@property (assign, getter=getEofElementIndex, setter=setEofElementIndex) NSInteger eofElementIndex; +@property (assign, getter=getLastMarker, setter=setLastMarker) NSInteger lastMarker; +@property (assign, getter=getMarkDepth, setter=setMarkDepth) NSInteger markDepth; + +- (id) initWithEOF:(id) o; +- (id) nextElement; +- (void) consume; +- (void) sync:(NSInteger) need; +- (void) fill:(NSInteger) n; +- (id) LT:(NSInteger) i; +- (id) LB:(NSInteger) i; +- (id) currentSymbol; +- (NSInteger) getIndex; +- (NSInteger) mark; +- (void) release:(NSInteger) marker; +- (void) rewind:(NSInteger) marker; +- (void) rewind; +- (void) seek:(NSInteger) i; +- (id) getEof; +- (void) setEof:(id) anID; +- (NSInteger) getEofElementIndex; +- (void) setEofElementIndex:(NSInteger) anInt; +- (NSInteger) getLastMarker; +- (void) setLastMarker:(NSInteger) anInt; +- (NSInteger) getMarkDepth; +- (void) setMarkDepth:(NSInteger) anInt; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMap.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMap.h new file mode 100644 index 00000000..80ad486b --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMap.h @@ -0,0 +1,82 @@ +// +// ANTLRMap.h +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRPtrBuffer.h" +#import "ANTLRMapElement.h" + +//#define GLOBAL_SCOPE 0 +//#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRMap : ANTLRPtrBuffer { + //ANTLRMap *fNext; // found in superclass + // TStringPool *fPool; + NSInteger lastHash; +} + +//@property (copy) ANTLRMap *fNext; +@property (getter=getLastHash, setter=setLastHash:) NSInteger lastHash; + +// Contruction/Destruction ++ (id)newANTLRMap; ++ (id)newANTLRMapWithLen:(NSInteger)aHashSize; + +- (id)init; +- (id)initWithLen:(NSInteger)cnt; +- (void)dealloc; +// Instance Methods +- (NSInteger)count; +- (NSInteger)length; +- (NSInteger)size; +/* clear -- reinitialize the maplist array */ +- (void) clear; +/* form hash value for string s */ +-(NSInteger)hash:(NSString *)s; +/* look for s in ptrBuffer */ +-(id)lookup:(NSString *)s; +/* look for s in ptrBuffer */ +-(id)install:(ANTLRMapElement *)sym; +/* + * delete entry from list + */ +- (void)deleteANTLRMap:(ANTLRMapElement *)np; +- (NSInteger)RemoveSym:(NSString *)s; +- (void)delete_chain:(ANTLRMapElement *)np; +- (ANTLRMapElement *)getTType:(NSString *)name; +- (ANTLRMapElement *)getName:(NSInteger)ttype; +- (NSInteger)getNode:(ANTLRMapElement *)aNode; +- (void)putNode:(NSInteger)aTType Node:(id)aNode; +- (void)putName:(NSString *)name TType:(NSInteger)ttype; +- (void)putName:(NSString *)name Node:(id)aNode; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMapElement.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMapElement.h new file mode 100644 index 00000000..e20d01c6 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMapElement.h @@ -0,0 +1,65 @@ +// +// ANTLRMapElement.h +// ANTLR +// +// Created by Alan Condit on 6/8/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseMapElement.h" + +@interface ANTLRMapElement : ANTLRBaseMapElement { + NSString *name; + id node; +} +@property (retain, getter=getName, setter=setName:) NSString *name; +@property (retain, getter=getNode, setter=setNode:) id node; + ++ (id) newANTLRMapElement; ++ (id) newANTLRMapElementWithName:(NSString *)aName Type:(NSInteger)aTType; ++ (id) newANTLRMapElementWithNode:(NSInteger)aTType Node:(id)aNode; ++ (id) newANTLRMapElementWithName:(NSString *)aName Node:(id)aNode; ++ (id) newANTLRMapElementWithObj1:(id)anObj1 Obj2:(id)anObj2; +- (id) init; +- (id) initWithName:(NSString *)aName Type:(NSInteger)aTType; +- (id) initWithNode:(NSInteger)aTType Node:(id)aNode; +- (id) initWithName:(NSString *)aName Node:(id)aNode; +- (id) initWithObj1:(id)anObj1 Obj2:(id)anObj2; + +- (id) copyWithZone:(NSZone *)aZone; + +- (NSInteger) count; +- (NSInteger) size; +- (NSString *)getName; +- (void)setName:(NSString *)aName; +- (id)getNode; +- (void)setNode:(id)aNode; +- (void)putNode:(id)aNode; +- (void)putNode:(id)aNode With:(NSInteger)uniqueID; +//- (void)setObject:(id)aNode atIndex:anIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedNotSetException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedNotSetException.h new file mode 100644 index 00000000..57391d5a --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedNotSetException.h @@ -0,0 +1,51 @@ +// +// ANTLRMismatchedNotSetException.h +// ANTLR +// +// Created by Alan Condit on 6/13/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" +#import "ANTLRBitSet.h" + +@interface ANTLRMismatchedNotSetException : ANTLRRecognitionException +{ + ANTLRBitSet *expecting; +} +@property (retain, getter=getExpecting, setter=setExpecting) ANTLRBitSet *expecting; + +- (ANTLRMismatchedNotSetException *)newANTLRMismatchedNotSetException; +- (ANTLRMismatchedNotSetException *)newANTLRMismatchedNotSetException:(id)anInput + Follow:(ANTLRBitSet *)expecting; + +- (id) init; +- (id) initWithStream:(id)anInput Follow:(ANTLRBitSet *)expecting; + +- (NSString *)toString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedRangeException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedRangeException.h new file mode 100644 index 00000000..abda3bb3 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedRangeException.h @@ -0,0 +1,40 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" + +@protocol ANTLRIntStream; + + +@interface ANTLRMismatchedRangeException : ANTLRRecognitionException { + NSRange range; +} + ++ (id) exceptionWithRange:(NSRange) aRange stream:(id) theInput; +- (id) initWithRange:(NSRange) aRange stream:(id) theInput; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedSetException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedSetException.h new file mode 100644 index 00000000..3bd45fcf --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedSetException.h @@ -0,0 +1,44 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRRecognitionException.h" + +@interface ANTLRMismatchedSetException : ANTLRRecognitionException { + NSSet *expecting; +} + +@property (retain, getter=getExpecting, setter=setExpecting:) NSSet *expecting; + ++ (id) exceptionWithSet:(NSSet *) theExpectedSet stream:(id) theStream; +- (id) initWithSet:(NSSet *) theExpectedSet stream:(id) theStream; + +- (NSSet *) getExpecting; +- (void) setExpecting: (NSSet *) anExpectedSet; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedTokenException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedTokenException.h new file mode 100644 index 00000000..5e1d77d6 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedTokenException.h @@ -0,0 +1,58 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRRecognitionException.h" +#import "ANTLRBitSet.h" + +@protocol ANTLRIntStream; + +@interface ANTLRMismatchedTokenException : ANTLRRecognitionException { + NSInteger expecting; + unichar expectingChar; + BOOL isTokenType; +} + +@property (assign, getter=getExpecting, setter=setExpecting:) NSInteger expecting; +@property (assign, getter=getExpectingChar, setter=setExpectingChar:) unichar expectingChar; +@property (assign, getter=getIsTokenType, setter=setIsTokenType:) BOOL isTokenType; + ++ (id) newANTLRMismatchedTokenException:(NSInteger)expectedTokenType Stream:(id)anInput; ++ (id) newANTLRMismatchedTokenExceptionMissing:(NSInteger)expectedTokenType + Stream:(id)anInput + Token:(id)inserted; ++ (id) newANTLRMismatchedTokenExceptionChar:(unichar)expectedCharacter Stream:(id)anInput; ++ (id) newANTLRMismatchedTokenExceptionStream:(id)anInput + Exception:(NSException *)e + Follow:(ANTLRBitSet *)follow; +- (id) initWithTokenType:(NSInteger)expectedTokenType Stream:(id)anInput; +-(id) initWithTokenType:(NSInteger)expectedTokenType + Stream:(id)anInput + Token:(id)inserted; +- (id) initWithCharacter:(unichar)expectedCharacter Stream:(id)anInput; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedTreeNodeException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedTreeNodeException.h new file mode 100644 index 00000000..b61ab51b --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMismatchedTreeNodeException.h @@ -0,0 +1,42 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" + +@protocol ANTLRIntStream; + +@interface ANTLRMismatchedTreeNodeException : ANTLRRecognitionException { + NSInteger expecting; +} + +@property (getter=getExpecting, setter=setExpecting) NSInteger expecting; + ++ (id) newANTLRMismatchedTreeNodeException:(NSInteger)expectedTokenType Stream:(id)anInput; +- (id) initWithTokenType:(NSInteger) expectedTokenType Stream:(id)anInput; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMissingTokenException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMissingTokenException.h new file mode 100644 index 00000000..1398e251 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRMissingTokenException.h @@ -0,0 +1,51 @@ +// +// ANTLRMissingTokenException.h +// ANTLR +// +// Created by Alan Condit on 6/8/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRMismatchedTokenException.h" +#import "ANTLRToken.h" + +@interface ANTLRMissingTokenException : ANTLRMismatchedTokenException { + id inserted; +} +/** Used for remote debugger deserialization */ ++ (id) newANTLRMissingTokenException; ++ (id) newANTLRMissingTokenException:(NSInteger)expected + Stream:(id)anInput + With:(id)insertedToken; +- (id) init; +- (id) init:(NSInteger)expected Stream:(id)anInput With:(id)insertedToken; + +- (NSInteger) getMissingType; + +- (NSString *)toString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRNoViableAltException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRNoViableAltException.h new file mode 100644 index 00000000..b71baffb --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRNoViableAltException.h @@ -0,0 +1,43 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRecognitionException.h" +#import "ANTLRIntStream.h" + +@interface ANTLRNoViableAltException : ANTLRRecognitionException { + int decisionNumber; + int stateNumber; +} + ++ (ANTLRNoViableAltException *) newANTLRNoViableAltException:(NSInteger)theDecisionNumber state:(NSInteger)theStateNumber stream:(id)theStream; +- (ANTLRNoViableAltException *) initWithDecision:(NSInteger)theDecisionNumber state:(NSInteger)theStateNumber stream:(id)theStream; + +- (void)setDecisionNumber:(NSInteger)decisionNumber; +- (void)setStateNumber:(NSInteger)stateNumber; + + +@end \ No newline at end of file diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRNodeMapElement.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRNodeMapElement.h new file mode 100644 index 00000000..1c0c9163 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRNodeMapElement.h @@ -0,0 +1,56 @@ +// +// ANTLRRuleMapElement.h +// ANTLR +// +// Created by Alan Condit on 6/16/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseMapElement.h" +#import "ANTLRTree.h" + +@interface ANTLRNodeMapElement : ANTLRBaseMapElement { + id node; +} + +@property (retain, getter=getNode, setter=setNode:) id node; + ++ (void)initialize; + ++ (id) newANTLRNodeMapElement; ++ (id) newANTLRNodeMapElementWithIndex:(id)anIndex Node:(id)aNode; +- (id) init; +- (id) initWithAnIndex:(id)anIndex Node:(id)aNode; + +- (id) copyWithZone:(NSZone *)aZone; + +- (id)getNode; +- (void)setNode:(id)aNode; + +- (NSInteger)size; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRParseTree.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRParseTree.h new file mode 100644 index 00000000..92554e30 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRParseTree.h @@ -0,0 +1,60 @@ +// +// ANTLRParseTree.h +// ANTLR +// +// Created by Alan Condit on 7/12/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseTree.h" +#import "ANTLRCommonToken.h" + +@interface ANTLRParseTree : ANTLRBaseTree { + id payload; + NSMutableArray *hiddenTokens; +} +/** A record of the rules used to match a token sequence. The tokens + * end up as the leaves of this tree and rule nodes are the interior nodes. + * This really adds no functionality, it is just an alias for CommonTree + * that is more meaningful (specific) and holds a String to display for a node. + */ ++ (ANTLRParseTree *)newANTLRParseTree:(id)label; +- (id)initWithLabel:(id)label; + +- (id)dupNode; +- (NSInteger)getType; +- (NSString *)getText; +- (NSInteger)getTokenStartIndex; +- (void)setTokenStartIndex:(NSInteger)index; +- (NSInteger)getTokenStopIndex; +- (void)setTokenStopIndex:(NSInteger)index; +- (NSString *)toString; +- (NSString *)toStringWithHiddenTokens; +- (NSString *)toInputString; +- (void)_toStringLeaves:(NSMutableString *)buf; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRParser.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRParser.h new file mode 100644 index 00000000..5ddaf503 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRParser.h @@ -0,0 +1,59 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRBaseRecognizer.h" +#import "ANTLRCommonToken.h" +#import "ANTLRTokenStream.h" + +@interface ANTLRParser : ANTLRBaseRecognizer { + id input; +} ++ (ANTLRParser *)newANTLRParser:(id)anInput; ++ (ANTLRParser *)newANTLRParser:(id)anInput State:(ANTLRRecognizerSharedState *)aState; + +- (id) initWithTokenStream:(id)theStream; +- (id) initWithTokenStream:(id)theStream State:(ANTLRRecognizerSharedState *)aState; + +- (id) getInput; +- (void) setInput: (id) anInput; + +- (void) reset; + +- (id) getCurrentInputSymbol:(id)anInput; +- (ANTLRCommonToken *)getMissingSymbol:(id)input + Exception:(ANTLRRecognitionException *)e + TType:(NSInteger)expectedTokenType + BitSet:(ANTLRBitSet *)follow; +- (void) setTokenStream:(id)anInput; +- (id)getTokenStream; +- (NSString *)getSourceName; + +- (void) traceIn:(NSString *)ruleName Index:(int)ruleIndex; +- (void) traceOut:(NSString *)ruleName Index:(NSInteger) ruleIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRParserRuleReturnScope.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRParserRuleReturnScope.h new file mode 100644 index 00000000..aef3dd0b --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRParserRuleReturnScope.h @@ -0,0 +1,46 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRToken.h" +#import "ANTLRRuleReturnScope.h" + +@interface ANTLRParserRuleReturnScope : ANTLRRuleReturnScope { + id startToken; + id stopToken; +} +@property (retain, getter=getStart, setter=setStart:) id startToken; +@property (retain, getter=getStop, setter=setStop:) id stopToken; + +- (id) getStart; +- (void) setStart: (id) aStart; + +- (id) getStop; +- (void) setStop: (id) aStop; + +- (id) copyWithZone:(NSZone *)theZone; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRPtrBuffer.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRPtrBuffer.h new file mode 100644 index 00000000..188f597c --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRPtrBuffer.h @@ -0,0 +1,91 @@ +// +// ANTLRPtrBuffer.h +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRLinkBase.h" + +//#define GLOBAL_SCOPE 0 +//#define LOCAL_SCOPE 1 +#define BUFFSIZE 101 + +@interface ANTLRPtrBuffer : ANTLRLinkBase { + //ANTLRPtrBuffer *fNext; + NSInteger BuffSize; + NSMutableData *buffer; + id *ptrBuffer; + NSInteger count; + NSInteger ptr; +} + +@property (getter=getBuffSize, setter=setBuffSize:) NSInteger BuffSize; +@property (retain, getter=getBuffer, setter=setBuffer:) NSMutableData *buffer; +@property (retain, getter=getPtrBuffer, setter=setPtrBuffer:) id *ptrBuffer; +@property (getter=getCount, setter=setCount:) NSInteger count; +@property (getter=getPtr, setter=setPtr:) NSInteger ptr; + +// Contruction/Destruction ++(ANTLRPtrBuffer *)newANTLRPtrBuffer; ++(ANTLRPtrBuffer *)newANTLRPtrBufferWithLen:(NSInteger)cnt; +-(id)init; +-(id)initWithLen:(NSInteger)cnt; +-(void)dealloc; + +// Instance Methods +- (id) copyWithZone:(NSZone *)aZone; +/* clear -- reinitialize the maplist array */ +- (void) clear; + +- (NSInteger)count; +- (NSInteger)length; +- (NSInteger)size; + +- (NSMutableData *)getBuffer; +- (void)setBuffer:(NSMutableData *)np; +- (NSInteger)getCount; +- (void)setCount:(NSInteger)aCount; +- (id *)getPtrBuffer; +- (void)setPtrBuffer:(id *)np; +- (NSInteger)getPtr; +- (void)setPtr:(NSInteger)np; + +- (void) push:(id) v; +- (id) pop; +- (id) peek; + +- (void) addObject:(id) v; +- (void) addObjectsFromArray:(ANTLRPtrBuffer *)anArray; +- (void) insertObject:(id)aRule atIndex:(NSInteger)idx; +- (id) objectAtIndex:(NSInteger)idx; +- (void) removeAllObjects; + +- (void) ensureCapacity:(NSInteger) index; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRecognitionException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRecognitionException.h new file mode 100644 index 00000000..853dc0e1 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRecognitionException.h @@ -0,0 +1,72 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRRuntimeException.h" +#import "ANTLRToken.h" +#import "ANTLRIntStream.h" +#import "ANTLRTree.h" + +@interface ANTLRRecognitionException : ANTLRRuntimeException { + id input; + NSInteger index; + id token; + id node; + unichar c; + NSInteger line; + NSInteger charPositionInLine; +} + +@property (retain, getter=getStream, setter=setStream:) id input; +@property (retain, getter=getToken, setter=setToken:) idtoken; +@property (retain, getter=getNode, setter=setNode:) idnode; +@property (getter=getLine, setter=setLine:) NSInteger line; +@property (getter=getCharPositionInLine, setter=setCharPositionInLine:) NSInteger charPositionInLine; + ++ (ANTLRRecognitionException *) newANTLRRecognitionException; ++ (ANTLRRecognitionException *) exceptionWithStream:(id) anInputStream; +- (id) init; +- (id) initWithStream:(id)anInputStream; +- (id) initWithStream:(id)anInputStream reason:(NSString *)aReason; +- (NSInteger) unexpectedType; +- (id)getUnexpectedToken; + +- (id) getStream; +- (void) setStream: (id) aStream; + +- (id) getToken; +- (void) setToken: (id) aToken; + +- (id) getNode; +- (void) setNode: (id) aNode; + +- (NSString *)getMessage; + +- (NSInteger)getCharPositionInLine; +- (void)setCharPositionInLine:(NSInteger)aPos; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRecognizerSharedState.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRecognizerSharedState.h new file mode 100644 index 00000000..0430b797 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRecognizerSharedState.h @@ -0,0 +1,116 @@ +// [The "BSD licence"] +// Copyright (c) 2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRToken.h" +#import "ANTLRBitSet.h" +#import "ANTLRRuleStack.h" + +@interface ANTLRRecognizerSharedState : NSObject { + NSMutableArray *following; // a stack of FOLLOW bitsets used for context sensitive prediction and recovery + NSInteger _fsp; // Follow stack pointer + BOOL errorRecovery; // are we recovering? + NSInteger lastErrorIndex; + BOOL failed; // indicate that some match failed + NSInteger syntaxErrors; + NSInteger backtracking; // the level of backtracking + ANTLRRuleStack *ruleMemo; // store previous results of matching rules so we don't have to do it again. Hook in incremental stuff here, too. + + id token; + NSInteger tokenStartCharIndex; + NSUInteger tokenStartLine; + NSUInteger tokenStartCharPositionInLine; + NSUInteger channel; + NSUInteger type; + NSString *text; +} + +@property (retain, getter=getFollowing, setter=setFollowing:) NSMutableArray *following; +@property (assign) NSInteger _fsp; +@property (assign) BOOL errorRecovery; +@property (assign) NSInteger lastErrorIndex; +@property (assign, getter=getFailed, setter=setFailed:) BOOL failed; +@property (assign) NSInteger syntaxErrors; +@property (assign, getter=getBacktracking, setter=setBacktracking) NSInteger backtracking; +@property (retain, getter=getRuleMemo, setter=setRuleMemo:) ANTLRRuleStack *ruleMemo; +@property (copy, getter=getToken, setter=setToken) id token; +@property (getter=getType,setter=setType:) NSUInteger type; +@property (getter=getChannel,setter=setChannel:) NSUInteger channel; +@property (getter=getTokenStartLine,setter=setTokenStartLine:) NSUInteger tokenStartLine; +@property (getter=getCharPositionInLine,setter=setCharPositionInLine:) NSUInteger tokenStartCharPositionInLine; +@property (getter=getTokenStartCharIndex,setter=setTokenStartCharIndex:) NSInteger tokenStartCharIndex; +@property (retain, getter=getText, setter=setText) NSString *text; + ++ (ANTLRRecognizerSharedState *) newANTLRRecognizerSharedState; ++ (ANTLRRecognizerSharedState *) newANTLRRecognizerSharedStateWithRuleLen:(NSInteger)aLen; ++ (ANTLRRecognizerSharedState *) newANTLRRecognizerSharedState:(ANTLRRecognizerSharedState *)aState; + +- (id) init; +- (id) initWithRuleLen:(NSInteger)aLen; +- (id) initWithState:(ANTLRRecognizerSharedState *)state; + +- (id) getToken; +- (void) setToken:(id) theToken; + +- (NSUInteger) getType; +- (void) setType:(NSUInteger) theTokenType; + +- (NSUInteger) getChannel; +- (void) setChannel:(NSUInteger) theChannel; + +- (NSUInteger) getTokenStartLine; +- (void) setTokenStartLine:(NSUInteger) theTokenStartLine; + +- (NSUInteger) getCharPositionInLine; +- (void) setCharPositionInLine:(NSUInteger) theCharPosition; + +- (NSInteger) getTokenStartCharIndex; +- (void) setTokenStartCharIndex:(NSInteger) theTokenStartCharIndex; + +- (NSString *) getText; +- (void) setText:(NSString *) theText; + + +- (NSMutableArray *) getFollowing; +- (void)setFollowing:(NSMutableArray *)aFollow; +- (ANTLRRuleStack *) getRuleMemo; +- (void)setRuleMemo:(ANTLRRuleStack *)aRuleMemo; +- (BOOL) isErrorRecovery; +- (void) setIsErrorRecovery: (BOOL) flag; + +- (BOOL) getFailed; +- (void) setFailed: (BOOL) flag; + +- (NSInteger) getBacktracking; +- (void) setBacktracking:(NSInteger) value; +- (void) increaseBacktracking; +- (void) decreaseBacktracking; +- (BOOL) isBacktracking; + +- (NSInteger) lastErrorIndex; +- (void) setLastErrorIndex:(NSInteger) value; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRewriteRuleElementStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRewriteRuleElementStream.h new file mode 100644 index 00000000..132a0cc2 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRewriteRuleElementStream.h @@ -0,0 +1,85 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreeAdaptor.h" + +typedef union { + id single; + NSMutableArray *multiple; +} Elements; + +// TODO: this should be separated into stream and enumerator classes +@interface ANTLRRewriteRuleElementStream : NSObject { + NSInteger cursor; + BOOL dirty; ///< indicates whether the stream should return copies of its elements, set to true after a call to -reset + BOOL isSingleElement; + Elements elements; + + NSString *elementDescription; + id treeAdaptor; +} + +@property (assign, getter=GetCursor, setter=SetCursor:) NSInteger cursor; +@property (assign, getter=Getdirty, setter=Setdirty:) BOOL dirty; +@property (assign, getter=GetIsSingleElement, setter=SetIsSingleElement:) BOOL isSingleElement; +@property (assign, getter=GetElement, setter=SetElement:) Elements elements; +@property (assign, getter=GetElementDescription, setter=SetElementDescription:) NSString *elementDescription; +@property (retain, getter=GetTreeAdaptor, setter=SetTreeAdaptor:) id treeAdaptor; + ++ (ANTLRRewriteRuleElementStream*) newANTLRRewriteRuleElementStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription; ++ (ANTLRRewriteRuleElementStream*) newANTLRRewriteRuleElementStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription + element:(id)anElement; ++ (ANTLRRewriteRuleElementStream*) newANTLRRewriteRuleElementStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription + elements:(NSArray *)theElements; + +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription; +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription element:(id)anElement; +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription elements:(NSArray *)theElements; + +- (void)reset; + +- (id) getTreeAdaptor; +- (void) setTreeAdaptor:(id)aTreeAdaptor; + +- (void) addElement:(id)anElement; +- (NSInteger) size; + +- (BOOL) hasNext; +- (id) nextTree; +- (id) _next; // internal: TODO: redesign if necessary. maybe delegate + +- (id) copyElement:(id)element; +- (id) toTree:(id)element; + +- (NSString *) getDescription; +- (void) setDescription:(NSString *)description; + +@end + diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRewriteRuleSubtreeStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRewriteRuleSubtreeStream.h new file mode 100644 index 00000000..1d18b245 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRewriteRuleSubtreeStream.h @@ -0,0 +1,50 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRewriteRuleElementStream.h" + +@interface ANTLRRewriteRuleSubtreeStream : ANTLRRewriteRuleElementStream { + +} + ++ (ANTLRRewriteRuleSubtreeStream *) newANTLRRewriteRuleSubtreeStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription; ++ (ANTLRRewriteRuleSubtreeStream *) newANTLRRewriteRuleSubtreeStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription + element:(id)anElement; ++ (ANTLRRewriteRuleSubtreeStream *) newANTLRRewriteRuleSubtreeStream:(id)aTreeAdaptor + description:(NSString *)anElementDescription + elements:(NSArray *)theElements; + +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription; +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription element:(id)anElement; +- (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSString *)anElementDescription elements:(NSArray *)theElements; + +- (id) nextNode; +- (id) dup:(id)element; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRewriteRuleTokenStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRewriteRuleTokenStream.h new file mode 100644 index 00000000..3a516dec --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRewriteRuleTokenStream.h @@ -0,0 +1,66 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRewriteRuleElementStream.h" + + +@interface ANTLRRewriteRuleTokenStream : ANTLRRewriteRuleElementStream { + +} + ++ (id) newANTLRRewriteRuleTokenStream:(id)anAdaptor + description:(NSString *)elementDescription; +/** Create a stream with one element */ ++ (id) newANTLRRewriteRuleTokenStream:(id)adaptor + description:(NSString *)elementDescription + element:(id) oneElement; +/** Create a stream, but feed off an existing list */ ++ (id) newANTLRRewriteRuleTokenStream:(id)adaptor + description:(NSString *)elementDescription + elements:(NSMutableArray *)elements; + +- (id) init; +- (id) initWithTreeAdaptor:(id)anAdaptor + description:(NSString *)aDescription; +- (id) initWithTreeAdaptor:(id)anAdaptor + description:(NSString *)aDescription + element:(id)element; +- (id) initWithTreeAdaptor:(id)anAdaptor + description:(NSString *)aDescription + elements:(NSMutableArray *)elements; + +/** Get next token from stream and make a node for it */ +- (id) nextNode; + +- (id) nextToken; + +/** Don't convert to a tree unless they explicitly call nextTree. + * This way we can do hetero tree nodes in rewrite. + */ +- (id) toTree:(id)element; + +@end \ No newline at end of file diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleMapElement.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleMapElement.h new file mode 100644 index 00000000..e040b18e --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleMapElement.h @@ -0,0 +1,55 @@ +// +// ANTLRRuleMapElement.h +// ANTLR +// +// Created by Alan Condit on 6/16/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseMapElement.h" + +@interface ANTLRRuleMapElement : ANTLRBaseMapElement { + NSNumber *ruleNum; +} + +@property (retain, getter=getRuleNum, setter=setRuleNum:) NSNumber *ruleNum; + ++ (ANTLRRuleMapElement *) newANTLRRuleMapElement; ++ (ANTLRRuleMapElement *) newANTLRRuleMapElementWithIndex:(NSNumber *)anIdx; ++ (ANTLRRuleMapElement *) newANTLRRuleMapElementWithIndex:(NSNumber *)anIdx RuleNum:(NSNumber *)aRuleNum; +- (id) init; +- (id) initWithAnIndex:(NSNumber *)anIdx; +- (id) initWithAnIndex:(NSNumber *)anIdx RuleNum:(NSNumber *)aRuleNum; + +- (id) copyWithZone:(NSZone *)aZone; + +- (NSNumber *)getRuleNum; +- (void)setRuleNum:(NSNumber *)aRuleNum; + +- (NSInteger)size; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleMemo.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleMemo.h new file mode 100644 index 00000000..63a5ae25 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleMemo.h @@ -0,0 +1,60 @@ +// +// ANTLRRuleMemo.h +// ANTLR +// +// Created by Alan Condit on 6/16/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRLinkBase.h" + +@interface ANTLRRuleMemo : ANTLRLinkBase { + NSNumber *startIndex; + NSNumber *stopIndex; +} + +@property (retain, getter=getStartIndex, setter=setStartIndex) NSNumber *startIndex; +@property (retain, getter=getStopIndex, setter=setStopIndex) NSNumber *stopIndex; + ++ (ANTLRRuleMemo *)newANTLRRuleMemo; ++ (ANTLRRuleMemo *)newANTLRRuleMemoWithStartIndex:(NSNumber *)aStartIndex StopIndex:(NSNumber *)aStopIndex; + +- (id) init; +- (id) initWithStartIndex:(NSNumber *)aStartIndex StopIndex:(NSNumber *)aStopIndex; + +- (NSInteger)count; +- (NSInteger)size; + +- (ANTLRRuleMemo *)getRuleWithStartIndex:(NSInteger)aStartIndex; +- (NSNumber *)getStartIndex:(NSInteger)aStartIndex; +- (NSNumber *)getStopIndex:(NSInteger)aStartIndex; +- (NSNumber *)getStartIndex; +- (void)setStartIndex:(NSNumber *)aStartIndex; +- (NSNumber *)getStopIndex; +- (void)setStopIndex:(NSNumber *)aStopIndex; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleReturnScope.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleReturnScope.h new file mode 100644 index 00000000..4750c166 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleReturnScope.h @@ -0,0 +1,55 @@ +// +// ANTLRRuleReturnScope.h +// ANTLR +// +// Created by Alan Condit on 6/17/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRToken.h" + +@interface ANTLRRuleReturnScope : NSObject { + +} + +/** Return the start token or tree */ +- (id) getStart; + +/** Return the stop token or tree */ +- (id) getStop; + +/** Has a value potentially if output=AST; */ +- (id) getNode; + +/** Has a value potentially if output=template; Don't use StringTemplate + * type as it then causes a dependency with ST lib. + */ +- (id) getTemplate; + +- (id) copyWithZone:(NSZone *)theZone; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleStack.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleStack.h new file mode 100644 index 00000000..12d450b8 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleStack.h @@ -0,0 +1,63 @@ +// +// ANTLRRuleStack.h +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseStack.h" +#import "ANTLRHashRule.h" + +//#define GLOBAL_SCOPE 0 +//#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRRuleStack : ANTLRBaseStack { +} + +// Contruction/Destruction ++(ANTLRRuleStack *)newANTLRRuleStack; ++(ANTLRRuleStack *)newANTLRRuleStack:(NSInteger)cnt; +-(id)init; +-(id)initWithLen:(NSInteger)cnt; +-(void)dealloc; + +// Instance Methods +- (id) copyWithZone:(NSZone *)aZone; +/* clear -- reinitialize the maplist array */ + +- (NSInteger)count; +- (NSInteger)size; + +- (ANTLRHashRule *) pop; + +- (void) insertObject:(ANTLRHashRule *)aHashRule atIndex:(NSInteger)idx; +- (ANTLRHashRule *)objectAtIndex:(NSInteger)idx; +- (void)putHashRuleAtRuleIndex:(NSInteger)aRuleIndex StartIndex:(NSInteger)aStartIndex StopIndex:(NSInteger)aStopIndex; +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleStack.m b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleStack.m new file mode 100644 index 00000000..909192f0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuleStack.m @@ -0,0 +1,147 @@ +// +// ANTLRRuleStack.m +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#define SUCCESS (0) +#define FAILURE (-1) + +#import "ANTLRRuleStack.h" +#import "ANTLRTree.h" + +/* + * Start of ANTLRRuleStack + */ +@implementation ANTLRRuleStack + ++ (ANTLRRuleStack *)newANTLRRuleStack +{ + return [[ANTLRRuleStack alloc] init]; +} + ++ (ANTLRRuleStack *)newANTLRRuleStack:(NSInteger)cnt +{ + return [[ANTLRRuleStack alloc] initWithLen:cnt]; +} + +- (id)init +{ + if ((self = [super init]) != nil) { + } + return( self ); +} + +- (id)initWithLen:(NSInteger)cnt +{ + if ((self = [super initWithLen:cnt]) != nil) { + } + return( self ); +} + +- (void)dealloc +{ + [super dealloc]; +} + +- (id) copyWithZone:(NSZone *)aZone +{ + return [super copyWithZone:aZone]; +} + +- (NSInteger)count +{ + ANTLRRuleMemo *anElement; + NSInteger aCnt = 0; + for( int i = 0; i < BuffSize; i++ ) { + if ((anElement = ptrBuffer[i]) != nil) + aCnt++; + } + return aCnt; +} + +- (NSInteger)size +{ + ANTLRRuleMemo *anElement; + NSInteger aSize = 0; + for( int i = 0; i < BuffSize; i++ ) { + if ((anElement = ptrBuffer[i]) != nil) { + aSize++; + } + } + return aSize; +} + +- (ANTLRHashRule *)pop +{ + return (ANTLRHashRule *)[super pop]; +} + +- (void) insertObject:(ANTLRHashRule *)aRule atIndex:(NSInteger)idx +{ + if ( idx >= BuffSize ) { + NSLog( @"In ANTLRRuleStack attempting to insert aRule at Index %d, but Buffer is only %d long\n", idx, BuffSize ); + [self ensureCapacity:idx]; + } + if ( aRule != ptrBuffer[idx] ) { + if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + [aRule retain]; + } + ptrBuffer[idx] = aRule; +} + +- (ANTLRHashRule *)objectAtIndex:(NSInteger)idx +{ + if (idx < BuffSize) { + return ptrBuffer[idx]; + } + return nil; +} + +- (void)putHashRuleAtRuleIndex:(NSInteger)aRuleIndex StartIndex:(NSInteger)aStartIndex StopIndex:(NSInteger)aStopIndex +{ + ANTLRHashRule *aHashRule; + ANTLRRuleMemo *aRuleMemo; + + if (aRuleIndex >= BuffSize) { + NSLog( @"putHashRuleAtRuleIndex attempting to insert aRule at Index %d, but Buffer is only %d long\n", aRuleIndex, BuffSize ); + [self ensureCapacity:aRuleIndex]; + } + if ((aHashRule = ptrBuffer[aRuleIndex]) == nil) { + aHashRule = [[ANTLRHashRule newANTLRHashRuleWithLen:17] retain]; + ptrBuffer[aRuleIndex] = aHashRule; + } + if (( aRuleMemo = [aHashRule objectAtIndex:aStartIndex] ) == nil ) { + aRuleMemo = [[ANTLRRuleMemo newANTLRRuleMemo] retain]; + [aHashRule insertObject:aRuleMemo atIndex:aStartIndex]; + } + [aRuleMemo setStartIndex:[NSNumber numberWithInteger:aStartIndex]]; + [aRuleMemo setStopIndex:[NSNumber numberWithInteger:aStopIndex]]; +} + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuntimeException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuntimeException.h new file mode 100644 index 00000000..6cf0918e --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRRuntimeException.h @@ -0,0 +1,54 @@ +// +// ANTLRRuntimeException.h +// ANTLR +// +// Created by Alan Condit on 6/5/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + +@interface ANTLRRuntimeException : NSException +{ +} + ++ (ANTLRRuntimeException *) newANTLRNoSuchElementException:(NSString *)aReason; ++ (ANTLRRuntimeException *) newANTLRIllegalArgumentException:(NSString *)aReason; ++ (ANTLRRuntimeException *) newANTLRRuntimeException:(NSString *)aReason; ++ (ANTLRRuntimeException *) newANTLRRuntimeException:(NSString *)aName reason:(NSString *)aReason; ++ (ANTLRRuntimeException *) newANTLRRuntimeException:(NSString *)aName reason:(NSString *)aReason userInfo:aUserInfo; + +- (id) init; +- (id)initWithRuntime:(NSString *)aReason; +- (id)initWithReason:(NSString *)aReason; +- (id)initWithName:(NSString *)aName reason:(NSString *)aReason; +- (id)initWithName:(NSString *)aName reason:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; + +- (NSString *) Description; + +// - (void)setDecisionNumber:(NSInteger)decisionNumber; +// - (void)setStateNumber:(NSInteger)stateNumber; +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRStreamEnumerator.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRStreamEnumerator.h new file mode 100644 index 00000000..a0e0f69a --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRStreamEnumerator.h @@ -0,0 +1,45 @@ +// +// ANTLRStreamEnumertor.h +// ANTLR +// +// Created by Ian Michell on 29/04/2010. +// [The "BSD licence"] +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + + +@interface ANTLRStreamEnumerator : NSEnumerator +{ + NSInteger i; + id eof; + NSMutableArray *nodes; +} + +-(id) initWithNodes:(NSMutableArray *) n andEOF:(id) o; +-(BOOL) hasNext; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRStringStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRStringStream.h new file mode 100644 index 00000000..2b13c7d1 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRStringStream.h @@ -0,0 +1,126 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRCharStream.h" +#import "ANTLRCharStreamState.h" +#import "ANTLRPtrBuffer.h" + +@interface ANTLRStringStream : NSObject < ANTLRCharStream > { + NSString *data; + NSInteger n; + NSInteger p; + NSInteger line; + NSInteger charPositionInLine; + NSInteger markDepth; + ANTLRPtrBuffer *markers; + NSInteger lastMarker; + NSString *name; + ANTLRCharStreamState *charState; +} + +@property (retain, getter=getData,setter=setData:) NSString *data; +@property (getter=getP,setter=setP:) NSInteger p; +@property (getter=getN,setter=setN:) NSInteger n; +@property (getter=getLine,setter=setLine:) NSInteger line; +@property (getter=getCharPositionInLine,setter=setCharPositionInLine:) NSInteger charPositionInLine; +@property (getter=getMarkDepth,setter=setMarkDepth:) NSInteger markDepth; +@property (retain, getter=getMarkers, setter=setMarkers:) ANTLRPtrBuffer *markers; +@property (getter=getLastMarker,setter=setLastMarker:) NSInteger lastMarker; +@property (retain, getter=getSourceName, setter=setSourceName:) NSString *name; +@property (retain, getter=getCharState, setter=setCharState:) ANTLRCharStreamState *charState; + ++ newANTLRStringStream; + ++ newANTLRStringStream:(NSString *)aString; + ++ newANTLRStringStream:(char *)myData Count:(NSInteger)numBytes; + +- (id) init; + +// this initializer copies the string +- (id) initWithString:(NSString *) theString; + +// This is the preferred constructor as no data is copied +- (id) initWithStringNoCopy:(NSString *) theString; + +- (id) initWithData:(char *)myData Count:(NSInteger)numBytes; + +- (void) dealloc; + +- (id) copyWithZone:(NSZone *)aZone; + +// reset the stream's state, but keep the data to feed off +- (void) reset; +// consume one character from the stream +- (void) consume; + +// look ahead i characters +- (NSInteger) LA:(NSInteger) i; +- (NSInteger) LT:(NSInteger) i; + +// returns the position of the current input symbol +- (NSInteger) getIndex; +// total length of the input data +- (NSInteger) size; + +// seek and rewind in the stream +- (NSInteger) mark; +- (void) rewind:(NSInteger) marker; +- (void) rewind; +- (void) release:(NSInteger) marker; +- (void) seek:(NSInteger) index; + +// provide the streams data (e.g. for tokens using indices) +- (NSString *) substring:(NSInteger)startIndex To:(NSInteger)stopIndex; +- (NSString *) substringWithRange:(NSRange) theRange; + +// used for tracking the current position in the input stream +- (NSInteger) getLine; +- (void) setLine:(NSInteger) theLine; +- (NSInteger) getCharPositionInLine; +- (void) setCharPositionInLine:(NSInteger) thePos; + +- (NSInteger) getN; +- (void) setN:(NSInteger)num; + +- (NSInteger) getP; +- (void) setP:(NSInteger)num; + +- (ANTLRPtrBuffer *)getMarkers; +- (void) setMarkers:(ANTLRPtrBuffer *)aMarkerList; + +- (NSString *)getSourceName; + +- (NSString *)toString; + +// accessors to the raw data of this stream +- (NSString *) getData; +- (void) setData: (NSString *) aData; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRSymbolStack.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRSymbolStack.h new file mode 100644 index 00000000..169df9f7 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRSymbolStack.h @@ -0,0 +1,75 @@ +// +// ANTLRSymbolStack.h +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseStack.h" +// #import "ANTLRSymbolScope.h" + +//#define GLOBAL_SCOPE 0 +//#define LOCAL_SCOPE 1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRSymbolsScope : NSObject +{ + +} + ++ (ANTLRSymbolsScope *)newANTLRSymbolsScope; + +- (id)init; +@end + + +@interface ANTLRSymbolStack : ANTLRBaseStack { +} + +// Contruction/Destruction ++(ANTLRSymbolStack *)newANTLRSymbolStack; ++(ANTLRSymbolStack *)newANTLRSymbolStackWithLen:(NSInteger)cnt; +-(id)init; +-(id)initWithLen:(NSInteger)cnt; +-(void)dealloc; + +// Instance Methods +- (id) copyWithZone:(NSZone *)aZone; +/* clear -- reinitialize the maplist array */ + +-(ANTLRSymbolsScope *)getHashMapEntry:(NSInteger)idx; + +-(ANTLRSymbolsScope **)getHashMap; + +-(ANTLRSymbolsScope *) pop; + +- (void) insertObject:(ANTLRSymbolsScope *)aScope atIndex:(NSInteger)idx; +- (ANTLRSymbolsScope *)objectAtIndex:(NSInteger)idx; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRSymbolStack.m b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRSymbolStack.m new file mode 100644 index 00000000..1dd67754 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRSymbolStack.m @@ -0,0 +1,123 @@ +// +// ANTLRSymbolStack.m +// ANTLR +// +// Created by Alan Condit on 6/9/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#define SUCCESS (0) +#define FAILURE (-1) + +#import "ANTLRSymbolStack.h" +#import "ANTLRTree.h" + + +@implementation ANTLRSymbolsScope + ++ (ANTLRSymbolsScope *)newANTLRSymbolsScope +{ + return( [[ANTLRSymbolsScope alloc] init] ); +} + +- (id)init +{ + if ((self = [super init]) != nil) { + } + return (self); +} + +@end + +/* + * Start of ANTLRSymbolStack + */ +@implementation ANTLRSymbolStack + ++(ANTLRSymbolStack *)newANTLRSymbolStack +{ + return [[ANTLRSymbolStack alloc] init]; +} + ++(ANTLRSymbolStack *)newANTLRSymbolStackWithLen:(NSInteger)cnt +{ + return [[ANTLRSymbolStack alloc] initWithLen:cnt]; +} + +-(id)init +{ + if ((self = [super init]) != nil) { + } + return( self ); +} + +-(id)initWithLen:(NSInteger)cnt +{ + if ((self = [super initWithLen:cnt]) != nil) { + } + return( self ); +} + +-(void)dealloc +{ + [super dealloc]; +} + +- (id) copyWithZone:(NSZone *)aZone +{ + return [super copyWithZone:aZone]; +} + +-(ANTLRSymbolsScope *)getHashMapEntry:(NSInteger)idx +{ + return( (ANTLRSymbolsScope *)[super objectAtIndex:idx] ); +} + +-(ANTLRSymbolsScope **)getHashMap +{ + return( (ANTLRSymbolsScope **)ptrBuffer ); +} + +-(ANTLRSymbolsScope *) pop +{ + return (ANTLRSymbolsScope *)[super pop]; +} + +- (void) insertObject:(ANTLRSymbolsScope *)aRule atIndex:(NSInteger)idx +{ + if (aRule != ptrBuffer[idx]) { + if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + [aRule retain]; + } + ptrBuffer[idx] = aRule; +} + +- (ANTLRSymbolsScope *)objectAtIndex:(NSInteger)idx +{ + return (ANTLRSymbolsScope *)[super objectAtIndex:idx]; +} + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRToken+DebuggerSupport.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRToken+DebuggerSupport.h new file mode 100644 index 00000000..659e7637 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRToken+DebuggerSupport.h @@ -0,0 +1,41 @@ +// +// ANTLRToken+DebuggerSupport.h +// ANTLR +// +// Created by Kay Röpke on 03.12.2006. +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import +#import "ANTLRToken.h" +#import "ANTLRCommonToken.h" + +@interface ANTLRCommonToken(DebuggerSupport) + +- (NSString *)debuggerDescription; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRToken.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRToken.h new file mode 100644 index 00000000..64524f05 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRToken.h @@ -0,0 +1,79 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import + +typedef enum { + ANTLRTokenTypeEOF = -1, + ANTLRTokenTypeInvalid, + ANTLRTokenTypeEOR, + ANTLRTokenTypeDOWN, + ANTLRTokenTypeUP, + ANTLRTokenTypeMIN +} ANTLRTokenType; + +typedef enum { + ANTLRTokenChannelDefault = 0, + ANTLRTokenChannelHidden = 99 +} ANTLRTokenChannel; + +#define HIDDEN 99 + +@protocol ANTLRToken < NSObject, NSCopying > + +// The singleton eofToken instance. ++ (id) eofToken; +// The default channel for this class of Tokens ++ (ANTLRTokenChannel) defaultChannel; + +// provide hooks to explicitely set the text as opposed to use the indices into the CharStream +- (NSString *) getText; +- (void) setText:(NSString *) theText; + +- (NSInteger) getType; +- (void) setType: (NSInteger) aType; + +// ANTLR v3 provides automatic line and position tracking. Subclasses do not need to +// override these, if they do not want to store line/pos tracking information +- (NSUInteger) getLine; +- (void) setLine: (NSUInteger) aLine; + +- (NSUInteger) getCharPositionInLine; +- (void) setCharPositionInLine: (NSUInteger) aCharPositionInLine; + +// explicitely change the channel this Token is on. The default parser implementation +// just sees the defaultChannel +// Common idiom is to put whitespace tokens on channel 99. +- (NSUInteger) getChannel; +- (void) setChannel: (NSUInteger) aChannel; + +// the index of this Token into the TokenStream +- (NSUInteger) getTokenIndex; +- (void) setTokenIndex: (NSUInteger) aTokenIndex; +- (NSString *)toString; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTokenRewriteStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTokenRewriteStream.h new file mode 100644 index 00000000..0d8681f7 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTokenRewriteStream.h @@ -0,0 +1,170 @@ +// +// ANTLRTokenRewriteStream.h +// ANTLR +// +// Created by Alan Condit on 6/19/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTokenStream.h" +#import "ANTLRLinkBase.h" +#import "ANTLRHashMap.h" +#import "ANTLRMapElement.h" +#import "ANTLRTokenSource.h" + +// Define the rewrite operation hierarchy + +@interface ANTLRRewriteOperation : ANTLRCommonTokenStream +{ +/** What index into rewrites List are we? */ +NSInteger instructionIndex; +/** Token buffer index. */ +NSInteger index; +NSString *text; +} + +@property (getter=getInstructionIndex, setter=setInstructionIndex:) NSInteger instructionIndex; +@property (getter=getIndex, setter=setIndex:) NSInteger index; +@property (retain, getter=getText, setter=setText:) NSString *text; + ++ (ANTLRRewriteOperation *) newANTLRRewriteOperation:(NSInteger)index Text:(NSString *)text; + +- (id) initWithIndex:(NSInteger)anIndex Text:(NSString *)theText; + +/** Execute the rewrite operation by possibly adding to the buffer. + * Return the index of the next token to operate on. + */ +- (NSInteger) execute:(NSString *)buf; + +- (NSString *)toString; +- (NSInteger) indexOf:(char)aChar inString:(NSString *)aString; +@end + +@interface ANTLRInsertBeforeOp : ANTLRRewriteOperation { +} + ++ (ANTLRInsertBeforeOp *) newANTLRInsertBeforeOp:(NSInteger)anIndex Text:(NSString *)theText; +- (id) initWithIndex:(NSInteger)anIndex Text:(NSString *)theText; + +@end + +/** I'm going to try replacing range from x..y with (y-x)+1 ReplaceOp + * instructions. + */ +@interface ANTLRReplaceOp : ANTLRRewriteOperation { + NSInteger lastIndex; +} + +@property (getter=getLastIndex, setter=setLastIndex:) NSInteger lastIndex; + ++ (ANTLRReplaceOp *) newANTLRReplaceOp:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString*)theText; +- (id) initWithIndex:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString *)theText; + +- (NSInteger) execute:(NSString *)buf; +- (NSString *)toString; + +@end + +@interface ANTLRDeleteOp : ANTLRReplaceOp { +} ++ (ANTLRDeleteOp *) newANTLRDeleteOp:(NSInteger)from ToIndex:(NSInteger)to; + +- (id) initWithIndex:(NSInteger)from ToIndex:(NSInteger)to; + +- (NSString *)toString; + +@end + + +@interface ANTLRTokenRewriteStream : ANTLRCommonTokenStream { +/** You may have multiple, named streams of rewrite operations. + * I'm calling these things "programs." + * Maps String (name) -> rewrite (List) + */ +ANTLRHashMap *programs; + +/** Map String (program name) -> Integer index */ +ANTLRHashMap *lastRewriteTokenIndexes; +} + +@property (retain, getter=getPrograms, setter=setPrograms:) ANTLRHashMap *programs; +@property (retain, getter=getLastRewriteTokenIndexes, setter=setLastRewriteTokenIndexes:) ANTLRHashMap *lastRewriteTokenIndexes; + ++ (ANTLRTokenRewriteStream *)newANTLRTokenRewriteStream; ++ (ANTLRTokenRewriteStream *)newANTLRTokenRewriteStream:(id) aTokenSource; ++ (ANTLRTokenRewriteStream *)newANTLRTokenRewriteStream:(id) aTokenSource Channel:(NSInteger)aChannel; + +- (id) init; +- (id)initWithTokenSource:(id)aTokenSource; +- (id)initWithTokenSource:(id)aTokenSource Channel:(NSInteger)aChannel; + +- (ANTLRHashMap *)getPrograms; +- (void)setPrograms:(ANTLRHashMap *)aProgList; + +- (void) rollback:(NSInteger)instructionIndex; +- (void) rollback:(NSString *)programName Index:(NSInteger)anInstructionIndex; +- (void) deleteProgram; +- (void) deleteProgram:(NSString *)programName; +- (void) insertAfterToken:(id)t Text:(NSString *)theText; +- (void) insertAfterIndex:(NSInteger)anIndex Text:(NSString *)theText; +- (void) insertAfterProgNam:(NSString *)programName Index:(NSInteger)anIndex Text:(NSString *)theText; + + +- (void) insertBeforeToken:(id)t Text:(NSString *)theText; +- (void) insertBeforeIndex:(NSInteger)anIndex Text:(NSString *)theText; +- (void) insertBeforeProgName:(NSString *)programName Index:(NSInteger)index Text:(NSString *)theText; +- (void) replaceFromIndex:(NSInteger)anIndex Text:(NSString *)theText; +- (void) replaceFromIndex:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString *)theText; +- (void) replaceFromToken:(id)indexT Text:(NSString *)theText; +- (void) replaceFromToken:(id)from ToToken:(id)to Text:(NSString *)theText; +- (void) replaceProgNam:(NSString *)programName Token:(id)from Token:(id)to Text:(NSString *)theText; +- (void) replaceProgNam:(NSString *)programName FromIndex:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString *)theText; +- (void) delete:(NSInteger)anIndex; +- (void) delete:(NSInteger)from ToIndex:(NSInteger)to; +- (void) deleteToken:(id)indexT; +- (void) deleteFromToken:(id)from ToToken:(id)to; +- (void) delete:(NSString *)programName FromToken:(id)from ToToken:(id)to; +- (void) delete:(NSString *)programName FromIndex:(NSInteger)from ToIndex:(NSInteger)to; +- (NSInteger)getLastRewriteTokenIndex; +- (NSInteger)getLastRewriteTokenIndex:(NSString *)programName; +- (void)setLastRewriteTokenIndex:(NSString *)programName Index:(NSInteger)anInt; +- (ANTLRHashMap *) getProgram:(NSString *)name; +- (ANTLRHashMap *) initializeProgram:(NSString *)name; +- (NSString *)toOriginalString; +- (NSString *)toOriginalString:(NSInteger)start End:(NSInteger)end; +- (NSString *)toString; +- (NSString *)toString:(NSString *)programName; +- (NSString *)toStringFromStart:(NSInteger)start ToEnd:(NSInteger)end; +- (NSString *)toString:(NSString *)programName FromStart:(NSInteger)start ToEnd:(NSInteger)end; +- (ANTLRHashMap *)reduceToSingleOperationPerIndex:(ANTLRHashMap *)rewrites; +- (ANTLRHashMap *)getKindOfOps:(ANTLRHashMap *)rewrites KindOfClass:(Class)kind; +- (ANTLRHashMap *)getKindOfOps:(ANTLRHashMap *)rewrites KindOfClass:(Class)kind Index:(NSInteger)before; +- (NSString *)catOpText:(id)a PrevText:(id)b; +- (NSMutableString *)toDebugString; +- (NSMutableString *)toDebugStringFromStart:(NSInteger)start ToEnd:(NSInteger)end; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTokenSource.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTokenSource.h new file mode 100644 index 00000000..4d6b6ee7 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTokenSource.h @@ -0,0 +1,38 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import "ANTLRToken.h" + +// Anything that responds to -nextToken can be treated as a lexer. +// For instance this can be a flex lexer or a handwritten one or even +// a proxy for a remotely running token source (database, lexer, whatever). +@protocol ANTLRTokenSource + +- (id) nextToken; +- (NSString *)getSourceName; + +@end \ No newline at end of file diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTokenStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTokenStream.h new file mode 100644 index 00000000..c104578d --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTokenStream.h @@ -0,0 +1,62 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import "ANTLRIntStream.h" +#import "ANTLRToken.h" + +@protocol ANTLRTokenStream < ANTLRIntStream > + +// Get Token at current input pointer + i ahead where i=1 is next Token. +// i<0 indicates tokens in the past. So -1 is previous token and -2 is +// two tokens ago. LT:0 is undefined. For i>=n, return Token.EOFToken. +// Return null for LT:0 and any index that results in an absolute address +// that is negative. + +- (id) LT:(NSInteger) i; + +- (id) getToken:(NSUInteger) i; + +- (id) getTokenSource; + +- (NSString *) toString; +/** Return the text of all tokens from start to stop, inclusive. + * If the stream does not buffer all the tokens then it can just + * return "" or null; Users should not access $ruleLabel.text in + * an action of course in that case. + */ +- (NSString *)toStringFromStart:(NSInteger)startIdx ToEnd:(NSInteger)stopIdx; + +/** Because the user is not required to use a token with an index stored + * in it, we must provide a means for two token objects themselves to + * indicate the start/end location. Most often this will just delegate + * to the other toString(int,int). This is also parallel with + * the TreeNodeStream.toString(Object,Object). + */ +- (NSString *) toStringFromToken:(id)startToken ToToken:(id)stopToken; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTree.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTree.h new file mode 100644 index 00000000..f269b2d8 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTree.h @@ -0,0 +1,123 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +@protocol ANTLRTree < NSObject, NSCopying > + +//+ (id) invalidNode; + +- (id) getChild:(NSUInteger)index; +- (NSUInteger) getChildCount; + +// Tree tracks parent and child index now > 3.0 + +- (id)getParent; + +- (void) setParent:(id)t; + +/** Is there is a node above with token type ttype? */ +- (BOOL) hasAncestor:(NSInteger)ttype; + +/** Walk upwards and get first ancestor with this token type. */ +- (id) getAncestor:(NSInteger) ttype; + +/** Return a list of all ancestors of this node. The first node of + * list is the root and the last is the parent of this node. + */ +- (NSMutableArray *) getAncestors; + +/** This node is what child index? 0..n-1 */ +- (NSInteger) getChildIndex; + +- (void) setChildIndex:(NSInteger) index; + +/** Set the parent and child index values for all children */ +- (void) freshenParentAndChildIndexes; + +/** Add t as a child to this node. If t is null, do nothing. If t + * is nil, add all children of t to this' children. + */ +- (void) addChild:(id) t; + +/** Set ith child (0..n-1) to t; t must be non-null and non-nil node */ +- (void) setChild:(NSInteger)i With:(id) t; + +- (id) deleteChild:(NSInteger) i; + +/** Delete children from start to stop and replace with t even if t is + * a list (nil-root tree). num of children can increase or decrease. + * For huge child lists, inserting children can force walking rest of + * children to set their childindex; could be slow. + */ +- (void) replaceChildrenFrom:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; + +- (NSArray *) getChildren; +// Add t as a child to this node. If t is null, do nothing. If t +// is nil, add all children of t to this' children. + +- (void) addChildren:(NSArray *) theChildren; +//- (void) removeAllChildren; + +// Indicates the node is a nil node but may still have children, meaning +// the tree is a flat list. + +- (BOOL) isNil; + +/** What is the smallest token index (indexing from 0) for this node + * and its children? + */ +- (NSInteger) getTokenStartIndex; + +- (void) setTokenStartIndex:(NSInteger) index; + +/** What is the largest token index (indexing from 0) for this node + * and its children? + */ +- (NSInteger) getTokenStopIndex; +- (void) setTokenStopIndex:(NSInteger) index; + +- (id) dupNode; + +- (NSString *) toString; + +#pragma mark Copying +- (id) copyWithZone:(NSZone *)aZone; // the children themselves are not copied here! +- (id) deepCopy; // performs a deepCopyWithZone: with the default zone +- (id) deepCopyWithZone:(NSZone *)aZone; + +#pragma mark Tree Parser support +- (NSInteger) getType; +- (NSString *) getText; +// In case we don't have a token payload, what is the line for errors? +- (NSInteger) getLine; +- (NSInteger) getCharPositionInLine; +- (void) setCharPositionInLine:(NSInteger)pos; + +#pragma mark Informational +- (NSString *) treeDescription; +- (NSString *) description; + +@end + diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeAdaptor.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeAdaptor.h new file mode 100644 index 00000000..e6579cfa --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeAdaptor.h @@ -0,0 +1,159 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import "ANTLRToken.h" +#import "ANTLRBaseTree.h" +#import "ANTLRTokenStream.h" + +#pragma warning tree/node diction is broken. + +@protocol ANTLRTreeAdaptor + +#pragma mark Construction + ++ (id) newEmptyTree; + +- (id) createTree:(id)payload; + +#pragma mark ANTLRTreeAdaptor implementation +- (id)dupNode:(id)aNode; // copies just the node +- (id)dupTree:(id)aTree; // copies the entire subtree, recursively + +/** Return a nil node (an empty but non-null node) that can hold + * a list of element as the children. If you want a flat tree (a list) + * use "t=adaptor.nil(); t.addChild(x); t.addChild(y);" + */ +- (id) emptyNode; + +/** Return a tree node representing an error. This node records the + * tokens consumed during error recovery. The start token indicates the + * input symbol at which the error was detected. The stop token indicates + * the last symbol consumed during recovery. + * + * You must specify the input stream so that the erroneous text can + * be packaged up in the error node. The exception could be useful + * to some applications; default implementation stores ptr to it in + * the CommonErrorNode. + * + * This only makes sense during token parsing, not tree parsing. + * Tree parsing should happen only when parsing and tree construction + * succeed. + */ +- (id) errorNode:(id)anInput + From:(id)aStartToken + To:(id)aStopToken + Exception:(NSException *) e; + +/** Is tree considered a nil node used to make lists of child nodes? */ +- (BOOL) isNil:(id)aTree; + + +- (void) addChild:(id)child toTree:(id)aTree; + +/** If oldRoot is a nil root, just copy or move the children to newRoot. + * If not a nil root, make oldRoot a child of newRoot. + * + * old=^(nil a b c), new=r yields ^(r a b c) + * old=^(a b c), new=r yields ^(r ^(a b c)) + * + * If newRoot is a nil-rooted single child tree, use the single + * child as the new root node. + * + * old=^(nil a b c), new=^(nil r) yields ^(r a b c) + * old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + * + * If oldRoot was null, it's ok, just return newRoot (even if isNil). + * + * old=null, new=r yields r + * old=null, new=^(nil r) yields ^(nil r) + * + * Return newRoot. Throw an exception if newRoot is not a + * simple node or nil root with a single child node--it must be a root + * node. If newRoot is ^(nil x) return x as newRoot. + * + * Be advised that it's ok for newRoot to point at oldRoot's + * children; i.e., you don't have to copy the list. We are + * constructing these nodes so we should have this control for + * efficiency. + */ +- (id) becomeRoot:(id)newRoot old:(id)oldRoot; + +- (id) rulePostProcessing:(id)root; + +#pragma mark Rewrite Rules + +- (NSUInteger) getUniqueID:(id)aNode; + +- (id) createTree:(NSInteger)tokenType FromToken:(id)fromToken; +- (id) createTree:(NSInteger)tokenType FromToken:(id)fromToken Text:(NSString *)text; +- (id) createTree:(NSInteger)tokenType Text:(NSString *)text; + +#pragma mark Content + +- (id)dupNode:(id)aNode; +- (id)dupTree:(id)aTree; + +- (NSInteger) getType:(id)aNode; +- (void) setType:(id)aNode Type:(NSInteger)tokenType; + +- (NSString *) getText:(id)aNode; +- (void) setText:(id)aNode Text:(NSString *)tokenText; + +- (id) getToken:(id)t; + +- (void) setTokenBoundaries:(id)aTree From:(id)startToken To:(id)stopToken; +- (NSInteger) getTokenStartIndex:(id)aTree; +- (NSInteger) getTokenStopIndex:(id)aTree; + +#pragma mark Navigation / Tree Parsing + +/** Get a child 0..n-1 node */ +- (id) getChild:(id)aNode At:(NSInteger) i; +/** Set ith child (0..n-1) to t; t must be non-null and non-nil node */ +- (void) setChild:(id)aTree At:(NSInteger)index Child:(id)child; +/** Remove ith child and shift children down from right. */ +- (id) deleteChild:(id)t Index:(NSInteger)index; + +/** How many children? If 0, then this is a leaf node */ +- (NSInteger) getChildCount:(id) aTree; + +/** Who is the parent node of this node; if null, implies node is root. + * If your node type doesn't handle this, it's ok but the tree rewrites + * in tree parsers need this functionality. + */ +- (id)getParent:(id)t; +- (void) setParent:(id)t With:(id)parent; + +/** What index is this node in the child list? Range: 0..n-1 + * If your node type doesn't handle this, it's ok but the tree rewrites + * in tree parsers need this functionality. + */ +- (NSInteger) getChildIndex:(id)t; +- (void) setChildIndex:(id)t With:(NSInteger)index; + +- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeException.h new file mode 100644 index 00000000..8ec5c453 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeException.h @@ -0,0 +1,42 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTree.h" +#import "ANTLRRecognitionException.h" + +@interface ANTLRTreeException : ANTLRRecognitionException { + id oldRoot; + id newRoot; +} + ++ (id) exceptionWithOldRoot:(id)theOldRoot newRoot:(id)theNewRoot stream:(id)aStream; +- (id) initWithOldRoot:(id)theOldRoot newRoot:(id)theNewRoot stream:(id)aStream; + +- (void) setOldRoot:(id)aTree; +- (void) setNewRoot:(id)aTree; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeIterator.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeIterator.h new file mode 100644 index 00000000..e6d5e712 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeIterator.h @@ -0,0 +1,67 @@ +// +// ANTLRTreeIterator.h +// ANTLR +// +// Created by Ian Michell on 26/04/2010. +// [The "BSD licence"] +// Copyright (c) 2010 Ian Michell 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTreeAdaptor.h" +#import "ANTLRFastQueue.h" +#import "ANTLRTreeAdaptor.h" +#import "ANTLRTree.h" + +@interface ANTLRTreeIterator : NSObject +{ + id adaptor; + id root; + id tree; + BOOL firstTime; + id up; + id down; + id eof; + + ANTLRFastQueue *nodes; +} + +@property(retain, readwrite) id up; +@property(retain, readwrite) id down; +@property(retain, readwrite) id eof; + ++ newANTRLTreeIterator; ++ (ANTLRTreeIterator *) newANTRLTreeIteratorWithAdaptor:(ANTLRCommonTreeAdaptor *)adaptor + andTree:(id)tree; +- (id) init; +- (id) initWithTree:(id) t; +- (id) initWithTreeAdaptor:(id) a andTree:(id) t; + +- (void) reset; +- (BOOL) hasNext; +- (id) nextObject; +- (NSArray *) allObjects; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeNodeStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeNodeStream.h new file mode 100644 index 00000000..bf6342cd --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeNodeStream.h @@ -0,0 +1,50 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#import +#import "ANTLRIntStream.h" +#import "ANTLRCharStream.h" +#import "ANTLRTokenStream.h" +#import "ANTLRCommonTree.h" +#import "ANTLRCommonTreeAdaptor.h" + +@protocol ANTLRTreeNodeStream < ANTLRIntStream > + +- (id) initWithTree:(ANTLRCommonTree *)theTree; +- (id) initWithTreeAdaptor:(id)theAdaptor Tree:(ANTLRCommonTree *)theTree; + +- (id) LT:(NSInteger)k; +- (id) getTreeSource; +- (id) getTreeAdaptor; +- (id) getTokenStream; +- (void) setUniqueNavigationNodes:(BOOL)flag; + +- (id) getNode:(NSInteger) idx; + +- (NSString *) toStringFromNode:(id)startNode ToNode:(id)stopNode; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeParser.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeParser.h new file mode 100644 index 00000000..e2f01ee0 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeParser.h @@ -0,0 +1,89 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRBaseRecognizer.h" +#import "ANTLRTreeNodeStream.h" +#import "ANTLRCommonTreeAdaptor.h" +#import "ANTLRMismatchedTreeNodeException.h" + +@interface ANTLRTreeParser : ANTLRBaseRecognizer { + id input; +} + +@property (retain, getter=getInput, setter=setInput:) id input; + ++ (id) newANTLRTreeParser:(id)anInput; ++ (id) newANTLRTreeParser:(id)anInput State:(ANTLRRecognizerSharedState *)state; + +- (id) initWithStream:(id)theInput; +- (id) initWithStream:(id)theInput + State:(ANTLRRecognizerSharedState *)state; + + +- (id)getInput; +- (void) setInput:(id)anInput; + +- (void) setTreeNodeStream:(id) anInput; +- (id) getTreeNodeStream; + +- (NSString *)getSourceName; + +- (id) getCurrentInputSymbol:(id) anInput; + +- (id) getMissingSymbol:(id)input + Exception:(ANTLRRecognitionException *) e + ExpectedToken:(NSInteger) expectedTokenType + BitSet:(ANTLRBitSet *)follow; + +/** Match '.' in tree parser has special meaning. Skip node or + * entire tree if node has children. If children, scan until + * corresponding UP node. + */ +- (void) matchAny:(id)ignore; + +/** We have DOWN/UP nodes in the stream that have no line info; override. + * plus we want to alter the exception type. Don't try to recover + * from tree parser errors inline... + */ +- (id) recoverFromMismatchedToken:(id)anInput + Type:(NSInteger)ttype + Follow:(ANTLRBitSet *)follow; + +/** Prefix error message with the grammar name because message is + * always intended for the programmer because the parser built + * the input tree not the user. + */ +- (NSString *)getErrorHeader:(ANTLRRecognitionException *)e; + +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSArray *) tokenNames; + +- (void) traceIn:(NSString *)ruleName Index:(NSInteger)ruleIndex; +- (void) traceOut:(NSString *)ruleName Index:(NSInteger)ruleIndex; + + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreePatternLexer.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreePatternLexer.h new file mode 100644 index 00000000..f6059d32 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreePatternLexer.h @@ -0,0 +1,87 @@ +// +// ANTLRTreePatternLexer.h +// ANTLR +// +// Created by Alan Condit on 6/18/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + +typedef enum { + ANTLRLexerTokenTypeEOF = -1, + ANTLRLexerTokenTypeInvalid, + ANTLRLexerTokenTypeBEGIN, + ANTLRLexerTokenTypeEND, + ANTLRLexerTokenTypeID, + ANTLRLexerTokenTypeARG, + ANTLRLexerTokenTypePERCENT, + ANTLRLexerTokenTypeCOLON, + ANTLRLexerTokenTypeDOT, +} ANTLRLexerTokenType; + + +@interface ANTLRTreePatternLexer : NSObject { + +/** The tree pattern to lex like "(A B C)" */ +NSString *pattern; + +/** Index into input string */ +NSInteger p; + +/** Current char */ +NSInteger c; + +/** How long is the pattern in char? */ +NSInteger n; + +/** Set when token type is ID or ARG (name mimics Java's StreamTokenizer) */ +NSMutableData *sval; +char *data; + +BOOL error; + +} + +@property (retain, getter=getPattern, setter=setPattern:) NSString *pattern; +@property (getter=getP, setter=setP:) NSInteger p; +@property (getter=getC, setter=setC:) NSInteger c; +@property (getter=getN, setter=setN:) NSInteger n; +@property (retain, getter=getSval, setter=setSval:) NSMutableData *sval; +@property (assign, getter=getData, setter=setData:) char *data; +@property (getter=getError, setter=setError) BOOL error; + ++ (ANTLRTreePatternLexer *)newANTLRTreePatternLexer:(NSString *)aPattern; +- (id) init; +- (id) initWithPattern:(NSString *)aPattern; +- (NSInteger) nextToken; +- (void) consume; +- (NSString *)toString; + +- (NSMutableData *)getSval; +- (void) setSval:(NSMutableData *)aSval; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreePatternParser.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreePatternParser.h new file mode 100644 index 00000000..f6d6dc66 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreePatternParser.h @@ -0,0 +1,57 @@ +// +// ANTLRTreePatternParser.h +// ANTLR +// +// Created by Alan Condit on 6/18/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreePatternLexer.h" +#import "ANTLRTreeWizard.h" +#import "ANTLRTreeAdaptor.h" + +@interface ANTLRTreePatternParser : NSObject { + +ANTLRTreePatternLexer *tokenizer; +NSInteger ttype; +ANTLRTreeWizard *wizard; +id adaptor; + +} + ++ (ANTLRTreePatternParser *)newANTLRTreePatternParser:(ANTLRTreePatternLexer *)aTokenizer + Wizard:(ANTLRTreeWizard *)aWizard + Adaptor:(id)anAdaptor; +- (id) init; +- (id) initWithTokenizer:(ANTLRTreePatternLexer *)tokenizer + Wizard:(ANTLRTreeWizard *)aWizard + Adaptor:(id)anAdaptor; +- (id) pattern; +- (id) parseTree; +- (id) parseNode; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeRewriter.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeRewriter.h new file mode 100644 index 00000000..aee873ea --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeRewriter.h @@ -0,0 +1,72 @@ +// +// ANTLRTreeRewriter.h +// ANTLR +// +// Created by Alan Condit on 6/17/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreeParser.h" + +@interface ANTLRfptr : NSObject { + id actor; + SEL ruleSEL; +} + ++ (ANTLRfptr *)newANTLRfptrWithRule:(SEL)aRuleAction withObject:(id)anObject; +-initWithRule:(SEL)ruleAction withObject:(id)anObject; + +- (id)rule; + +@end + +@interface ANTLRTreeRewriter : ANTLRTreeParser { + BOOL showTransformations; + id originalTokenStream; + id originalAdaptor; + ANTLRfptr *rule; + ANTLRfptr *topdown_fptr; + ANTLRfptr *bottomup_ftpr; +} + ++ (ANTLRTreeRewriter *) newANTLRTreeRewriter:(id)anInput; ++ (ANTLRTreeRewriter *) newANTLRTreeRewriter:(id)anInput State:(ANTLRRecognizerSharedState *)aState; +- (id)initWithStream:(id)anInput; +- (id)initWithStream:(id)anInput State:(ANTLRRecognizerSharedState *)aState; +- (ANTLRTreeRewriter *) applyOnce:(id)t Rule:(ANTLRfptr *)whichRule; +- (ANTLRTreeRewriter *) applyRepeatedly:(id)t Rule:(ANTLRfptr *)whichRule; +- (ANTLRTreeRewriter *) downup:(id)t; +- (ANTLRTreeRewriter *) pre:(id)t; +- (ANTLRTreeRewriter *) post:(id)t; +- (ANTLRTreeRewriter *) downup:(id)t XForm:(BOOL)aShowTransformations; +- (void)reportTransformation:(id)oldTree Tree:(id)newTree; +- (ANTLRTreeRewriter *) topdown_fptr; +- (ANTLRTreeRewriter *) bottomup_ftpr; +- (ANTLRTreeRewriter *) topdown; +- (ANTLRTreeRewriter *) bottomup; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeRuleReturnScope.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeRuleReturnScope.h new file mode 100644 index 00000000..ea8a4877 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeRuleReturnScope.h @@ -0,0 +1,49 @@ +// +// ANTLRTreeRuleReturnScope.h +// ANTLR +// +// Created by Alan Condit on 6/17/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRuleReturnScope.h" +#import "ANTLRCommonTree.h" + +@interface ANTLRTreeRuleReturnScope : ANTLRRuleReturnScope { + ANTLRCommonTree *startNode; +} + +@property (retain, getter=getStart, setter=setStart:) ANTLRCommonTree *startNode; + +/** First node or root node of tree matched for this rule. */ + +- (ANTLRCommonTree *)getStart; +- (void)setStart:(ANTLRCommonTree *)aStartNode; + +- (id) copyWithZone:(NSZone *)theZone; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeVisitor.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeVisitor.h new file mode 100644 index 00000000..1f167bb5 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeVisitor.h @@ -0,0 +1,45 @@ +// +// ANTLRTreeVisitor.h +// ANTLR +// +// Created by Alan Condit on 6/18/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRTreeAdaptor.h" +#import "ANTLRTreeVisitorAction.h" + +@interface ANTLRTreeVisitor : NSObject { + id adaptor; +} ++ (ANTLRTreeVisitor *)newANTLRTreeVisitor:(id) anAdaptor; ++ (ANTLRTreeVisitor *)newANTLRTreeVisitor; +- (id)init; +- (id)initWithAdaptor:(id)anAdaptor; +- (ANTLRTreeVisitor *)visit:(id)t Action:(ANTLRTreeVisitorAction *)action; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeVisitorAction.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeVisitorAction.h new file mode 100644 index 00000000..c9c08564 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeVisitorAction.h @@ -0,0 +1,56 @@ +// +// ANTLRTreeVisitorAction.h +// ANTLR +// +// Created by Alan Condit on 6/18/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import + + +@interface ANTLRTreeVisitorAction : NSObject +{ + +} + ++ (ANTLRTreeVisitorAction *)newANTLRTreeVisitorAction; +- (id) init; + +/** Execute an action before visiting children of t. Return t or + * a rewritten t. It is up to the visitor to decide what to do + * with the return value. Children of returned value will be + * visited if using TreeVisitor.visit(). + */ +- (ANTLRTreeVisitorAction *)pre:(ANTLRTreeVisitorAction *) t; + +/** Execute an action after visiting children of t. Return t or + * a rewritten t. It is up to the visitor to decide what to do + * with the return value. + */ +- (ANTLRTreeVisitorAction *)post:(ANTLRTreeVisitorAction *) t; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeWizard.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeWizard.h new file mode 100644 index 00000000..d9525724 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRTreeWizard.h @@ -0,0 +1,134 @@ +// +// ANTLRTreeWizard.h +// ANTLR +// +// Created by Alan Condit on 6/18/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTreeAdaptor.h" +#import "ANTLRCommonTree.h" +#import "ANTLRMapElement.h" +#import "ANTLRMap.h" + +@class ANTLRVisitor; + +@protocol ANTLRContextVisitor +// TODO: should this be called visit or something else? +- (void) visit:(id)t Parent:(id)parent ChildIndex:(NSInteger)childIndex Map:(ANTLRMap *)labels; + +@end + +@interface ANTLRVisitor : NSObject { + NSInteger action; + id actor; + id object1; + id object2; +} ++ (ANTLRVisitor *)newANTLRVisitor:(NSInteger)anAction Actor:(id)anActor Object:(id)anObject1 Object:(id)anObject2; +- (id) initWithAction:(NSInteger)anAction Actor:(id)anActor Object:(id)anObject1 Object:(id)anObject2; + +- (void) visit:(id)t; +- (void) visit:(id)t Parent:(id)parent ChildIndex:(NSInteger)childIndex Map:(ANTLRMap *)labels; + +@end + +/** When using %label:TOKENNAME in a tree for parse(), we must + * track the label. + */ +@interface ANTLRTreePattern : ANTLRCommonTree { + NSString *label; + BOOL hasTextArg; +} +@property (retain, getter=getLabel, setter=setLabel:) NSString *label; +@property (assign, getter=getHasTextArg, setter=setHasTextArg:) BOOL hasTextArg; + ++ (ANTLRTreePattern *)newANTLRTreePattern:(id)payload; + +- (id) initWithToken:(id)payload; +- (NSString *)toString; +@end + +@interface ANTLRWildcardTreePattern : ANTLRTreePattern { +} + ++ (ANTLRWildcardTreePattern *)newANTLRWildcardTreePattern:(id)payload; +- (id) initWithToken:(id)payload; +@end + +/** This adaptor creates TreePattern objects for use during scan() */ +@interface ANTLRTreePatternTreeAdaptor : ANTLRCommonTreeAdaptor { +} ++ (ANTLRTreePatternTreeAdaptor *)newTreeAdaptor; +#ifdef DONTUSENOMO ++ (ANTLRTreePatternTreeAdaptor *)newTreeAdaptor:(id)payload; +#endif +- (id) init; +#ifdef DONTUSENOMO +- initWithToken:(id)payload; +#endif +- (id)createTreePattern:(id)payload; + +@end + +@interface ANTLRTreeWizard : NSObject { + id adaptor; + ANTLRMap *tokenNameToTypeMap; +} ++ (ANTLRTreeWizard *) newANTLRTreeWizard:(id)anAdaptor; ++ (ANTLRTreeWizard *)newANTLRTreeWizard:(id)adaptor Map:(ANTLRMap *)aTokenNameToTypeMap; ++ (ANTLRTreeWizard *)newANTLRTreeWizard:(id)adaptor TokenNames:(NSArray *)theTokNams; ++ (ANTLRTreeWizard *)newANTLRTreeWizardWithTokenNames:(NSArray *)theTokNams; +- (id) init; +- (id) initWithAdaptor:(id)adaptor; +- (id) initWithAdaptor:(id)adaptor Map:(ANTLRMap *)tokenNameToTypeMap; +- (id) initWithTokenNames:(NSArray *)theTokNams; +- (id) initWithTokenNames:(id)anAdaptor TokenNames:(NSArray *)theTokNams; +- (ANTLRMap *)computeTokenTypes:(NSArray *)theTokNams; +- (NSInteger)getTokenType:(NSString *)tokenName; +- (ANTLRMap *)index:(id)t; +- (void) _index:(id)t Map:(ANTLRMap *)m; +- (NSMutableArray *)find:(id) t Pattern:(NSString *)pattern; +- (ANTLRTreeWizard *)findFirst:(id) t Type:(NSInteger)ttype; +- (ANTLRTreeWizard *)findFirst:(id) t Pattern:(NSString *)pattern; +- (void) visit:(id)t Type:(NSInteger)ttype Visitor:(ANTLRVisitor *)visitor; +- (void) _visit:(id)t + Parent:(id)parent + ChildIndex:(NSInteger)childIndex + Type:(NSInteger)ttype + Visitor:(ANTLRVisitor *)visitor; +- (void)visit:(id)t Pattern:(NSString *)pattern Visitor:(ANTLRVisitor *)visitor; +- (BOOL)parse:(id)t Pattern:(NSString *)pattern Map:(ANTLRMap *)labels; +- (BOOL) parse:(id) t Pattern:(NSString *)pattern; +- (BOOL) _parse:(id)t1 Pattern:(ANTLRTreePattern *)tpattern Map:(ANTLRMap *)labels; +- (id) createTree:(NSString *)pattern; +- (BOOL)equals:(id)t1 O2:(id)t2 Adaptor:(id)anAdaptor; +- (BOOL)equals:(id)t1 O2:(id)t2; +- (BOOL) _equals:(id)t1 O2:(id)t2 Adaptor:(id)anAdaptor; + +@end + diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUnbufferedCommonTreeNodeStreamState.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUnbufferedCommonTreeNodeStreamState.h new file mode 100644 index 00000000..9e79d869 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUnbufferedCommonTreeNodeStreamState.h @@ -0,0 +1,66 @@ +// [The "BSD licence"] +// Copyright (c) 2006-2007 Kay Roepke +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRCommonTree.h" + +@interface ANTLRUnbufferedCommonTreeNodeStreamState : NSObject { + ANTLRCommonTree *currentNode; + ANTLRCommonTree *previousNode; + + int currentChildIndex; + int absoluteNodeIndex; + unsigned int nodeStackSize; + unsigned int indexStackSize; + + NSMutableArray *lookahead; +} + +- (ANTLRCommonTree *) currentNode; +- (void) setCurrentNode: (ANTLRCommonTree *) aCurrentNode; + +- (ANTLRCommonTree *) previousNode; +- (void) setPreviousNode: (ANTLRCommonTree *) aPreviousNode; + +- (NSInteger) currentChildIndex; +- (void) setCurrentChildIndex: (NSInteger) aCurrentChildIndex; + +- (NSInteger) absoluteNodeIndex; +- (void) setAbsoluteNodeIndex: (NSInteger) anAbsoluteNodeIndex; + +- (NSUInteger) nodeStackSize; +- (void) setNodeStackSize: (NSUInteger) aNodeStackSize; + +- (NSUInteger) indexStackSize; +- (void) setIndexStackSize: (NSUInteger) anIndexStackSize; + +- (NSMutableArray *) lookahead; +- (void) setLookahead: (NSMutableArray *) aLookahead; + +- (void) addToLookahead: (id)lookaheadObject; +- (void) removeFromLookahead: (id)lookaheadObject; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUnbufferedTokenStream.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUnbufferedTokenStream.h new file mode 100644 index 00000000..e4f86308 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUnbufferedTokenStream.h @@ -0,0 +1,62 @@ +// +// ANTLRUnbufferedTokenStream.h +// ANTLR +// +// Created by Alan Condit on 7/12/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRRuntimeException.h" +#import "ANTLRTokenSource.h" +#import "ANTLRLookaheadStream.h" +#import "ANTLRToken.h" + +@interface ANTLRUnbufferedTokenStream : ANTLRLookaheadStream { + id tokenSource; + NSInteger tokenIndex; // simple counter to set token index in tokens + NSInteger channel; +} + +@property (retain, getter=getTokenSource, setter=setTokenSource:) id tokenSource; +@property (getter=getTokenIndex, setter=setTokenIndex) NSInteger tokenIndex; +@property (getter=getChannel, setter=setChannel:) NSInteger channel; + ++ (ANTLRUnbufferedTokenStream *)newANTLRUnbufferedTokenStream:(id)aTokenSource; +- (id) init; +- (id) initWithTokenSource:(id)aTokenSource; + +- (id)nextElement; +- (BOOL)isEOF:(id) aToken; +- (id)getTokenSource; +- (NSString *)toStringFromStart:(NSInteger)aStart ToEnd:(NSInteger)aStop; +- (NSString *)toStringFromToken:(id)aStart ToEnd:(id)aStop; +- (NSInteger)LA:(NSInteger)anIdx; +- (id)objectAtIndex:(NSInteger)anIdx; +- (NSString *)getSourceName; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUniqueIDMap.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUniqueIDMap.h new file mode 100644 index 00000000..a805bd54 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUniqueIDMap.h @@ -0,0 +1,64 @@ +// +// ANTLRUniqueIDMap.h +// ANTLR +// +// Created by Alan Condit on 7/7/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRPtrBuffer.h" +#import "ANTLRNodeMapElement.h" + +#define SUCCESS 0 +#define FAILURE -1 +#define HASHSIZE 101 +#define HBUFSIZE 0x2000 + +@interface ANTLRUniqueIDMap : ANTLRPtrBuffer { + NSInteger lastHash; +} + +@property (getter=getLastHash, setter=setLastHash) NSInteger lastHash; + ++ (id)newANTLRUniqueIDMap; ++ (id)newANTLRUniqueIDMapWithLen:(NSInteger)aHashSize; + +- (id)init; +- (id)initWithLen:(NSInteger)cnt; +- (void)dealloc; +// Instance Methods +- (NSInteger)count; +- (NSInteger)size; +/* clear -- reinitialize the maplist array */ +- (void) clear; + +- (void)deleteANTLRUniqueIDMap:(ANTLRNodeMapElement *)np; +- (void)delete_chain:(ANTLRNodeMapElement *)np; +- (id)getNode:(id)aNode; +- (void)putID:(id)anID Node:(id)aNode; + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUnwantedTokenException.h b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUnwantedTokenException.h new file mode 100644 index 00000000..2945bfe8 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Headers/ANTLRUnwantedTokenException.h @@ -0,0 +1,47 @@ +// +// ANTLRUnwantedTokenException.h +// ANTLR +// +// Created by Alan Condit on 6/8/10. +// [The "BSD licence"] +// Copyright (c) 2010 Alan Condit +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#import +#import "ANTLRMismatchedTokenException.h" + +@interface ANTLRUnwantedTokenException : ANTLRMismatchedTokenException { + +} ++ (ANTLRUnwantedTokenException *)newANTLRUnwantedTokenException; ++ (ANTLRUnwantedTokenException *)newANTLRUnwantedTokenException:(NSInteger)expected Stream:(id)anInput; + +- (id) init; +- (id) initWithStream:(id)anInput And:(NSInteger)expected; +- (id)getUnexpectedToken; +- (NSString *)toString; + + +@end diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings b/runtime/ObjC/ANTLR.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 00000000..fa1b75f8 Binary files /dev/null and b/runtime/ObjC/ANTLR.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings differ diff --git a/runtime/ObjC/ANTLR.framework/Versions/Current/Resources/Info.plist b/runtime/ObjC/ANTLR.framework/Versions/Current/Resources/Info.plist new file mode 100644 index 00000000..24436a39 --- /dev/null +++ b/runtime/ObjC/ANTLR.framework/Versions/Current/Resources/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ANTLR + CFBundleIdentifier + org.antlr.antlrframework + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ANTLR + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleVersion + 1.0 + + diff --git a/runtime/ObjC/Framework/ACBTree.h b/runtime/ObjC/Framework/ACBTree.h new file mode 100644 index 00000000..ba195279 --- /dev/null +++ b/runtime/ObjC/Framework/ACBTree.h @@ -0,0 +1,97 @@ +// +// ACBtree.h +// ST4 +// +// Created by Alan Condit on 4/18/11. +// Copyright 2011 Alan Condit. All rights reserved. +// + +typedef enum { + BTNODE, + LEAF +} NodeType; + +#import + +@class AMutableDictionary; + +#define BTNODESIZE 11 +#define BTHNODESIZE ((BTNODESIZE-1)/2) +#define BTKeySize 38 +#define FAILURE -1 +#define SUCCESS 0 + +@interface ACBKey : NSObject { + NSInteger recnum; /* record number */ + __strong NSString *key; /* key pointer id */ + char kstr[BTKeySize]; /* key entry */ +} + +@property (assign) NSInteger recnum; +@property (retain) NSString *key; + ++ (ACBKey *)newKey; ++ (ACBKey *)newKeyWithKStr:(NSString *)aKey; +- (id) init; +- (id) initWithKStr:(NSString *)aKey; + +@end + +@interface ACBTree : NSObject { + __strong AMutableDictionary *dict; /* The dictionary that this node belongs to */ + __strong ACBTree *lnode; /* pointer to left node */ + __strong ACBTree *rnode; /* pointer to right node */ + __strong ACBKey **keys; /* pointer to keys */ + __strong ACBTree **btNodes; /* pointers to btNodes */ + __strong ACBKey *keyArray[BTNODESIZE]; + __strong ACBTree *btNodeArray[BTNODESIZE]; + NSInteger lnodeid; /* nodeid of left node */ + NSInteger rnodeid; /* nodeid of right node */ + NSInteger nodeid; /* node id */ + NSInteger nodeType; /* 1 = node, 2 = leaf, -1 = unused */ + NSInteger numkeys; /* number of active entries */ + NSInteger numrecs; /* number of records */ + NSInteger updtd; /* modified since update flag */ + NSInteger keylen; /* length of key */ + NSInteger kidx; +} + +@property (retain) AMutableDictionary *dict; +@property (retain) ACBTree *lnode; +@property (retain) ACBTree *rnode; +@property (assign) ACBKey **keys; +@property (assign) ACBTree **btNodes; +@property (assign) NSInteger lnodeid; +@property (assign) NSInteger rnodeid; +@property (assign) NSInteger nodeid; +@property (assign) NSInteger nodeType; +@property (assign) NSInteger numkeys; +@property (assign) NSInteger numrecs; +@property (assign) NSInteger updtd; +@property (assign) NSInteger keylen; +@property (assign) NSInteger kidx; + ++ (ACBTree *) newNodeWithDictionary:(AMutableDictionary *)theDict; + +- (id)initWithDictionary:(AMutableDictionary *)theDict; + +- (ACBTree *)createnode:(ACBKey *)kp0; +- (ACBTree *)deletekey:(NSString *)dkey; +- (ACBTree *)insertkey:(ACBKey *)ikp value:(id)value; +- (ACBKey *)internaldelete:(ACBKey *)dkp; +- (ACBTree *) internalinsert:(ACBKey *)key value:(id)value split:(NSInteger *)h; +- (ACBTree *) insert:(ACBKey *)key value:(id)value index:(NSInteger)hi split:(NSInteger *)h; +- (NSInteger)delfrmnode:(ACBKey *)ikp; +- (NSInteger)insinnode:(ACBKey *)key value:(id)value; +- (void)mergenode:(NSInteger)i; +- (ACBTree *)splitnode:(NSInteger)idx; +- (ACBTree *)search:(id)key; +- (NSInteger)searchnode:(id)key match:(BOOL)match; +- (void)borrowleft:(NSInteger)i; +- (void)borrowright:(NSInteger)i; +- (void)rotateleft:(NSInteger)j; +- (void)rotateright:(NSInteger)j; +- (NSInteger) keyWalkLeaves; +- (NSInteger) objectWalkLeaves; +- (void)dealloc; +@end diff --git a/runtime/ObjC/Framework/ACBTree.m b/runtime/ObjC/Framework/ACBTree.m new file mode 100644 index 00000000..99c0cdab --- /dev/null +++ b/runtime/ObjC/Framework/ACBTree.m @@ -0,0 +1,721 @@ +// +// ACBTree.m +// ST4 +// +// Created by Alan Condit on 4/18/11. +// Copyright 2011 Alan Condit. All rights reserved. +// + +#import +#import "ACBTree.h" +#import "AMutableDictionary.h" +#import "ANTLRRuntimeException.h" + +@class AMutableDictionary; + +@implementation ACBKey + +static NSInteger RECNUM = 0; + +@synthesize recnum; +@synthesize key; + ++ (ACBKey *)newKey +{ + return [[ACBKey alloc] init]; +} + ++ (ACBKey *)newKeyWithKStr:(NSString *)aKey +{ + return [[ACBKey alloc] initWithKStr:(NSString *)aKey]; +} + +- (id) init +{ + self =[super init]; + if ( self != nil ) { + recnum = RECNUM++; + } + return self; +} + +- (id) initWithKStr:(NSString *)aKey +{ + self =[super init]; + if ( self != nil ) { + NSInteger len; + recnum = RECNUM++; + key = aKey; + len = [aKey length]; + if ( len >= BTKeySize ) { + len = BTKeySize - 1; + } + strncpy( kstr, [aKey cStringUsingEncoding:NSASCIIStringEncoding], len); + kstr[len] = '\0'; + } + return self; +} + +@end + +@implementation ACBTree + +@synthesize dict; +@synthesize lnode; +@synthesize rnode; +@synthesize keys; +@synthesize btNodes; +@synthesize lnodeid; +@synthesize rnodeid; +@synthesize nodeid; +@synthesize nodeType; +@synthesize numkeys; +@synthesize numrecs; +@synthesize updtd; +@synthesize keylen; +@synthesize kidx; + ++ (ACBTree *) newNodeWithDictionary:(AMutableDictionary *)theDict +{ + return [[ACBTree alloc] initWithDictionary:theDict]; +} + +- (id)initWithDictionary:(AMutableDictionary *)theDict +{ + self = [super init]; + if (self) { + // Initialization code here. + dict = theDict; + nodeid = theDict.nxt_nodeid++; + keys = keyArray; + btNodes = btNodeArray; + if ( nodeid == 0 ) { + numkeys = 0; + } + } + + return self; +} + +- (ACBTree *)createnode:(ACBKey *)kp +{ + ACBTree *tmp; + + tmp = [ACBTree newNodeWithDictionary:dict]; + tmp.nodeType = nodeType; + tmp.lnode = self; + tmp.rnode = self.rnode; + self.rnode = tmp; + //tmp.btNodes[0] = self; + //tmp.keys[0] = kp; + tmp.updtd = YES; + tmp.numrecs = ((nodeType == LEAF)?1:numrecs); + updtd = YES; + tmp.numkeys = 1; + [tmp retain]; + return(tmp); +} + +- (ACBTree *)deletekey:(NSString *)dkey +{ + ACBKey /* *del, */ *dkp; + ACBTree *told, *sNode; + BOOL mustRelease = NO; + + if ( [dkey isKindOfClass:[NSString class]] ) { + dkp = [ACBKey newKeyWithKStr:dkey]; + mustRelease = YES; + } + else if ( [dkey isKindOfClass:[ACBKey class]] ) + dkp = (ACBKey *)dkey; + else + @throw [ANTLRIllegalArgumentException newException:[NSString stringWithFormat:@"Don't understand this key:\"%@\"", dkey]]; + sNode = [self search:dkp.key]; + if ( sNode == nil || [sNode searchnode:dkp.key match:YES] == FAILURE ) { + if ( mustRelease ) [dkp release]; + return(self); + } + told = dict.root; + /* del = */[self internaldelete:dkp]; + + /* check for shrink at the root */ + if ( numkeys == 1 && nodeType != LEAF ) { + told = btNodes[0]; + told.nodeid = 1; + told.updtd = YES; + dict.root = told; + } +#ifdef DONTUSENOMO + if (debug == 'd') [self printtree]; +#endif + if ( mustRelease ) [dkp release]; + return(told); +} + +/** insertKey is the insertion entry point + * It determines if the key exists in the tree already + * it calls internalInsert to determine if the key already exists in the tree, + * and returns the node to be updated + */ +- (ACBTree *)insertkey:(ACBKey *)kp value:(id)value +{ + ACBTree *tnew, *q; + NSInteger h, nodeNum; + + tnew = self; + q = [self internalinsert:kp value:value split:&h]; + /* check for growth at the root */ + if ( q != nil ) { + tnew = [[ACBTree newNodeWithDictionary:dict] retain]; + tnew.nodeType = BTNODE; + nodeNum = tnew.nodeid; + tnew.nodeid = 0; + self.nodeid = nodeNum; + [tnew insert:self.keys[numkeys-1] value:self index:0 split:&h]; + [tnew insert:q.keys[q.numkeys-1] value:q index:1 split:&h]; + tnew.numrecs = self.numrecs + q.numrecs; + tnew.lnodeid = self.nodeid; + tnew.rnodeid = self.rnodeid; + self.rnodeid = tnew.nodeid; + tnew.lnode = self; + tnew.rnode = self.rnode; + self.rnode = tnew; + /* affected by nodeid swap */ + // newnode.lnodeid = tnew.btNodes[0].nodeid; + } + //dict.root = t; + //l.reccnt++; + return(tnew); +} + +- (ACBTree *)search:(NSString *)kstr +{ + NSInteger i, ret; + NSInteger srchlvl = 0; + ACBTree *t; + + t = self; + if ( self.numkeys == 0 && self.nodeType == LEAF ) + return nil; + while (t != nil) { + for (i = 0; i < t.numkeys; i++) { + ret = [t.keys[i].key compare:kstr]; + if ( ret >= 0 ) { + if ( t.nodeType == LEAF ) { + if ( ret == 0 ) return (t); /* node containing keyentry found */ + else return nil; + } + else { + break; + } + } + } + srchlvl++; + if ( t.nodeType == BTNODE ) t = t.btNodes[i]; + else { + t = nil; + } + } + return(nil); /* entry not found */ +} + +/** SEARCHNODE + * calling parameters -- + * BKEY PTR for key to search for. + * TYPE for exact match(YES) or position(NO) + * returns -- i + * i == FAILURE when match required but does not exist. + * i == t.numkeys if no existing insertion branch found. + * otherwise i == insertion branch. + */ +- (NSInteger)searchnode:(NSString *)kstr match:(BOOL)match +{ + NSInteger i, ret; + for ( i = 0; i < numkeys; i++ ) { + ret = [keys[i].key compare:kstr]; + if ( ret >= 0 ) { /* key node found */ + if ( ret == 0 && match == NO ) { + return FAILURE; + } + else if ( ret > 0 && match == YES ) { + return FAILURE; + } + break; + } + } + if ( i == numkeys && match == YES ) { + i = FAILURE; + } + return(i); +} + +- (ACBKey *)internaldelete:(ACBKey *)dkp +{ + NSInteger i, nkey; + __strong ACBKey *del = nil; + ACBTree *tsb; + NSInteger srchlvl = 0; + + /* find deletion branch */ + if ( self.nodeType != LEAF ) { + srchlvl++; + /* search for end of tree */ + i = [self searchnode:dkp.key match:NO]; + del = [btNodes[i] internaldelete:dkp]; + srchlvl--; + /* if not LEAF propagate back high key */ + tsb = btNodes[i]; + nkey = tsb.numkeys - 1; + } + /*** the bottom of the tree has been reached ***/ + else { /* set up deletion ptrs */ + if ( [self delfrmnode:dkp] == SUCCESS ) { + if ( numkeys < BTHNODESIZE+1 ) { + del = dkp; + } + else { + del = nil; + } + dkp.recnum = nodeid; + return(del); + } + } + /*** indicate deletion to be done ***/ + if ( del != nil ) { + /*** the key in "del" has to be deleted from in present node ***/ + if ( btNodes[i].numkeys >= BTHNODESIZE+1 ) { + /* node does not need balancing */ + del = nil; + self.keys[i] = tsb.keys[nkey]; + } + else { /* node requires balancing */ + if ( i == 0 ) { + [self rotateright:0]; + self.btNodes[0] = tsb; + } else if ( i < numkeys-1 ) { /* look to the right first */ + if ( self.btNodes[i+1].numkeys > BTHNODESIZE+1 ) { /* carry from right */ + [self borrowright:i]; + } + else { /* merge present node with right node */ + [self mergenode:i]; + } + } + else { /* look to the left */ + if ( i > 0 ) { /* carry or merge with left node */ + if ( self.btNodes[i-1].numkeys > BTHNODESIZE+1 ) { /* carry from left */ + [self borrowleft:i]; + } + else { /*** merge present node with left node ***/ + i--; + [self mergenode:i]; + tsb = self.btNodes[i]; + } + } + } + self.keys[i] = tsb.keys[nkey]; + } + } + numrecs--; + updtd = TRUE; + return(del); +} + +/** Search key kp on B-tree with root t; if found increment counter. + * otherwise insert an item with key kp in tree. If an ACBKey + * emerges to be passed to a lower level, then assign it to kp; + * h = "tree t has become higher" + */ +- (ACBTree *) internalinsert:(ACBKey *)kp value:(id)value split:(NSInteger *)h +{ + /* search key ins on node t^; h = false */ + NSInteger i, ret; + ACBTree *q, *tmp; + + for (i = 0; i < numkeys; i++) { + ret = [keys[i].key compare:kp.key]; + if ( ret >= 0 ) { + if ( nodeType == LEAF && ret == 0 ) return (self); /* node containing keyentry found */ + break; + } + } + if ( nodeType == LEAF ) { /* key goes in this node */ + q = [self insert:kp value:value index:i split:h]; + } + else { /* nodeType == BTNODE */ + /* key is not on this node */ + q = [self.btNodes[i] internalinsert:kp value:value split:h]; + if ( *h ) { + [self insert:kp value:q index:i split:h]; + } + else { + self.numrecs++; + } + tmp = self.btNodes[numkeys-1]; + keys[numkeys-1] = tmp.keys[tmp.numkeys-1]; + if ( i != numkeys-1 ) { + tmp = self.btNodes[i]; + keys[i] = tmp.keys[tmp.numkeys-1]; + } + updtd = YES; + } /* search */ + return q; +} + +/** Do the actual insertion or split and insert + * insert key to the right of t.keys[hi] + */ +- (ACBTree *) insert:(ACBKey *)kp value:(id)value index:(NSInteger)hi split:(NSInteger *)h +{ + ACBTree *b; + + if ( numkeys < BTNODESIZE ) { + *h = NO; + [self rotateright:hi]; + keys[hi] = kp; + btNodes[hi] = value; + numrecs++; + numkeys++; + updtd = YES; + //[kp retain]; + return nil; + } + else { /* node t is full; split it and assign the emerging ACBKey to olditem */ + b = [self splitnode:hi]; + if ( hi <= BTHNODESIZE ) { /* insert key in left page */ + [self rotateright:hi]; + keys[hi] = kp; + btNodes[hi] = value; + numrecs++; + numkeys++; + } + else { /* insert key in right page */ + hi -= BTHNODESIZE; + if ( b.rnode == nil ) hi--; + [b rotateright:hi]; + b.keys[hi] = kp; + b.btNodes[hi] = value; + b.numrecs++; + b.numkeys++; + } + numkeys = b.numkeys = BTHNODESIZE+1; + b.updtd = updtd = YES; + } + return b; +} /* insert */ + +- (void)borrowleft:(NSInteger)i +{ + ACBTree *t0, *t1; + NSInteger nkey; + + t0 = btNodes[i]; + t1 = btNodes[i-1]; + nkey = t1.numkeys-1; + [t0 insinnode:t1.keys[nkey] value:t1.btNodes[nkey]]; + [t1 delfrmnode:t1.keys[nkey]]; + nkey--; + keys[i-1] = t1.keys[nkey]; + keys[i-1].recnum = t1.nodeid; +} + +- (void)borrowright:(NSInteger)i +{ + ACBTree *t0, *t1; + NSInteger nkey; + + t0 = btNodes[i]; + t1 = btNodes[i+1]; + [t0 insinnode:t1.keys[0] value:t1.btNodes[0]]; + [t1 delfrmnode:t1.keys[0]]; + nkey = t0.numkeys - 1; + keys[i] = t0.keys[nkey]; + keys[i].recnum = t0.nodeid; +} + +- (NSInteger)delfrmnode:(ACBKey *)ikp +{ + NSInteger j; + + j = [self searchnode:ikp.key match:YES]; + if (j == FAILURE) { + return(FAILURE); + } + ACBKey *k0 = nil; + ACBTree *n0 = nil; + if ( self.nodeType == LEAF ) { + k0 = self.keys[j]; + n0 = self.btNodes[j]; + } + [self rotateleft:j]; + self.numkeys--; + numrecs -= ((self.nodeType == LEAF)?1:btNodes[j].numrecs); + if ( k0 ) [k0 release]; + if ( n0 ) [n0 release]; + updtd = TRUE; + return(SUCCESS); +} + +- (NSInteger)insinnode:(ACBKey *)ikp value:(id)value +{ + NSInteger j; + + j = [self searchnode:ikp.key match:NO]; + [self rotateright:j]; + keys[j] = ikp; + btNodes[j] = value; + numkeys++; + if ( nodeType == LEAF ) { + numrecs++; + } + else { + numrecs += btNodes[j].numrecs; + } + updtd = TRUE; + return(j); +} + +- (void)mergenode:(NSInteger)i +{ + ACBTree *t0, *t1, *tr; + NSInteger j, k, nkeys; + + t0 = btNodes[i]; + t1 = btNodes[i+1]; + /*** move keys and pointers from + t1 node to t0 node ***/ + for (j=t0.numkeys, k=0; j < BTNODESIZE && k < t1.numkeys; j++, k++) { + t0.keys[j] = t1.keys[k]; + t0.btNodes[j] = t1.btNodes[k]; + t0.numkeys++; + } + t0.numrecs += t1.numrecs; + t0.rnode = t1.rnode; + t0.rnodeid = t1.rnodeid; + t0.updtd = YES; + nkeys = t0.numkeys - 1; + keys[i] = t0.keys[nkeys]; /* update key to point to new high key */ + [self rotateleft:i+1]; /* copy over the keys and nodes */ + + t1.nodeType = -1; + if (t1.rnodeid != 0xffff && i < numkeys - 2) { + tr = btNodes[i+1]; + tr.lnodeid = t0.nodeid; + tr.lnode = t0; + tr.updtd = YES; + } + self.numkeys--; + updtd = YES; +} + +- (ACBTree *)splitnode:(NSInteger)idx +{ + ACBTree *t1; + NSInteger j, k; + + k = (idx <= BTHNODESIZE) ? BTHNODESIZE : BTHNODESIZE+1; + /*** create new node ***/ + // checknode(l, t, k); + t1 = [ACBTree newNodeWithDictionary:dict]; + t1.nodeType = nodeType; + t1.rnode = self.rnode; + self.rnode = t1; + t1.lnode = self; + self.updtd = t1.updtd = YES; + /*** move keys and pointers ***/ + NSInteger i = 0; + for (j = k; j < BTNODESIZE; j++, i++ ) { + t1.keys[i] = keys[j]; + t1.btNodes[i] = btNodes[j]; + t1.numrecs += ((nodeType == LEAF) ? 1 : btNodes[j].numrecs); + numrecs -= ((nodeType == LEAF) ? 1 : btNodes[j].numrecs); + keys[j] = nil; + btNodes[j] = nil; + } + t1.numkeys = BTNODESIZE-k; + self.numkeys = k; + return(t1); +} + +#ifdef DONTUSENOMO +freetree(l, t) +FIDB *l; +ACBTree *t; +{ + ACBTree *tmp; + NSInteger i; + + if (dict.root == nil) return(SUCCESS); + if (t.nodeid == 1) { + srchlvl = 0; + } + else srchlvl++; + for (i = 0; i < t.numkeys; i++) { + tmp = t.btNodes[i]; + if (tmp != nil) { + if (tmp.nodeType == LEAF) { + free(tmp); /* free the leaf */ + if (tmp == l.rrnode) { + l.rrnode = nil; + } + t.btNodes[i] = nil; + l.chknode.nods_inuse--; + /* putpage(l, l.chknode, 0); + */ + } + else { + freetree(l, tmp); /* continue up the tree */ + srchlvl--; /* decrement the srchlvl on return */ + } + } + } + free(t); /* free the node entered with */ + if (t == l.rrnode) { + l.rrnode = nil; + } + l.chknode.nods_inuse--; + /* putpage(l, l.chknode, 0); + */ + t = nil; +} + +- (void) notfound:(ACBKey *)kp +{ + /* error routine to perform if entry was expected and not found */ +} + +- (void)printtree:(ACBTree *)t +{ + BYTE *str; + NSInteger i, j; + NSUInteger *pdate, *ptime; + + syslst = stdprn; + if ( t.nodeid == 1 ) { + srchlvl = 0; + } + else srchlvl++; + for (j = 0; j < t.numkeys; j++) { + checknode(l, t, j); + if ( t.btNodes[j] != nil ) [self printtree:t.btNodes[j]]; + } + NSLog(@"Nodeid = %d, nodeType = %s, numkeys = %d, numrecs = %d\n", + t.nodeid, (t.nodeType == BTNODE)?@"NODE":@"LEAF", t.numkeys, t.numrecs); + NSLog(@"Left nodeid = %d, Right nodeid = %d\n", t.lnodeid, t.rnodeid); + for (i = 0; i < t.numkeys; i++) { + NSLog(@" t.keys[%d] recnum = %d, keyval = %@", + i, t.keys[i].recnum, t.keys[i]); + str = t.keys[i].kstr; + pdate = (NSUInteger *) (str + 6); + ptime = (NSUInteger *) (str + 8); + NSLog(@" date = %04.4x, time = %04.4x\n", + *pdate, *ptime); + } +} + +- (BOOL)puttree:(ACBTree *)t +{ + NSInteger i; + if (t.nodeType != LEAF) { + for (i = 0; i < t.numkeys; i++) { + if ( t.btNodes[i] != nil ) puttree(l, t.btNodes[i]); + } + } + if ( t.updtd ) { + putnode(l, t, t.nodeid); + return(YES); + } + return(NO); +} + +#endif + +/** ROTATELEFT -- rotate keys from right to the left + * starting at position j + */ +- (void)rotateleft:(NSInteger)j +{ + while ( j+1 < numkeys ) { + keys[j] = keys[j+1]; + btNodes[j] = btNodes[j+1]; + j++; + } +} + +/** ROTATERIGHT -- rotate keys to the right by 1 position + * starting at the last key down to position j. + */ +- (void)rotateright:(NSInteger)j +{ + NSInteger k; + + for ( k = numkeys; k > j; k-- ) { + keys[k] = keys[k-1]; + btNodes[k] = btNodes[k-1]; + } + keys[j] = nil; + btNodes[j] = nil; +} + +- (NSInteger) keyWalkLeaves +{ + NSInteger i, idx = 0; + NSInteger keycnt; + ACBTree *t; + + if ( self != dict.root ) { + return 0; // maybe I need to throw an exception here + } + t = self; + self.dict.data = [[NSMutableData dataWithLength:(numkeys * sizeof(id))] retain]; + self.dict.ptrBuffer = [self.dict.data mutableBytes]; + while ( t != nil && t.nodeType != LEAF ) { + t = t.btNodes[0]; + } + do { + keycnt = t.numkeys; + for ( i = 0; i < keycnt; i++ ) { + if ( t.btNodes[i] != nil ) { + dict.ptrBuffer[idx++] = (id) t.keys[i].key; + } + } + t = t.rnode; + } while ( t != nil ); + return( idx ); +} + +- (NSInteger) objectWalkLeaves +{ + NSInteger i, idx = 0; + NSInteger keycnt; + ACBTree *t; + + if ( self != dict.root ) { + return 0; // maybe I need to throw an exception here + } + t = self; + self.dict.data = [[NSMutableData dataWithLength:(numrecs * sizeof(id))] retain]; + self.dict.ptrBuffer = [self.dict.data mutableBytes]; + while ( t != nil && t.nodeType != LEAF ) { + t = t.btNodes[0]; + } + do { + keycnt = t.numkeys; + for ( i = 0; i < keycnt; i++ ) { + if ( t.btNodes[i] != nil ) { + dict.ptrBuffer[idx++] = (id) t.btNodes[i]; + } + } + t = t.rnode; + } while ( t != nil ); + return( idx ); +} + +- (void)dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ACBTree" ); +#endif + [super dealloc]; +} + +@end diff --git a/runtime/ObjC/Framework/AMutableArray.h b/runtime/ObjC/Framework/AMutableArray.h new file mode 100644 index 00000000..28d07972 --- /dev/null +++ b/runtime/ObjC/Framework/AMutableArray.h @@ -0,0 +1,50 @@ +// +// AMutableArray.h +// a_ST4 +// +// Created by Alan Condit on 3/12/11. +// Copyright 2011 Alan's MachineWorks. All rights reserved. +// + +#import +#import "ArrayIterator.h" + +@class ArrayIterator; + +@interface AMutableArray : NSMutableArray { + NSInteger BuffSize; + NSInteger count; + __strong NSMutableData *buffer; + __strong id *ptrBuffer; +} + ++ (id) newArray; ++ (id) arrayWithCapacity:(NSInteger)size; + +- (id) init; +- (id) initWithCapacity:(NSInteger)size; +- (id) copyWithZone:(NSZone *)aZone; + +- (void) addObject:(id)anObject; +- (void) addObjectsFromArray:(NSArray *)anArray; +- (id) objectAtIndex:(NSInteger)anIdx; +- (void) insertObject:(id)anObject atIndex:(NSInteger)anIdx; +- (void) removeAllObjects; +- (void) removeLastObject; +- (void) removeObjectAtIndex:(NSInteger)idx; +- (void) replaceObjectAtIndex:(NSInteger)idx withObject:(id)obj; +- (NSInteger) count; +- (void)setCount:(NSInteger)cnt; +//- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len; +- (NSArray *) allObjects; +- (ArrayIterator *) objectEnumerator; +- (void) ensureCapacity:(NSInteger) index; +- (NSString *) description; +- (NSString *) toString; + +@property (assign) NSInteger BuffSize; +@property (assign, getter=count, setter=setCount:) NSInteger count; +@property (retain) NSMutableData *buffer; +@property (assign) id *ptrBuffer; + +@end diff --git a/runtime/ObjC/Framework/AMutableArray.m b/runtime/ObjC/Framework/AMutableArray.m new file mode 100644 index 00000000..e6d1eb89 --- /dev/null +++ b/runtime/ObjC/Framework/AMutableArray.m @@ -0,0 +1,296 @@ +// +// AMutableArray.m +// a_ST4 +// +// Created by Alan Condit on 3/12/11. +// Copyright 2011 Alan's MachineWorks. All rights reserved. +// +#import "AMutableArray.h" +#import "ArrayIterator.h" + +#define BUFFSIZE 25 + +@implementation AMutableArray + +@synthesize BuffSize; +@synthesize buffer; +@synthesize ptrBuffer; +//@synthesize count; + + ++ (id) newArray +{ + return [[AMutableArray alloc] init]; +} + ++ (id) arrayWithCapacity:(NSInteger)size +{ + return [[AMutableArray alloc] initWithCapacity:size]; +} + +- (id) init +{ + self=[super init]; + if ( self != nil ) { + BuffSize = BUFFSIZE; + buffer = [[NSMutableData dataWithLength:(BuffSize * sizeof(id))] retain]; + ptrBuffer = (id *)[buffer mutableBytes]; + for( int idx = 0; idx < BuffSize; idx++ ) { + ptrBuffer[idx] = nil; + } + } + return self; +} + +- (id) initWithCapacity:(NSInteger)len +{ + self=[super init]; + if ( self != nil ) { + BuffSize = (len >= BUFFSIZE) ? len : BUFFSIZE; + buffer = [[NSMutableData dataWithLength:(BuffSize * sizeof(id))] retain]; + ptrBuffer = (id *)[buffer mutableBytes]; + for( int idx = 0; idx < BuffSize; idx++ ) { + ptrBuffer[idx] = nil; + } + } + return self; +} + +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in AMutableArray" ); +#endif + if ( count ) [self removeAllObjects]; + if ( buffer ) [buffer release]; + [super dealloc]; +} + +- (id) copyWithZone:(NSZone *)aZone +{ + AMutableArray *copy; + + copy = [[[self class] allocWithZone:aZone] init]; + if ( buffer ) { + copy.buffer = [buffer copyWithZone:aZone]; + } + copy.ptrBuffer = [copy.buffer mutableBytes]; + copy.count = count; + copy.BuffSize = BuffSize; + return copy; +} + +- (void) addObject:(id)anObject +{ + if ( anObject == nil ) anObject = [NSNull null]; + [anObject retain]; + [self ensureCapacity:count]; + ptrBuffer[count++] = anObject; +} + +- (void) addObjectsFromArray:(NSArray *)otherArray +{ + NSInteger cnt, i; + cnt = [otherArray count]; + [self ensureCapacity:count+cnt]; + for( i = 0; i < cnt; i++) { + [self addObject:[otherArray objectAtIndex:i]]; + } + return; +} + +- (id) objectAtIndex:(NSInteger)anIdx +{ + id obj; + if ( anIdx < 0 || anIdx >= count ) { + @throw [NSException exceptionWithName:NSRangeException + reason:[NSString stringWithFormat:@"Attempt to retrieve objectAtIndex %d past end", anIdx] + userInfo:nil]; + return nil; + } + ptrBuffer = [buffer mutableBytes]; + obj = ptrBuffer[anIdx]; + if ( obj == [NSNull null] ) { + obj = nil; + } + return obj; +} + +- (void) insertObject:(id)anObject atIndex:(NSInteger)anIdx +{ + if ( anObject == nil ) anObject = [NSNull null]; + if ( anObject == nil ) { + @throw [NSException exceptionWithName:NSInvalidArgumentException reason:@"Attempt to insert nil objectAtIndex" userInfo:nil]; + } + if ( anIdx < 0 || anIdx > count ) { + @throw [NSException exceptionWithName:NSRangeException reason:@"Attempt to insertObjectAtIndex past end" userInfo:nil]; + } + if ( count == BuffSize ) { + [self ensureCapacity:count]; + } + if ( anIdx < count ) { + for (int i = count; i > anIdx; i--) { + ptrBuffer[i] = ptrBuffer[i-1]; + } + } + ptrBuffer[anIdx] = [anObject retain]; + count++; +} + +- (void) removeObjectAtIndex:(NSInteger)idx; +{ + id tmp; + if (idx < 0 || idx >= count) { + @throw [NSException exceptionWithName:NSRangeException reason:@"Attempt to insert removeObjectAtIndex past end" userInfo:nil]; + } + else if (count) { + tmp = ptrBuffer[idx]; + if ( tmp ) [tmp release]; + for (int i = idx; i < count; i++) { + ptrBuffer[i] = ptrBuffer[i+1]; + } + count--; + } +} + +- (void) removeLastObject +{ + id tmp; + if (count == 0) { + @throw [NSException exceptionWithName:NSRangeException reason:@"Attempt to removeLastObject from 0" userInfo:nil]; + } + count--; + tmp = ptrBuffer[count]; + if ( tmp ) [tmp release]; + ptrBuffer[count] = nil; +} + +- (void)removeAllObjects +{ + id tmp; + if (count == 0) { + @throw [NSException exceptionWithName:NSRangeException reason:@"Attempt to removeAllObjects from 0" userInfo:nil]; + } + int i; + for ( i = 0; i < BuffSize; i++ ) { + if (i < count) { + tmp = ptrBuffer[i]; + if ( tmp ) [tmp release]; + } + ptrBuffer[i] = nil; + } + count = 0; +} + +- (void) replaceObjectAtIndex:(NSInteger)idx withObject:(id)obj +{ + id tmp; + if ( obj == nil ) { + obj = [NSNull null]; + } + if ( idx < 0 || idx >= count ) { + @throw [NSException exceptionWithName:NSRangeException reason:@"Attempt to replace object past end" userInfo:nil]; + } + if ( count ) { + [obj retain]; + tmp = ptrBuffer[idx]; + if ( tmp ) [tmp release]; + ptrBuffer[idx] = obj; + } +} + +- (NSInteger) count +{ + return count; +} + +- (void) setCount:(NSInteger)cnt +{ + count = cnt; +} + +- (NSArray *) allObjects +{ + return [NSArray arrayWithObjects:ptrBuffer count:count]; +} + +- (ArrayIterator *) objectEnumerator +{ + return [ArrayIterator newIterator:[self allObjects]]; +} + +// This is where all the magic happens. +// You have two choices when implementing this method: +// 1) Use the stack based array provided by stackbuf. If you do this, then you must respect the value of 'len'. +// 2) Return your own array of objects. If you do this, return the full length of the array returned until you run out of objects, then return 0. For example, a linked-array implementation may return each array in order until you iterate through all arrays. +// In either case, state->itemsPtr MUST be a valid array (non-nil). This sample takes approach #1, using stackbuf to store results. +- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len +{ + NSUInteger cnt = 0; + // This is the initialization condition, so we'll do one-time setup here. + // Ensure that you never set state->state back to 0, or use another method to detect initialization + // (such as using one of the values of state->extra). + if (state->state == 0) { + // We are not tracking mutations, so we'll set state->mutationsPtr to point into one of our extra values, + // since these values are not otherwise used by the protocol. + // If your class was mutable, you may choose to use an internal variable that is updated when the class is mutated. + // state->mutationsPtr MUST NOT be NULL. + state->mutationsPtr = &state->extra[0]; + } + // Now we provide items, which we track with state->state, and determine if we have finished iterating. + if (state->state < self.count) { + // Set state->itemsPtr to the provided buffer. + // Alternate implementations may set state->itemsPtr to an internal C array of objects. + // state->itemsPtr MUST NOT be NULL. + state->itemsPtr = stackbuf; + // Fill in the stack array, either until we've provided all items from the list + // or until we've provided as many items as the stack based buffer will hold. + while((state->state < self.count) && (cnt < len)) { + // For this sample, we generate the contents on the fly. + // A real implementation would likely just be copying objects from internal storage. + stackbuf[cnt++] = ptrBuffer[state->state++]; + } + // state->state = ((cnt < len)? cnt : len); + } + else + { + // We've already provided all our items, so we signal we are done by returning 0. + cnt = 0; + } + return cnt; +} + +- (NSString *) description +{ + NSMutableString *str; + NSInteger idx, cnt; + cnt = [self count]; + str = [NSMutableString stringWithCapacity:30]; + [str appendString:@"["]; + for (idx = 0; idx < cnt; idx++ ) { + [str appendString:[[self objectAtIndex:idx] toString]]; + } + [str appendString:@"]"]; + return str; +} + +- (NSString *) toString +{ + return [self description]; +} + +- (void) ensureCapacity:(NSInteger) index +{ + if ((index * sizeof(id)) >= [buffer length]) + { + NSInteger newSize = ([buffer length] / sizeof(id)) * 2; + if (index > newSize) { + newSize = index + 1; + } + BuffSize = newSize; + [buffer setLength:(BuffSize * sizeof(id))]; + ptrBuffer = [buffer mutableBytes]; + } +} + +@end diff --git a/runtime/ObjC/Framework/AMutableDictionary.h b/runtime/ObjC/Framework/AMutableDictionary.h new file mode 100644 index 00000000..d47209e7 --- /dev/null +++ b/runtime/ObjC/Framework/AMutableDictionary.h @@ -0,0 +1,60 @@ +// +// AMutableDictionary.h +// ST4 +// +// Created by Alan Condit on 4/18/11. +// Copyright 2011 Alan Condit. All rights reserved. +// + +#import +#import "ACBTree.h" +#import "ArrayIterator.h" + +@class ACBTree; +@class ArrayIterator; + +@interface AMutableDictionary : NSMutableDictionary { + + __strong ACBTree *root; + NSInteger nodes_av; + NSInteger nodes_inuse; + NSInteger nxt_nodeid; + NSUInteger count; + __strong NSMutableData *data; + __strong id *ptrBuffer; +} + +@property (retain) ACBTree *root; +@property (assign) NSInteger nodes_av; +@property (assign) NSInteger nodes_inuse; +@property (assign) NSInteger nxt_nodeid; +@property (assign, readonly, getter=count) NSUInteger count; +@property (assign) NSMutableData *data; +@property (assign) id *ptrBuffer; + ++ (AMutableDictionary *) newDictionary; ++ (AMutableDictionary *) dictionaryWithCapacity; + +- (id) init; +- (id) initWithCapacity:(NSUInteger)numItems; +- (void) dealloc; + +- (BOOL) isEqual:(id)object; +- (id) objectForKey:(id)aKey; +- (void) setObject:(id)obj forKey:(id)aKey; +- (void) removeObjectForKey:(id)aKey; + +- (NSUInteger) count; + +- (NSArray *) allKeys; +- (NSArray *) allValues; +- (ArrayIterator *) keyEnumerator; +- (ArrayIterator *) objectEnumerator; + +- (void) clear; +- (void) removeAllObjects; +- (NSInteger) nextNodeId; +- (NSArray *) toKeyArray; +- (NSArray *) toValueArray; + +@end diff --git a/runtime/ObjC/Framework/AMutableDictionary.m b/runtime/ObjC/Framework/AMutableDictionary.m new file mode 100644 index 00000000..88b85a8f --- /dev/null +++ b/runtime/ObjC/Framework/AMutableDictionary.m @@ -0,0 +1,264 @@ +// +// AMutableDictionary.m +// ST4 +// +// Created by Alan Condit on 4/18/11. +// Copyright 2011 Alan Condit. All rights reserved. +// + +#import +#import "AMutableDictionary.h" +#import "ACBTree.h" + +@implementation AMutableDictionary + +@synthesize root; +@synthesize nodes_av; +@synthesize nodes_inuse; +@synthesize nxt_nodeid; +//@synthesize count; +@synthesize data; +@synthesize ptrBuffer; + ++ (AMutableDictionary *) newDictionary +{ + return [[AMutableDictionary alloc] init]; +} + +/** dictionaryWithCapacity + * capacity is meaningless to ACBTree because + * capacity is automatically increased + */ ++ (AMutableDictionary *) dictionaryWithCapacity +{ + return [[AMutableDictionary alloc] init]; +} + +- (id)init +{ + self = [super init]; + if (self) { + // Initialization code here. + nxt_nodeid = 0; + count = 0; + root = [ACBTree newNodeWithDictionary:self]; + root.nodeType = LEAF; + root.numrecs = 0; + root.updtd = NO; + root.lnodeid = 1; + root.lnode = nil; + root.rnodeid = 0xffff; + root.rnode = nil; + } + return self; +} + +/** initWithCapacity + * capacity is meaningless to ACBTree because + * capacity is automatically increased + */ +- (id) initWithCapacity:(NSUInteger)numItems +{ + self = [super init]; + if (self) { + // Initialization code here. + nxt_nodeid = 0; + count = 0; + root = [ACBTree newNodeWithDictionary:self]; + root.nodeType = LEAF; + root.numrecs = 0; + root.updtd = NO; + root.lnodeid = 1; + root.lnode = nil; + root.rnodeid = 0xffff; + root.rnode = nil; + } + return self; +} + +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in AMutableDictionary" ); +#endif + if ( data ) [data release]; + if ( root ) [root release]; + [super dealloc]; +} + +- (id) objectForKey:(id)aKey +{ + id obj = nil; + ACBTree *node; + ACBKey *kp; + NSInteger ret; + BOOL mustRelease = NO; + + if ( [aKey isKindOfClass:[NSString class]] ) { + kp = [ACBKey newKeyWithKStr:aKey]; + mustRelease = YES; + } + else if ( [aKey isKindOfClass:[ACBKey class]] ) { + kp = aKey; + //ACBKey *akey = [ACBKey newKey:aKey]; + } + else { + @throw [NSException exceptionWithName:NSInvalidArgumentException + reason:[NSString stringWithFormat:@"What kind of key is this? %@", aKey] + userInfo:nil]; + return nil; // not a key that I know how to deal with + } + node = [root search:kp.key]; + if ( node != nil ) { + ret = [node searchnode:kp.key match:YES]; + if ( ret >= 0 && ret < node.numkeys ) { + obj = node.btNodes[ret]; + if ( obj == [NSNull null] ) { + obj = nil; + } + } + } + if ( mustRelease ) [kp release]; + return obj; +} + +- (void) setObject:(id)obj forKey:(id)aKey +{ + ACBKey *kp; + BOOL mustRelease = NO; + if ( [aKey isKindOfClass:[NSString class]] ) { + kp = [ACBKey newKeyWithKStr:aKey]; + mustRelease = YES; + } + else if ( [aKey isKindOfClass:[ACBKey class]] ) { + kp = (ACBKey *)aKey; + } + else { + @throw [NSException exceptionWithName:NSInvalidArgumentException + reason:[NSString stringWithFormat:@"What kind of key is this? %@", aKey] + userInfo:nil]; + } + if ( [root search:kp.key] == nil ) { + if ( obj == nil ) { + obj = [NSNull null]; + } + root = [root insertkey:kp value:obj]; + [kp retain]; + [obj retain]; + kp.recnum = count++; + } + else { + if ( mustRelease ) [kp release]; + @throw [NSException exceptionWithName:NSInvalidArgumentException reason:@"key alreadyExists" userInfo:nil]; + } + return; +} + +- (BOOL) isEqual:(id)object +{ + return [super isEqual:object]; +} + +- (void) removeObjectForKey:(id)aKey +{ + if ( [root deletekey:aKey] == SUCCESS ) + count--; +} + +- (NSUInteger) count +{ + return count; +} + +- (NSArray *) allKeys +{ + NSUInteger cnt = [root keyWalkLeaves]; + return [NSArray arrayWithObjects:ptrBuffer count:cnt]; +} + +- (NSArray *) allValues +{ + NSUInteger cnt = [root objectWalkLeaves]; + return [NSArray arrayWithObjects:ptrBuffer count:cnt]; +} + +- (ArrayIterator *) keyEnumerator +{ + return [ArrayIterator newIterator:[self allKeys]]; +} + +- (ArrayIterator *) objectEnumerator +{ + return [ArrayIterator newIterator:[self allValues]]; +} + +// This is where all the magic happens. +// You have two choices when implementing this method: +// 1) Use the stack based array provided by stackbuf. If you do this, then you must respect the value of 'len'. +// 2) Return your own array of objects. If you do this, return the full length of the array returned until you run out of objects, then return 0. For example, a linked-array implementation may return each array in order until you iterate through all arrays. +// In either case, state->itemsPtr MUST be a valid array (non-nil). This sample takes approach #1, using stackbuf to store results. +- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len +{ + NSUInteger cnt = 0; + // This is the initialization condition, so we'll do one-time setup here. + // Ensure that you never set state->state back to 0, or use another method to detect initialization + // (such as using one of the values of state->extra). + if (state->state == 0) { + // We are not tracking mutations, so we'll set state->mutationsPtr to point into one of our extra values, + // since these values are not otherwise used by the protocol. + // If your class was mutable, you may choose to use an internal variable that is updated when the class is mutated. + // state->mutationsPtr MUST NOT be NULL. + state->mutationsPtr = &state->extra[0]; + [self.root objectWalkLeaves]; + } + // Now we provide items, which we track with state->state, and determine if we have finished iterating. + if (state->state < self.count) { + // Set state->itemsPtr to the provided buffer. + // Alternate implementations may set state->itemsPtr to an internal C array of objects. + // state->itemsPtr MUST NOT be NULL. + state->itemsPtr = stackbuf; + // Fill in the stack array, either until we've provided all items from the list + // or until we've provided as many items as the stack based buffer will hold. + while((state->state < self.count) && (cnt < len)) { + // For this sample, we generate the contents on the fly. + // A real implementation would likely just be copying objects from internal storage. + stackbuf[cnt++] = ptrBuffer[state->state++]; + } + // state->state = ((cnt < len)? cnt : len); + } + else + { + // We've already provided all our items, so we signal we are done by returning 0. + cnt = 0; + } + return cnt; +} + +- (void) clear +{ + if ( count ) [self removeAllObjects]; +} + +- (void) removeAllObjects +{ + root = [ACBTree newNodeWithDictionary:self]; + root.nodeid = 0; + nxt_nodeid = 1; +} + +- (NSInteger) nextNodeId +{ + return nxt_nodeid++; +} + +- (NSArray *) toKeyArray +{ + return nil; +} + +- (NSArray *) toValueArray +{ + return nil; +} + +@end diff --git a/runtime/ObjC/Framework/ANTLR.h b/runtime/ObjC/Framework/ANTLR.h index 0e6e37f9..3c81fc21 100644 --- a/runtime/ObjC/Framework/ANTLR.h +++ b/runtime/ObjC/Framework/ANTLR.h @@ -1,5 +1,5 @@ // [The "BSD licence"] -// Copyright (c) 2006-2007 Kay Roepke +// Copyright (c) 2006-2007 Kay Roepke (c) 2011 Alan Condit // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -24,6 +24,9 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#import +#import +#import #import #import #import @@ -81,6 +84,7 @@ #import #import #import +#import #import #import #import @@ -107,3 +111,4 @@ //#import #import #import +#import diff --git a/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/project.pbxproj b/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/project.pbxproj index dc348b32..15964634 100644 --- a/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/project.pbxproj +++ b/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/project.pbxproj @@ -255,6 +255,7 @@ 1AE723E1134E8AB5001C3F35 /* ANTLRSymbolStack.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AE7238B134E8AB4001C3F35 /* ANTLRSymbolStack.m */; }; 1AE723E2134E8AB5001C3F35 /* ANTLRToken+DebuggerSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AE7238C134E8AB4001C3F35 /* ANTLRToken+DebuggerSupport.m */; }; 1AE723E3134E8AB6001C3F35 /* ANTLRTokenRewriteStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AE7238D134E8AB4001C3F35 /* ANTLRTokenRewriteStream.m */; }; + 1AE723E5134E8AB6001C3F35 /* ANTLRTreeAdaptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AE7238F134E8AB4001C3F35 /* ANTLRTreeAdaptor.m */; }; 1AE723E6134E8AB6001C3F35 /* ANTLRTreeException.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AE72390134E8AB4001C3F35 /* ANTLRTreeException.m */; }; 1AE723E7134E8AB6001C3F35 /* ANTLRTreeIterator.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AE72391134E8AB4001C3F35 /* ANTLRTreeIterator.m */; }; 1AE723E8134E8AB6001C3F35 /* ANTLRTreeParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AE72392134E8AB4001C3F35 /* ANTLRTreeParser.m */; }; @@ -2353,6 +2354,7 @@ 1AE723E1134E8AB5001C3F35 /* ANTLRSymbolStack.m in Sources */, 1AE723E2134E8AB5001C3F35 /* ANTLRToken+DebuggerSupport.m in Sources */, 1AE723E3134E8AB6001C3F35 /* ANTLRTokenRewriteStream.m in Sources */, + 1AE723E5134E8AB6001C3F35 /* ANTLRTreeAdaptor.m in Sources */, 1AE723E6134E8AB6001C3F35 /* ANTLRTreeException.m in Sources */, 1AE723E7134E8AB6001C3F35 /* ANTLRTreeIterator.m in Sources */, 1AE723E8134E8AB6001C3F35 /* ANTLRTreeParser.m in Sources */, diff --git a/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/project.xcworkspace/xcuserdata/acondit.xcuserdatad/UserInterfaceState.xcuserstate b/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/project.xcworkspace/xcuserdata/acondit.xcuserdatad/UserInterfaceState.xcuserstate index a1c07fba..03da13b0 100644 --- a/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/project.xcworkspace/xcuserdata/acondit.xcuserdatad/UserInterfaceState.xcuserstate +++ b/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/project.xcworkspace/xcuserdata/acondit.xcuserdatad/UserInterfaceState.xcuserstate @@ -11,7 +11,7 @@ $class CF$UID - 84 + 87 NS.keys @@ -159,152 +159,176 @@ CF$UID 37 + + CF$UID + 38 + + + CF$UID + 39 + + + CF$UID + 40 + NS.objects CF$UID - 38 + 41 CF$UID - 219 + 222 CF$UID - 306 + 309 CF$UID - 392 + 395 CF$UID - 468 + 471 CF$UID - 596 + 636 CF$UID - 656 + 764 CF$UID - 716 + 824 CF$UID - 796 + 884 CF$UID - 876 + 964 CF$UID - 936 + 1044 CF$UID - 996 + 1104 CF$UID - 1056 + 1204 CF$UID - 1135 + 1264 CF$UID - 1195 + 1324 CF$UID - 1264 + 1403 CF$UID - 1321 + 1463 CF$UID - 1378 + 1530 CF$UID - 1438 + 1587 CF$UID - 1522 + 1644 CF$UID - 2480 + 1704 CF$UID - 3858 + 1787 CF$UID - 3957 + 1871 CF$UID - 4014 + 3031 CF$UID - 4085 + 4325 CF$UID - 4161 + 4382 CF$UID - 4221 + 4453 CF$UID - 4298 + 4530 CF$UID - 4355 + 4590 CF$UID - 4432 + 4667 CF$UID - 4524 + 4724 CF$UID - 4584 + 4801 CF$UID - 4663 + 4861 CF$UID - 4720 + 4940 CF$UID - 4799 + 4997 CF$UID - 4856 + 5076 + + + CF$UID + 5133 + + + CF$UID + 5190 + + + CF$UID + 5274 @@ -312,12 +336,14 @@ 3E880256-37A7-45EE-9711-6A7B5B8E709E 2A0687CA-9E09-43DA-AAB4-66AB0EF9AB0D 267DE2B3-8A97-43DB-B258-865995C3291E + 9869D367-F4FF-47E1-9F0B-EC2129F3C250 C5B8F73C-C719-4392-B73A-2E9BC23A265E 2060A434-A276-41E2-9ADB-28BB1B8C65B3 51912CD1-86C0-4E43-BF83-A46B6AEE9BB9 33B3EA90-9D12-4F88-A34B-E2B32A707D40 984062D3-D917-4552-92A9-E57F4A3BA955 F7CA7E77-5E1E-4D51-B349-95E0260321DE + 6EC9948E-0F92-459C-AF9D-782DA9D80829 DDBEAFBD-8E5A-4C34-83BD-2C4637025539 DDC0C46D-96FA-46F0-84C0-8E712DE1EB6A B9397168-C6E4-4B33-9B07-E4E7C78BB1F5 @@ -326,10 +352,10 @@ BD9F3C49-0864-4BF6-8624-E3FE059EC4B3 8916566A-4F13-46CD-B79C-3C921EEE7D49 1F68007A-BC1A-4A45-B3EB-7C585A74C0C8 + AED3ECB9-6F72-47B5-83EB-D9ED381ACAD7 65F4C6DD-94DD-44AD-8D8F-22A5797CE3AE IDEWorkspaceDocument 94527DF4-8A4A-4B44-A86F-9E177764020F - C1CEA97E-50BA-41A4-B31E-FEEFEF72E31F 787499DC-17C3-4BB8-94ED-F5F4A0D91345 36E20E99-C4B5-4408-9469-AD3DBB319BE0 97C4F628-88C1-41B1-9AC9-DF72045A615B @@ -337,59 +363,60 @@ 38E9C286-2E78-48F4-BE55-7F0891FDBB6A 6ABB3AFD-D548-4BC7-8153-8135D4962AA6 73A1D02F-4ED6-4C89-82A1-AD3DCB688C00 - 54E8D3C7-F944-4DD4-8723-7031510981A8 FE7B2FCF-EF2F-4DEB-8DE2-36A865A2803C 1A2E2AE9-7B63-407A-8A8F-B5149057CDD7 F47E26E1-DE28-455F-98EF-EA339320AD36 9B93B8C8-2C83-499A-AA57-E9AB210F54F5 827C8A69-A567-412B-A2F1-1FC135ED4231 9525D734-BB03-4B02-BF0B-2B807EC3DF3B + D005C949-00BD-483D-8EFC-E251FE97FA2B + C25840B0-EB05-42A5-84AC-811CFB8C95FC $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 43 + 46 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 43 + 46 CF$UID - 46 + 49 CF$UID @@ -397,11 +424,11 @@ CF$UID - 47 + 50 CF$UID - 218 + 221 @@ -417,76 +444,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 48 + 51 CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 56 + 59 CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 58 + 61 CF$UID - 169 + 172 CF$UID - 202 + 205 CF$UID - 209 + 212 @@ -504,76 +531,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 67 + 70 CF$UID - 69 + 72 CF$UID - 101 + 104 CF$UID - 122 + 125 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 160 + 163 CF$UID - 168 + 171 @@ -589,7 +616,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -610,60 +637,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 76 + 79 CF$UID - 89 + 92 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 96 + 99 CF$UID - 99 + 102 @@ -677,20 +704,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 78 + 81 @@ -699,17 +726,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 79 + 82 CF$UID - 85 + 88 @@ -717,28 +744,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 83 + 86 @@ -759,28 +786,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 87 + 90 @@ -800,20 +827,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 90 + 93 @@ -821,17 +848,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 91 + 94 CF$UID - 93 + 96 @@ -839,28 +866,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 92 + 95 @@ -869,28 +896,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 94 + 97 @@ -900,20 +927,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -923,20 +950,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -945,7 +972,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -955,19 +982,19 @@ primaryEditorContextNode CF$UID - 102 + 105 rootLayoutTreeNode CF$UID - 118 + 121 $class CF$UID - 120 + 123 children @@ -979,41 +1006,41 @@ documentArchivableRepresentation CF$UID - 103 + 106 orientation 0 parent CF$UID - 118 + 121 $class CF$UID - 117 + 120 DocumentLocation CF$UID - 113 + 116 DomainIdentifier CF$UID - 104 + 107 IdentifierPath CF$UID - 105 + 108 IndexOfDocumentIdentifier CF$UID - 57 + 60 Xcode.IDENavigableItemDomain.WorkspaceStructure @@ -1021,21 +1048,21 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 106 + 109 CF$UID - 108 + 111 CF$UID - 110 + 113 @@ -1043,12 +1070,12 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 56 + 59 @@ -1064,12 +1091,12 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 109 + 112 Classes @@ -1077,12 +1104,12 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 111 + 114 ANTLR @@ -1099,12 +1126,12 @@ $class CF$UID - 116 + 119 documentURL CF$UID - 114 + 117 timestamp @@ -1116,7 +1143,7 @@ $class CF$UID - 115 + 118 NS.string file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.m @@ -1153,12 +1180,12 @@ $class CF$UID - 120 + 123 children CF$UID - 119 + 122 contentType 0 @@ -1179,13 +1206,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 102 + 105 @@ -1211,20 +1238,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 124 + 127 @@ -1233,20 +1260,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 126 + 129 @@ -1255,36 +1282,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 130 + 133 CF$UID - 57 + 60 CF$UID - 158 + 161 @@ -1295,13 +1322,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 131 + 134 @@ -1309,256 +1336,256 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 132 + 135 CF$UID - 133 + 136 CF$UID - 134 + 137 CF$UID - 135 + 138 CF$UID - 136 + 139 CF$UID - 137 + 140 CF$UID - 138 + 141 NS.objects CF$UID - 139 + 142 CF$UID - 140 + 143 CF$UID - 145 + 144 CF$UID - 56 + 59 CF$UID - 153 + 152 CF$UID - 154 + 153 CF$UID - 157 + 156 + DocumentExtensionIdentifier NavigableItemName - ArchivableRepresentation EditorState DocumentNavigableItemName FileDataType DocumentURL - DocumentExtensionIdentifier + ArchivableRepresentation + Xcode.IDEKit.EditorDocument.SourceCode @implementation ANTLRUnbufferedCommonTreeNodeStream $class CF$UID - 117 - - DocumentLocation - - CF$UID - 113 - - DomainIdentifier - - CF$UID - 104 - - IdentifierPath - - CF$UID - 141 - - IndexOfDocumentIdentifier - - CF$UID - 57 - - - - $class - - CF$UID - 112 + 87 + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + NS.objects CF$UID - 142 + 48 CF$UID - 143 + 149 CF$UID - 144 + 150 + + + CF$UID + 151 + HideAllIssues + PrimaryDocumentTimestamp + PrimaryDocumentVisibleCharacterRange + PrimaryDocumentSelectedCharacterRange + 324417698.23469198 + {0, 1992} + {1697, 0} + public.objective-c-source $class CF$UID - 107 + 155 - Identifier + NS.base + + CF$UID + 0 + + NS.relative CF$UID - 56 + 154 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.m + + $classes + + NSURL + NSObject + + $classname + NSURL + $class CF$UID - 107 + 120 - Identifier + DocumentLocation CF$UID - 109 + 116 - - - $class + DomainIdentifier CF$UID 107 - Identifier + IdentifierPath CF$UID - 111 + 157 + + IndexOfDocumentIdentifier + + CF$UID + 60 $class CF$UID - 84 + 115 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - NS.objects CF$UID - 45 - - - CF$UID - 150 + 158 CF$UID - 151 + 159 CF$UID - 152 + 160 - HideAllIssues - PrimaryDocumentTimestamp - PrimaryDocumentVisibleCharacterRange - PrimaryDocumentSelectedCharacterRange - 324417698.23469198 - {0, 1992} - {1697, 0} - public.objective-c-source $class CF$UID - 156 + 110 - NS.base + Identifier CF$UID - 0 + 59 - NS.relative + + + $class CF$UID - 155 + 110 + + Identifier + + CF$UID + 112 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.m - $classes - - NSURL - NSObject - - $classname - NSURL + $class + + CF$UID + 110 + + Identifier + + CF$UID + 114 + - Xcode.IDEKit.EditorDocument.SourceCode $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -1567,20 +1594,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 161 + 164 @@ -1588,17 +1615,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 162 + 165 CF$UID - 165 + 168 @@ -1606,28 +1633,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 164 + 167 @@ -1637,28 +1664,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 167 + 170 @@ -1669,36 +1696,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 171 + 174 CF$UID - 172 + 175 NS.objects CF$UID - 173 + 176 CF$UID - 185 + 188 CF$UID - 171 + 174 @@ -1709,68 +1736,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -1785,7 +1812,7 @@ $class CF$UID - 112 + 115 NS.objects @@ -1795,7 +1822,7 @@ $class CF$UID - 184 + 187 NS.objects @@ -1813,92 +1840,92 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 186 + 189 CF$UID - 187 + 190 CF$UID - 188 + 191 CF$UID - 189 + 192 CF$UID - 178 + 181 CF$UID - 190 + 193 CF$UID - 191 + 194 CF$UID - 192 + 195 CF$UID - 193 + 196 CF$UID - 194 + 197 NS.objects CF$UID - 45 + 48 CF$UID - 195 + 198 CF$UID - 197 + 200 CF$UID - 198 + 201 CF$UID - 199 + 202 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 200 + 203 CF$UID - 201 + 204 CF$UID - 45 + 48 @@ -1915,7 +1942,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -1934,7 +1961,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -1943,7 +1970,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -1953,7 +1980,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -1962,7 +1989,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -1971,20 +1998,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 203 + 206 @@ -1992,17 +2019,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 204 + 207 CF$UID - 207 + 210 @@ -2010,28 +2037,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 206 + 209 @@ -2041,28 +2068,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 208 + 211 @@ -2071,20 +2098,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 210 + 213 @@ -2092,21 +2119,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 211 + 214 CF$UID - 213 + 216 CF$UID - 215 + 218 @@ -2114,28 +2141,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 212 + 215 @@ -2144,28 +2171,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 214 + 217 @@ -2174,28 +2201,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 217 + 220 @@ -2205,13 +2232,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 43 + 46 @@ -2219,52 +2246,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 220 + 47 CF$UID - 41 + 44 CF$UID - 40 + 43 CF$UID - 39 + 42 CF$UID - 42 + 45 CF$UID - 44 + 223 NS.objects CF$UID - 221 + 224 CF$UID - 304 + 225 CF$UID - 220 + 223 CF$UID - 45 + 48 CF$UID @@ -2272,7 +2299,7 @@ CF$UID - 305 + 226 @@ -2281,76 +2308,91 @@ $class CF$UID - 68 + 115 + + NS.objects + + + CF$UID + 223 + + + + {{205, 359}, {600, 646}} + + $class + + CF$UID + 71 NS.keys CF$UID - 48 + 51 CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 222 + 227 CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 223 + 228 CF$UID - 280 + 285 CF$UID - 290 + 295 CF$UID - 296 + 301 @@ -2359,76 +2401,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 224 + 229 CF$UID - 225 + 230 CF$UID - 240 + 245 CF$UID - 254 + 259 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 274 + 279 CF$UID - 168 + 171 @@ -2436,7 +2478,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -2447,60 +2489,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 226 + 231 CF$UID - 232 + 237 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 238 + 243 CF$UID - 239 + 244 @@ -2508,20 +2550,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 227 + 232 @@ -2529,17 +2571,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 228 + 233 CF$UID - 230 + 235 @@ -2547,28 +2589,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 229 + 234 @@ -2577,28 +2619,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 231 + 236 @@ -2607,20 +2649,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 233 + 238 @@ -2628,17 +2670,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 234 + 239 CF$UID - 236 + 241 @@ -2646,28 +2688,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 235 + 240 @@ -2676,28 +2718,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 237 + 242 @@ -2706,20 +2748,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -2727,20 +2769,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -2748,7 +2790,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -2758,19 +2800,19 @@ primaryEditorContextNode CF$UID - 241 + 246 rootLayoutTreeNode CF$UID - 252 + 257 $class CF$UID - 120 + 123 children @@ -2782,66 +2824,66 @@ documentArchivableRepresentation CF$UID - 242 + 247 orientation 0 parent CF$UID - 252 + 257 $class CF$UID - 117 + 120 DocumentLocation CF$UID - 250 + 255 DomainIdentifier CF$UID - 104 + 107 IdentifierPath CF$UID - 243 + 248 IndexOfDocumentIdentifier CF$UID - 57 + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 244 + 249 CF$UID - 245 + 250 CF$UID - 247 + 252 CF$UID - 249 + 254 @@ -2849,24 +2891,24 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 222 + 227 $class CF$UID - 107 + 110 Identifier CF$UID - 246 + 251 simplecTreeParser @@ -2874,12 +2916,12 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 248 + 253 examples @@ -2887,24 +2929,24 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 111 + 114 $class CF$UID - 116 + 119 documentURL CF$UID - 251 + 256 timestamp @@ -2916,7 +2958,7 @@ $class CF$UID - 115 + 118 NS.string file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.h @@ -2925,12 +2967,12 @@ $class CF$UID - 120 + 123 children CF$UID - 253 + 258 contentType 0 @@ -2951,13 +2993,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 241 + 246 @@ -2965,20 +3007,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 255 + 260 @@ -2986,20 +3028,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 256 + 261 @@ -3007,36 +3049,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 257 + 262 CF$UID - 57 + 60 CF$UID - 273 + 278 @@ -3044,13 +3086,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 258 + 263 @@ -3058,68 +3100,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 132 + 135 CF$UID - 133 + 136 CF$UID - 134 + 137 CF$UID - 135 + 138 CF$UID - 136 + 139 CF$UID - 137 + 140 CF$UID - 138 + 141 NS.objects CF$UID - 259 + 142 CF$UID - 260 + 264 CF$UID - 266 + 265 CF$UID - 222 + 227 CF$UID - 270 + 269 CF$UID - 271 + 270 CF$UID - 157 + 272 @@ -3128,52 +3170,119 @@ $class CF$UID - 117 + 87 + + NS.keys + + + CF$UID + 146 + + + CF$UID + 145 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 266 + + + CF$UID + 48 + + + CF$UID + 267 + + + CF$UID + 268 + + + + 323990081.71608299 + {0, 1023} + {574, 0} + public.c-header + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 271 + + + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.h + + $class + + CF$UID + 120 DocumentLocation CF$UID - 250 + 255 DomainIdentifier CF$UID - 104 + 107 IdentifierPath CF$UID - 261 + 273 IndexOfDocumentIdentifier CF$UID - 57 + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 262 + 274 CF$UID - 263 + 275 CF$UID - 264 + 276 CF$UID - 265 + 277 @@ -3181,128 +3290,61 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 222 + 227 $class CF$UID - 107 + 110 Identifier CF$UID - 246 + 251 $class CF$UID - 107 + 110 Identifier CF$UID - 248 + 253 $class CF$UID - 107 + 110 Identifier CF$UID - 111 - - - - $class - - CF$UID - 84 - - NS.keys - - - CF$UID - 147 - - - CF$UID - 146 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 267 - - - CF$UID - 45 - - - CF$UID - 268 - - - CF$UID - 269 - - - - 323990081.71608299 - {0, 1023} - {574, 0} - public.c-header - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 272 + 114 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.h $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -3310,20 +3352,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 275 + 280 @@ -3331,17 +3373,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 276 + 281 CF$UID - 278 + 283 @@ -3349,28 +3391,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 277 + 282 @@ -3379,28 +3421,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 279 + 284 @@ -3409,36 +3451,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 281 + 175 CF$UID - 172 + 286 NS.objects CF$UID - 282 + 287 CF$UID - 283 + 286 CF$UID - 281 + 288 @@ -3447,68 +3489,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -3516,44 +3558,44 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 284 + 289 CF$UID - 285 + 290 CF$UID - 286 + 291 CF$UID - 287 + 292 NS.objects CF$UID - 199 + 202 CF$UID - 288 + 293 CF$UID - 289 + 294 CF$UID - 45 + 48 @@ -3565,7 +3607,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -3574,7 +3616,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -3583,20 +3625,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 291 + 296 @@ -3604,17 +3646,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 292 + 297 CF$UID - 294 + 299 @@ -3622,28 +3664,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 293 + 298 @@ -3652,28 +3694,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 295 + 300 @@ -3682,20 +3724,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 297 + 302 @@ -3703,21 +3745,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 298 + 303 CF$UID - 300 + 305 CF$UID - 302 + 307 @@ -3725,28 +3767,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 299 + 304 @@ -3755,28 +3797,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 301 + 306 @@ -3785,93 +3827,78 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 303 + 308 354 - {{205, 359}, {600, 646}} - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 220 - - - $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 307 + 310 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 307 + 310 CF$UID - 308 + 311 CF$UID @@ -3879,11 +3906,11 @@ CF$UID - 309 + 312 CF$UID - 391 + 394 @@ -3893,76 +3920,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 48 + 51 CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 310 + 313 CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 311 + 314 CF$UID - 365 + 368 CF$UID - 377 + 380 CF$UID - 383 + 386 @@ -3971,76 +3998,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 312 + 315 CF$UID - 313 + 316 CF$UID - 328 + 331 CF$UID - 341 + 344 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 359 + 362 CF$UID - 168 + 171 @@ -4048,7 +4075,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -4059,60 +4086,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 314 + 317 CF$UID - 320 + 323 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 326 + 329 CF$UID - 327 + 330 @@ -4120,20 +4147,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 315 + 318 @@ -4141,17 +4168,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 316 + 319 CF$UID - 318 + 321 @@ -4159,28 +4186,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 317 + 320 @@ -4189,28 +4216,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 319 + 322 @@ -4219,20 +4246,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 321 + 324 @@ -4240,17 +4267,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 322 + 325 CF$UID - 324 + 327 @@ -4258,28 +4285,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 323 + 326 @@ -4288,28 +4315,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 325 + 328 @@ -4318,20 +4345,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -4339,20 +4366,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -4360,7 +4387,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -4370,19 +4397,19 @@ primaryEditorContextNode CF$UID - 329 + 332 rootLayoutTreeNode CF$UID - 339 + 342 $class CF$UID - 120 + 123 children @@ -4394,66 +4421,66 @@ documentArchivableRepresentation CF$UID - 330 + 333 orientation 0 parent CF$UID - 339 + 342 $class CF$UID - 117 + 120 DocumentLocation CF$UID - 337 + 340 DomainIdentifier CF$UID - 104 + 107 IdentifierPath CF$UID - 331 + 334 IndexOfDocumentIdentifier CF$UID - 57 + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 332 + 335 CF$UID - 333 + 336 CF$UID - 335 + 338 CF$UID - 336 + 339 @@ -4461,24 +4488,24 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 310 + 313 $class CF$UID - 107 + 110 Identifier CF$UID - 334 + 337 treeparser @@ -4486,36 +4513,36 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 248 + 253 $class CF$UID - 107 + 110 Identifier CF$UID - 111 + 114 $class CF$UID - 116 + 119 documentURL CF$UID - 338 + 341 timestamp @@ -4527,7 +4554,7 @@ $class CF$UID - 115 + 118 NS.string file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/main.m @@ -4536,12 +4563,12 @@ $class CF$UID - 120 + 123 children CF$UID - 340 + 343 contentType 0 @@ -4562,13 +4589,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 329 + 332 @@ -4576,20 +4603,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 342 + 345 @@ -4597,20 +4624,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 343 + 346 @@ -4618,36 +4645,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 344 + 347 CF$UID - 57 + 60 CF$UID - 358 + 361 @@ -4655,13 +4682,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 345 + 348 @@ -4669,187 +4696,121 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 138 - - - CF$UID - 132 - - - CF$UID - 134 + 141 CF$UID 135 - - CF$UID - 136 - CF$UID 137 CF$UID - 133 - - - NS.objects - - - CF$UID - 157 - - - CF$UID - 310 - - - CF$UID - 346 - - - CF$UID - 310 + 138 CF$UID - 153 + 139 CF$UID - 350 + 140 CF$UID - 352 + 136 - - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 146 - - - CF$UID - 147 + 349 CF$UID - 148 + 142 CF$UID - 149 + 355 - - NS.objects - CF$UID - 45 + 313 CF$UID - 347 + 152 CF$UID - 348 + 359 CF$UID - 349 + 313 - 323993967.40714198 - {217, 1612} - {0, 0} - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 351 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/main.m $class CF$UID - 117 + 120 DocumentLocation CF$UID - 337 + 340 DomainIdentifier CF$UID - 104 + 107 IdentifierPath CF$UID - 353 + 350 IndexOfDocumentIdentifier CF$UID - 57 + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 354 + 351 CF$UID - 355 + 352 CF$UID - 356 + 353 CF$UID - 357 + 354 @@ -4857,61 +4818,127 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 310 + 313 $class CF$UID - 107 + 110 Identifier CF$UID - 334 + 337 $class CF$UID - 107 + 110 Identifier CF$UID - 248 + 253 $class CF$UID - 107 + 110 Identifier CF$UID - 111 + 114 $class CF$UID - 112 + 87 + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + NS.objects CF$UID - 159 + 48 + + + CF$UID + 356 + + + CF$UID + 357 + + + CF$UID + 358 + + + + 323993967.40714198 + {217, 1612} + {0, 0} + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 360 + + + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/main.m + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 162 @@ -4919,20 +4946,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 360 + 363 @@ -4940,17 +4967,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 361 + 364 CF$UID - 363 + 366 @@ -4958,28 +4985,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 362 + 365 @@ -4988,28 +5015,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 364 + 367 @@ -5018,28 +5045,28 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 172 + 175 NS.objects CF$UID - 366 + 369 CF$UID - 170 + 173 @@ -5047,68 +5074,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 367 + 370 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 199 + 202 CF$UID - 183 + 186 CF$UID - 369 + 372 @@ -5116,13 +5143,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 368 + 371 @@ -5130,25 +5157,25 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 111 + 114 CF$UID - 248 + 253 CF$UID - 334 + 337 CF$UID - 310 + 313 @@ -5156,29 +5183,29 @@ $class CF$UID - 184 + 187 NS.objects CF$UID - 370 + 373 CF$UID - 371 + 374 CF$UID - 372 + 375 CF$UID - 373 + 376 CF$UID - 375 + 378 @@ -5186,13 +5213,13 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 111 + 114 @@ -5200,17 +5227,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 111 + 114 CF$UID - 248 + 253 @@ -5218,21 +5245,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 111 + 114 CF$UID - 248 + 253 CF$UID - 334 + 337 @@ -5240,21 +5267,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 111 + 114 CF$UID - 248 + 253 CF$UID - 374 + 377 @@ -5263,17 +5290,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 111 + 114 CF$UID - 376 + 379 @@ -5282,20 +5309,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 378 + 381 @@ -5303,17 +5330,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 379 + 382 CF$UID - 381 + 384 @@ -5321,28 +5348,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 380 + 383 @@ -5351,28 +5378,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 382 + 385 @@ -5381,20 +5408,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 384 + 387 @@ -5402,21 +5429,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 385 + 388 CF$UID - 387 + 390 CF$UID - 389 + 392 @@ -5424,28 +5451,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 386 + 389 @@ -5454,28 +5481,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 388 + 391 @@ -5484,28 +5511,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 390 + 393 @@ -5514,13 +5541,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 307 + 310 @@ -5528,48 +5555,48 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 393 + 396 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 393 + 396 CF$UID - 394 + 397 CF$UID @@ -5577,11 +5604,11 @@ CF$UID - 395 + 398 CF$UID - 467 + 470 @@ -5591,76 +5618,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 48 + 51 CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 396 + 399 CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 397 + 400 CF$UID - 448 + 451 CF$UID - 453 + 456 CF$UID - 459 + 462 @@ -5669,76 +5696,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 398 + 401 CF$UID - 399 + 402 CF$UID - 414 + 417 CF$UID - 426 + 429 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 442 + 445 CF$UID - 168 + 171 @@ -5746,7 +5773,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -5757,60 +5784,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 400 + 403 CF$UID - 406 + 409 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 412 + 415 CF$UID - 413 + 416 @@ -5818,20 +5845,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 401 + 404 @@ -5839,17 +5866,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 402 + 405 CF$UID - 404 + 407 @@ -5857,28 +5884,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 403 + 406 @@ -5887,28 +5914,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 405 + 408 @@ -5917,20 +5944,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 407 + 410 @@ -5938,17 +5965,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 408 + 411 CF$UID - 410 + 413 @@ -5956,28 +5983,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 409 + 412 @@ -5986,28 +6013,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 411 + 414 @@ -6016,20 +6043,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -6037,20 +6064,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -6058,7 +6085,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -6068,19 +6095,19 @@ primaryEditorContextNode CF$UID - 415 + 418 rootLayoutTreeNode CF$UID - 424 + 427 $class CF$UID - 120 + 123 children @@ -6092,41 +6119,41 @@ documentArchivableRepresentation CF$UID - 416 + 419 orientation 0 parent CF$UID - 424 + 427 $class CF$UID - 117 + 120 DocumentLocation CF$UID - 422 + 425 DomainIdentifier CF$UID - 417 + 420 IdentifierPath CF$UID - 418 + 421 IndexOfDocumentIdentifier CF$UID - 421 + 424 Xcode.IDENavigableItem.WorkspaceLogsDomain @@ -6134,13 +6161,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 419 + 422 @@ -6148,12 +6175,12 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 420 + 423 Build LL-start : 2:21:49 PM @@ -6162,12 +6189,12 @@ $class CF$UID - 116 + 119 documentURL CF$UID - 423 + 426 timestamp @@ -6180,12 +6207,12 @@ $class CF$UID - 120 + 123 children CF$UID - 425 + 428 contentType 0 @@ -6206,13 +6233,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 415 + 418 @@ -6220,20 +6247,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 427 + 430 @@ -6241,20 +6268,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 428 + 431 @@ -6262,36 +6289,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 429 + 432 CF$UID - 57 + 60 CF$UID - 441 + 444 @@ -6299,13 +6326,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 430 + 433 @@ -6313,56 +6340,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 132 + 135 CF$UID - 133 + 136 CF$UID - 134 + 137 CF$UID - 135 + 138 CF$UID - 136 + 139 CF$UID - 137 + 140 CF$UID - 138 + 141 NS.objects CF$UID - 420 + 434 CF$UID - 431 + 423 CF$UID - 436 + 435 CF$UID - 420 + 423 + + + CF$UID + 437 CF$UID @@ -6372,50 +6403,87 @@ CF$UID 439 + + + Xcode.IDEKit.EditorDocument.LogDocument + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 436 + + + NS.objects + CF$UID - 440 + 184 + SelectedDocumentLocations + com.apple.dt.IDE.BuildLogContentType $class CF$UID - 117 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 426 + + + + $class + + CF$UID + 120 DocumentLocation CF$UID - 435 + 443 DomainIdentifier CF$UID - 417 + 420 IdentifierPath CF$UID - 432 + 440 IndexOfDocumentIdentifier CF$UID - 434 + 442 $class CF$UID - 112 + 115 NS.objects CF$UID - 433 + 441 @@ -6423,12 +6491,12 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 420 + 423 2147483647 @@ -6436,12 +6504,12 @@ $class CF$UID - 116 + 119 documentURL CF$UID - 423 + 426 timestamp @@ -6453,54 +6521,13 @@ $class CF$UID - 84 - - NS.keys - - - CF$UID - 437 - - - NS.objects - - - CF$UID - 181 - - - - SelectedDocumentLocations - com.apple.dt.IDE.BuildLogContentType - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 423 - - - Xcode.IDEKit.EditorDocument.LogDocument - - $class - - CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -6508,20 +6535,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 443 + 446 @@ -6529,17 +6556,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 444 + 447 CF$UID - 446 + 449 @@ -6547,28 +6574,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 445 + 448 @@ -6577,28 +6604,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 447 + 450 @@ -6607,36 +6634,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 281 + 175 CF$UID - 172 + 286 NS.objects CF$UID - 449 + 452 CF$UID - 450 + 286 CF$UID - 281 + 453 @@ -6644,68 +6671,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -6713,44 +6740,44 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 284 + 289 CF$UID - 285 + 290 CF$UID - 286 + 291 CF$UID - 287 + 292 NS.objects CF$UID - 199 + 202 CF$UID - 451 + 454 CF$UID - 452 + 455 CF$UID - 45 + 48 @@ -6758,7 +6785,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -6767,7 +6794,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -6776,20 +6803,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 454 + 457 @@ -6797,17 +6824,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 455 + 458 CF$UID - 457 + 460 @@ -6815,28 +6842,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 456 + 459 @@ -6845,28 +6872,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 458 + 461 @@ -6875,20 +6902,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 460 + 463 @@ -6896,21 +6923,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 461 + 464 CF$UID - 463 + 466 CF$UID - 465 + 468 @@ -6918,28 +6945,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 462 + 465 @@ -6948,28 +6975,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 464 + 467 @@ -6978,28 +7005,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 466 + 469 @@ -7008,13 +7035,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 393 + 396 @@ -7022,48 +7049,48 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 472 CF$UID - 40 + 473 CF$UID - 41 + 474 CF$UID - 42 + 475 CF$UID - 469 + 476 CF$UID - 44 + 477 NS.objects CF$UID - 168 + 48 CF$UID - 469 + 476 CF$UID - 470 + 478 CF$UID @@ -7071,185 +7098,197 @@ CF$UID - 471 + 479 CF$UID - 181 + 635 - IDEWorkspaceTabController_DD922F63-58E5-4424-9493-5E8068570F13 - {{118, -179}, {1400, 974}} + IDEWindowToolbarIsVisible + IDEActiveWorkspaceTabController + IDEWindowFrame + IDEWorkspaceWindowControllerUniqueIdentifier + IDEWorkspaceTabController_976F992C-63EB-4603-83E4-98D2941DDB9F + IDEOrderedWorkspaceTabControllers + {{205, 242}, {1127, 763}} $class CF$UID - 68 + 71 NS.keys CF$UID - 48 + 480 CF$UID - 49 + 481 CF$UID - 50 + 482 CF$UID - 51 + 483 CF$UID - 52 + 484 CF$UID - 53 + 485 CF$UID - 54 + 486 CF$UID - 55 + 487 NS.objects CF$UID - 472 + 488 CF$UID - 57 + 60 CF$UID - 168 + 48 CF$UID - 168 + 48 CF$UID - 473 + 489 CF$UID - 573 + 588 CF$UID - 582 + 619 CF$UID - 588 + 626 - ANTLRTree.h + IDETabLabel + AssistantEditorsLayout + IDEShowNavigator + IDEShowUtilities + IDEEditorArea + IDENavigatorArea + IDEWorkspaceTabControllerUtilityAreaSplitView + IDEWorkspaceTabControllerDesignAreaSplitView + ANTLRTreeRewriter.m $class CF$UID - 68 + 71 NS.keys CF$UID - 59 - - - CF$UID - 60 + 490 CF$UID - 61 + 491 CF$UID - 62 + 492 CF$UID - 63 + 493 CF$UID - 64 + 494 CF$UID - 474 + 495 CF$UID - 65 + 496 CF$UID - 66 + 497 NS.objects CF$UID - 475 + 498 CF$UID - 476 + 499 CF$UID - 491 - - - CF$UID - 515 + 527 CF$UID - 45 + 542 CF$UID - 95 + 48 CF$UID - 533 + 60 CF$UID - 567 + 580 CF$UID - 168 + 171 - IDEEditorMode_Genius + DefaultPersistentRepresentations + IDEEDitorArea_DebugArea + layoutTree + IDEEditorMode_Standard + ShowDebuggerArea + EditorMode + DebuggerSplitView + IDEShowEditor $class CF$UID - 68 + 71 NS.keys @@ -7260,99 +7299,106 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 500 CF$UID - 71 + 501 CF$UID - 72 + 502 CF$UID - 73 + 503 CF$UID - 74 + 504 CF$UID - 75 + 505 NS.objects CF$UID - 477 + 506 CF$UID - 483 + 517 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 489 + 523 CF$UID - 490 + 525 + IDEDebugArea_SplitView + IDEDebuggerAreaSplitView + LayoutMode + LayoutFocusMode + variables + console $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 478 + 508 + DVTSplitViewItems $class CF$UID - 88 + 91 NS.objects CF$UID - 479 + 509 CF$UID - 481 + 514 @@ -7360,80 +7406,84 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 82 + 512 CF$UID - 480 + 513 - 330 + DVTIdentifier + DVTViewMagnitude + VariablesView + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 86 + 515 CF$UID - 482 + 516 - 549 + ConsoleArea + 828 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 484 + 518 @@ -7441,17 +7491,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 485 + 519 CF$UID - 487 + 521 @@ -7459,131 +7509,133 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 82 + 512 CF$UID - 486 + 520 - 330 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 86 + 515 CF$UID - 488 + 522 - 549 + 828 $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 524 NS.objects CF$UID - 98 + 101 + DBGVariablesViewFilterMode $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 526 NS.objects CF$UID - 57 + 60 + ConsoleFilterMode $class CF$UID - 121 + 124 geniusEditorContextNode CF$UID - 502 + 0 primaryEditorContextNode CF$UID - 492 + 528 rootLayoutTreeNode CF$UID - 500 + 540 $class CF$UID - 120 + 123 children @@ -7595,62 +7647,63 @@ documentArchivableRepresentation CF$UID - 493 + 529 orientation 0 parent CF$UID - 500 + 540 $class CF$UID - 117 + 120 DocumentLocation CF$UID - 498 + 538 DomainIdentifier CF$UID - 104 + 530 IdentifierPath CF$UID - 494 + 531 IndexOfDocumentIdentifier CF$UID - 57 + 60 + Xcode.IDENavigableItemDomain.WorkspaceStructure $class CF$UID - 112 + 115 NS.objects CF$UID - 495 + 532 CF$UID - 496 + 534 CF$UID - 497 + 536 @@ -7658,48 +7711,51 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 472 + 533 + ANTLRTreeRewriter.m $class CF$UID - 107 + 110 Identifier CF$UID - 109 + 535 + Classes $class CF$UID - 107 + 110 Identifier CF$UID - 111 + 537 + ANTLR $class CF$UID - 116 + 119 documentURL CF$UID - 499 + 539 timestamp @@ -7711,65 +7767,21 @@ $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.h - - - $class - - CF$UID - 120 - - children - - CF$UID - 501 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 - - - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 492 - - - CF$UID - 502 - - + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeRewriter.m $class CF$UID - 120 + 123 children CF$UID - 503 + 541 contentType 0 @@ -7779,260 +7791,122 @@ 0 orientation - 1 - parent - - CF$UID - 500 - - - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 504 - - - - - $class - - CF$UID - 120 - - children - - CF$UID - 0 - - contentType - 2 - documentArchivableRepresentation - - CF$UID - 505 - - orientation 0 parent - - CF$UID - 502 - - - - $class - - CF$UID - 117 - - DocumentLocation - - CF$UID - 513 - - DomainIdentifier CF$UID 0 - IdentifierPath - - CF$UID - 506 - - IndexOfDocumentIdentifier - - CF$UID - 57 - $class CF$UID - 112 - - NS.objects - - - CF$UID - 507 - - - CF$UID - 510 - - - - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 508 - - - NS.objects - - - CF$UID - 509 - - - - navigableItem_name - ANTLRTree.m - - $class - - CF$UID - 68 + 115 - NS.keys - - - CF$UID - 511 - - NS.objects CF$UID - 512 + 528 - identifier - Xcode.IDEKit.GeniusCategory.Counterparts - - $class - - CF$UID - 116 - - documentURL - - CF$UID - 514 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.m - $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 543 NS.objects CF$UID - 516 + 544 + EditorLayout_PersistentRepresentation $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 545 NS.objects CF$UID - 517 + 546 + Main $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 547 CF$UID - 128 + 548 CF$UID - 129 + 549 NS.objects CF$UID - 518 + 550 CF$UID - 57 + 60 CF$UID - 531 + 578 + EditorLayout_StateSavingStateDictionaries + EditorLayout_Selected + EditorLayout_Geometry $class CF$UID - 112 + 115 NS.objects CF$UID - 519 + 551 @@ -8040,117 +7914,125 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 133 + 552 CF$UID - 138 + 553 CF$UID - 134 + 554 CF$UID - 135 + 555 CF$UID - 136 + 556 CF$UID - 137 + 557 CF$UID - 132 + 558 NS.objects CF$UID - 520 + 559 CF$UID - 157 + 560 CF$UID - 525 + 566 CF$UID - 472 + 533 CF$UID - 270 + 574 CF$UID - 529 + 575 CF$UID - 472 + 577 + NavigableItemName + ArchivableRepresentation + EditorState + DocumentNavigableItemName + FileDataType + DocumentURL + DocumentExtensionIdentifier + -applyOnce:Rule: $class CF$UID - 117 + 120 DocumentLocation CF$UID - 498 + 538 DomainIdentifier CF$UID - 104 + 530 IdentifierPath CF$UID - 521 + 561 IndexOfDocumentIdentifier CF$UID - 57 + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 522 + 562 CF$UID - 523 + 563 CF$UID - 524 + 564 @@ -8158,91 +8040,97 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 472 + 533 $class CF$UID - 107 + 110 Identifier CF$UID - 109 + 535 $class CF$UID - 107 + 110 Identifier CF$UID - 111 + 565 + ANTLR $class CF$UID - 84 + 87 NS.keys CF$UID - 146 + 567 CF$UID - 147 + 568 CF$UID - 148 + 569 CF$UID - 149 + 570 NS.objects CF$UID - 45 + 571 CF$UID - 526 + 48 CF$UID - 527 + 572 CF$UID - 528 + 573 - 323919127.41417199 - {0, 2668} - {1505, 0} + PrimaryDocumentTimestamp + HideAllIssues + PrimaryDocumentVisibleCharacterRange + PrimaryDocumentSelectedCharacterRange + 324441057.59489697 + {3432, 2012} + {4860, 0} + public.objective-c-source $class CF$UID - 156 + 155 NS.base @@ -8252,539 +8140,420 @@ NS.relative CF$UID - 530 + 576 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeRewriter.m + Xcode.IDEKit.EditorDocument.SourceCode $class CF$UID - 112 + 115 NS.objects CF$UID - 532 + 579 - {{0, 0}, {880, 876}} + {{0, 0}, {1127, 717}} $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 507 + + NS.objects + CF$UID - 534 + 581 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 535 + 582 CF$UID - 566 + 585 - SplitPosition $class CF$UID - 68 + 87 NS.keys CF$UID - 536 + 510 CF$UID - 125 + 511 NS.objects CF$UID - 537 + 583 CF$UID - 552 + 584 - Alternate + IDEEditor + 203 $class CF$UID - 84 + 87 NS.keys CF$UID - 127 - - - CF$UID - 128 + 510 CF$UID - 129 + 511 NS.objects CF$UID - 538 - - - CF$UID - 57 + 586 CF$UID - 550 + 587 + IDEDebuggerArea + 115 $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 589 + + + CF$UID + 590 + + + CF$UID + 591 + + NS.objects CF$UID - 539 + 592 + + + CF$UID + 602 + + + CF$UID + 590 + Xcode.IDEKit.Navigator.Structure + Xcode.IDEKit.Navigator.Issues + SelectedNavigator $class CF$UID - 68 + 71 NS.keys CF$UID - 133 + 593 CF$UID - 138 + 594 CF$UID - 134 + 595 CF$UID - 135 + 596 CF$UID - 136 + 597 CF$UID - 137 + 598 CF$UID - 132 + 599 NS.objects CF$UID - 540 + 600 CF$UID - 157 + 48 CF$UID - 544 + 48 CF$UID - 509 + 48 CF$UID - 153 + 601 CF$UID - 548 + 186 CF$UID - 509 + 186 + IDESelectedObjects + IDEUnsavedDocumentFilteringEnabled + IDESCMStatusFilteringEnabled + IDERecentDocumentFilteringEnabled + IDEVisibleRect + IDENavigatorExpandedItemsBeforeFilteringSet + IDEExpandedItemsSet $class CF$UID - 117 - - DocumentLocation - - CF$UID - 513 - - DomainIdentifier - - CF$UID - 0 - - IdentifierPath - - CF$UID - 541 - - IndexOfDocumentIdentifier - - CF$UID - 57 + 115 + NS.objects + + {{0, 0}, {259, 832}} $class CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 542 + 603 CF$UID - 543 + 604 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 508 + 605 - - NS.objects - CF$UID - 509 + 606 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 511 + 607 - - NS.objects - CF$UID - 512 + 608 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 146 + 609 CF$UID - 147 + 610 CF$UID - 148 + 611 CF$UID - 149 + 612 NS.objects CF$UID - 45 + 48 CF$UID - 545 + 613 CF$UID - 546 + 614 CF$UID - 547 + 615 - - - 323919130.07915699 - {825, 1423} - {3330, 0} - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 549 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.m - - $class - - CF$UID - 88 - - NS.objects - - - CF$UID - 551 - - - - {{0, 0}, {439, 876}} - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 127 + 616 CF$UID - 128 + 48 CF$UID - 129 + 48 - - NS.objects - CF$UID - 553 + 617 CF$UID - 57 + 618 CF$UID - 565 + 48 + IDEErrorFilteringEnabled + IDECollapsedGroups + IDEExpandedIssues + IDECollapsedFiles + IDEVisibleRect + IDERecentFilteringEnabled + IDEShowsByType + IDECollapsedTypes + IDESelectedNavigables + IDESchemeFilteringEnabled $class CF$UID - 112 + 199 NS.objects - - - CF$UID - 554 - - + $class CF$UID - 68 + 199 - NS.keys - - - CF$UID - 133 - - - CF$UID - 138 - - - CF$UID - 134 - - - CF$UID - 135 - - - CF$UID - 136 - - - CF$UID - 137 - - - CF$UID - 132 - - NS.objects - - - CF$UID - 555 - - - CF$UID - 157 - - - CF$UID - 560 - - - CF$UID - 472 - - - CF$UID - 270 - - - CF$UID - 563 - - - CF$UID - 564 - - + $class CF$UID - 117 - - DocumentLocation - - CF$UID - 498 - - DomainIdentifier - - CF$UID - 104 + 199 - IdentifierPath + NS.objects + + + {{0, 0}, {0, 0}} + + $class CF$UID - 556 + 199 - IndexOfDocumentIdentifier + NS.objects + + + + $class CF$UID - 57 + 91 + NS.objects + $class CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 557 - - - CF$UID - 558 + 507 + + NS.objects + CF$UID - 559 + 620 @@ -8792,459 +8561,464 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 472 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 109 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 111 + 91 + NS.objects + + + CF$UID + 621 + + + CF$UID + 624 + + $class CF$UID - 84 + 87 NS.keys CF$UID - 146 + 510 CF$UID - 147 + 511 + + NS.objects + CF$UID - 148 + 622 CF$UID - 149 + 623 - NS.objects + + + 506 + + $class + + CF$UID + 87 + + NS.keys CF$UID - 45 + 510 CF$UID - 561 + 511 + + NS.objects + CF$UID - 562 + 622 CF$UID - 528 + 625 - 323919130.07890499 - {382, 1955} + 211 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 530 + 71 + NS.keys + + + CF$UID + 507 + + + NS.objects + + + CF$UID + 627 + + - @protocol ANTLRTree $class CF$UID - 112 + 91 NS.objects CF$UID - 532 + 628 + + + CF$UID + 630 + + + CF$UID + 632 - 0.5 $class CF$UID - 68 + 87 NS.keys CF$UID - 77 + 510 - - NS.objects - CF$UID - 568 + 511 - - - $class - - CF$UID - 88 - NS.objects CF$UID - 569 + 485 CF$UID - 571 + 629 + 260 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 163 + 484 CF$UID - 570 + 631 - 203 + 982 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 166 + 633 CF$UID - 572 + 634 + + + + IDEUtilitiesArea + 340 + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 476 - 115 $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 42 CF$UID - 171 + 43 CF$UID - 172 + 44 + + + CF$UID + 45 + + + CF$UID + 637 + + + CF$UID + 47 NS.objects CF$UID - 574 + 171 CF$UID - 575 + 637 CF$UID - 171 + 638 + + + CF$UID + 7 + + + CF$UID + 639 + + + CF$UID + 184 + IDEWorkspaceTabController_DD922F63-58E5-4424-9493-5E8068570F13 + {{118, -179}, {1400, 974}} $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 51 CF$UID - 175 + 52 CF$UID - 176 + 53 CF$UID - 177 + 54 CF$UID - 178 + 55 CF$UID - 179 + 56 CF$UID - 180 + 57 + + + CF$UID + 58 NS.objects CF$UID - 181 + 640 CF$UID - 45 + 60 CF$UID - 45 + 171 CF$UID - 45 + 171 CF$UID - 182 + 641 CF$UID - 183 + 741 CF$UID - 183 + 750 + + + CF$UID + 756 + ANTLRTree.h $class CF$UID - 68 + 71 NS.keys CF$UID - 186 - - - CF$UID - 187 + 62 CF$UID - 188 + 63 CF$UID - 189 + 64 CF$UID - 178 + 65 CF$UID - 190 + 66 CF$UID - 191 + 67 CF$UID - 192 + 642 CF$UID - 193 + 68 CF$UID - 194 + 69 NS.objects CF$UID - 45 - - - CF$UID - 576 + 643 CF$UID - 577 + 644 CF$UID - 578 + 659 CF$UID - 579 + 683 CF$UID - 45 + 48 CF$UID - 45 + 98 CF$UID - 580 + 701 CF$UID - 581 + 735 CF$UID - 45 + 171 + IDEEditorMode_Genius $class CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - {{0, 0}, {244, 810}} - - $class - - CF$UID - 196 + 71 - NS.objects + NS.keys - - - $class - - CF$UID - 88 - NS.objects @@ -9252,119 +9026,81 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 73 - - NS.objects - CF$UID - 583 + 74 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 584 + 75 CF$UID - 586 + 76 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 77 CF$UID - 81 + 78 NS.objects CF$UID - 205 + 645 CF$UID - 585 + 651 - - - 665 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 98 CF$UID - 81 + 98 - - NS.objects - CF$UID - 205 + 657 CF$UID - 587 + 658 - 211 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 589 + 646 @@ -9372,21 +9108,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 590 - - - CF$UID - 592 + 647 CF$UID - 594 + 649 @@ -9394,67 +9126,67 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 85 CF$UID - 591 + 648 - 260 + 330 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 89 CF$UID - 593 + 650 - 880 + 549 $class CF$UID - 84 + 71 NS.keys @@ -9462,78 +9194,26 @@ CF$UID 80 - - CF$UID - 81 - NS.objects CF$UID - 216 - - - CF$UID - 595 + 652 - 260 $class CF$UID - 68 + 91 - NS.keys - - - CF$UID - 39 - - - CF$UID - 40 - - - CF$UID - 41 - - - CF$UID - 42 - - - CF$UID - 597 - - - CF$UID - 44 - - NS.objects CF$UID - 45 - - - CF$UID - 597 - - - CF$UID - 598 - - - CF$UID - 7 - - - CF$UID - 599 + 653 CF$UID @@ -9541,223 +9221,84 @@ - IDEWorkspaceTabController_F5D326C0-04C4-47F6-8741-20A565897CC8 - {{140, 349}, {240, 646}} $class CF$UID - 68 + 87 NS.keys CF$UID - 49 - - - CF$UID - 50 - - - CF$UID - 51 - - - CF$UID - 52 - - - CF$UID - 53 - - - CF$UID - 54 + 83 CF$UID - 55 + 84 NS.objects CF$UID - 57 - - - CF$UID - 45 - - - CF$UID - 45 - - - CF$UID - 600 - - - CF$UID - 633 - - - CF$UID - 641 + 85 CF$UID - 647 + 654 + 330 $class CF$UID - 68 + 87 NS.keys CF$UID - 59 - - - CF$UID - 60 - - - CF$UID - 61 - - - CF$UID - 62 - - - CF$UID - 63 - - - CF$UID - 64 - - - CF$UID - 65 + 83 CF$UID - 66 + 84 NS.objects CF$UID - 601 - - - CF$UID - 602 - - - CF$UID - 617 - - - CF$UID - 621 - - - CF$UID - 45 - - - CF$UID - 57 - - - CF$UID - 627 + 89 CF$UID - 168 + 656 + 549 $class CF$UID - 68 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 70 - - - CF$UID - 71 - - - CF$UID - 72 - - - CF$UID - 73 - - - CF$UID - 74 - - - CF$UID - 75 + 100 NS.objects CF$UID - 603 - - - CF$UID - 609 - - - CF$UID - 95 - - - CF$UID - 95 - - - CF$UID - 615 - - - CF$UID - 616 + 101 @@ -9765,20 +9306,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 103 NS.objects CF$UID - 604 + 60 @@ -9786,279 +9327,171 @@ $class CF$UID - 88 + 124 - NS.objects - - - CF$UID - 605 - - - CF$UID - 607 - - - - - $class + geniusEditorContextNode CF$UID - 84 + 670 - NS.keys - - - CF$UID - 80 - - - CF$UID - 81 - - - NS.objects - - - CF$UID - 82 - - - CF$UID - 606 - - - - 298 - - $class + primaryEditorContextNode CF$UID - 84 + 660 - NS.keys - - - CF$UID - 80 - - - CF$UID - 81 - - - NS.objects - - - CF$UID - 86 - - - CF$UID - 608 - - - - 301 - - $class + rootLayoutTreeNode CF$UID - 68 + 668 - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 610 - - $class CF$UID - 88 + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 661 + + orientation + 0 + parent + + CF$UID + 668 - NS.objects - - - CF$UID - 611 - - - CF$UID - 613 - - $class CF$UID - 84 + 120 + + DocumentLocation + + CF$UID + 666 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 662 + + IndexOfDocumentIdentifier + + CF$UID + 60 - NS.keys - - - CF$UID - 80 - - - CF$UID - 81 - - - NS.objects - - - CF$UID - 82 - - - CF$UID - 612 - - - 298 $class CF$UID - 84 + 115 - NS.keys + NS.objects CF$UID - 80 - - - CF$UID - 81 + 663 - - NS.objects - CF$UID - 86 + 664 CF$UID - 614 + 665 - 301 $class CF$UID - 68 + 110 - NS.keys - - - CF$UID - 97 - - - NS.objects - - - CF$UID - 98 - - - - - $class + Identifier CF$UID - 68 + 640 - NS.keys - - - CF$UID - 100 - - - NS.objects - - - CF$UID - 57 - - $class CF$UID - 121 + 110 - geniusEditorContextNode + Identifier CF$UID - 0 + 112 - primaryEditorContextNode + + + $class CF$UID - 618 + 110 - rootLayoutTreeNode + Identifier CF$UID - 619 + 114 $class CF$UID - 120 + 119 - children + documentURL CF$UID - 0 + 667 - contentType - 1 - documentArchivableRepresentation + timestamp CF$UID 0 - orientation - 0 - parent + + + $class CF$UID - 619 + 118 + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.h $class CF$UID - 120 + 123 children CF$UID - 620 + 669 contentType 0 @@ -10079,13 +9512,17 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 618 + 660 + + + CF$UID + 670 @@ -10093,78 +9530,39 @@ $class CF$UID - 68 + 123 - NS.keys - - - CF$UID - 123 - - - NS.objects - - - CF$UID - 622 - - - - - $class + children CF$UID - 68 + 671 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 1 + parent + + CF$UID + 668 - NS.keys - - - CF$UID - 125 - - - NS.objects - - - CF$UID - 623 - - $class CF$UID - 84 + 115 - NS.keys - - - CF$UID - 127 - - - CF$UID - 128 - - - CF$UID - 129 - - NS.objects CF$UID - 624 - - - CF$UID - 57 - - - CF$UID - 626 + 672 @@ -10172,38 +9570,70 @@ $class CF$UID - 112 + 123 + + children + + CF$UID + 0 + + contentType + 2 + documentArchivableRepresentation + + CF$UID + 673 + + orientation + 0 + parent + + CF$UID + 670 - NS.objects - - - CF$UID - 625 - - $class CF$UID - 68 + 120 + + DocumentLocation + + CF$UID + 681 + + DomainIdentifier + + CF$UID + 0 + + IdentifierPath + + CF$UID + 674 + + IndexOfDocumentIdentifier + + CF$UID + 60 - NS.keys - - NS.objects - $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 675 + + + CF$UID + 678 @@ -10211,135 +9641,150 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 676 NS.objects CF$UID - 628 + 677 + navigableItem_name + ANTLRTree.m $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 629 + 679 + + NS.objects + CF$UID - 631 + 680 + identifier + Xcode.IDEKit.GeniusCategory.Counterparts + + $class + + CF$UID + 119 + + documentURL + + CF$UID + 682 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.m + $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 126 NS.objects CF$UID - 163 - - - CF$UID - 630 + 684 - 203 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 128 NS.objects CF$UID - 166 - - - CF$UID - 632 + 685 - 115 $class CF$UID - 68 + 87 NS.keys CF$UID - 170 + 130 CF$UID - 171 + 131 CF$UID - 172 + 132 NS.objects CF$UID - 634 + 686 CF$UID - 635 + 60 CF$UID - 171 + 699 @@ -10347,68 +9792,13 @@ $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 174 - - - CF$UID - 175 - - - CF$UID - 176 - - - CF$UID - 177 - - - CF$UID - 178 - - - CF$UID - 179 - - - CF$UID - 180 - - NS.objects CF$UID - 181 - - - CF$UID - 45 - - - CF$UID - 45 - - - CF$UID - 45 - - - CF$UID - 182 - - - CF$UID - 183 - - - CF$UID - 183 + 687 @@ -10416,92 +9806,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 186 - - - CF$UID - 187 - - - CF$UID - 188 - - - CF$UID - 189 + 136 CF$UID - 178 + 141 CF$UID - 190 + 137 CF$UID - 191 + 138 CF$UID - 192 + 139 CF$UID - 193 + 140 CF$UID - 194 + 135 NS.objects CF$UID - 45 - - - CF$UID - 636 - - - CF$UID - 637 - - - CF$UID - 638 + 640 CF$UID - 199 + 688 CF$UID - 45 + 693 CF$UID - 45 + 640 CF$UID - 639 + 269 CF$UID - 640 + 697 CF$UID - 45 + 142 @@ -10509,65 +9875,48 @@ $class CF$UID - 196 + 120 - NS.objects - - - - $class + DocumentLocation CF$UID - 196 + 666 - NS.objects - - - - $class + DomainIdentifier CF$UID - 196 + 107 - NS.objects - - - - $class + IdentifierPath CF$UID - 196 + 689 - NS.objects - - - - $class + IndexOfDocumentIdentifier CF$UID - 88 + 60 - NS.objects - $class CF$UID - 68 + 115 - NS.keys + NS.objects CF$UID - 77 + 690 - - NS.objects - CF$UID - 642 + 691 + + + CF$UID + 692 @@ -10575,224 +9924,227 @@ $class CF$UID - 88 + 110 + + Identifier + + CF$UID + 640 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 112 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 114 - NS.objects - - - CF$UID - 643 - - - CF$UID - 645 - - $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 145 CF$UID - 81 + 146 - - NS.objects - CF$UID - 205 + 147 CF$UID - 644 + 148 - - 389 - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 80 + 48 CF$UID - 81 + 694 - - NS.objects - CF$UID - 205 + 695 CF$UID - 646 + 696 - 211 + 323919127.41417199 + {0, 2668} + {1505, 0} $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 698 - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 648 - - + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.h $class CF$UID - 88 + 115 NS.objects CF$UID - 649 - - - CF$UID - 651 - - - CF$UID - 653 + 700 + {{0, 0}, {880, 876}} $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 126 CF$UID - 81 + 702 NS.objects CF$UID - 53 + 703 CF$UID - 650 + 734 - 661 + SplitPosition $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 128 CF$UID - 81 + 704 NS.objects CF$UID - 52 + 705 CF$UID - 652 + 719 - 921 + Alternate $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 130 CF$UID - 81 + 131 + + + CF$UID + 132 NS.objects CF$UID - 216 + 706 CF$UID - 654 + 60 + + + CF$UID + 718 - 354 $class CF$UID - 112 + 115 NS.objects CF$UID - 597 + 707 @@ -10800,145 +10152,232 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 44 + 136 CF$UID - 41 + 141 CF$UID - 40 + 137 CF$UID - 39 + 138 CF$UID - 42 + 139 CF$UID - 657 + 140 - - NS.objects - CF$UID - 658 + 135 + + NS.objects + CF$UID - 659 + 708 CF$UID - 657 + 709 CF$UID - 45 + 714 CF$UID - 8 + 640 CF$UID - 660 + 269 + + + CF$UID + 717 + + + CF$UID + 142 - IDEWorkspaceTabController_932DCD76-57BC-4F32-BB6F-2C5F20724E0A + @protocol ANTLRTree $class CF$UID - 112 + 120 + + DocumentLocation + + CF$UID + 666 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 710 + + IndexOfDocumentIdentifier + + CF$UID + 60 - NS.objects - - - CF$UID - 657 - - - {{14, 359}, {240, 646}} $class CF$UID - 68 + 115 - NS.keys + NS.objects CF$UID - 49 + 711 CF$UID - 50 + 712 CF$UID - 51 + 713 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 640 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 112 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 114 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 52 + 145 CF$UID - 53 + 146 CF$UID - 54 + 147 CF$UID - 55 + 148 NS.objects CF$UID - 57 - - - CF$UID - 45 - - - CF$UID - 45 + 48 CF$UID - 661 + 715 CF$UID - 694 + 716 CF$UID - 702 + 696 + + + 323919130.07890499 + {382, 1955} + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 698 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 708 + 700 @@ -10946,76 +10385,36 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 59 - - - CF$UID - 60 - - - CF$UID - 61 - - - CF$UID - 62 - - - CF$UID - 63 - - - CF$UID - 64 + 130 CF$UID - 65 + 131 CF$UID - 66 + 132 NS.objects CF$UID - 662 - - - CF$UID - 663 - - - CF$UID - 678 - - - CF$UID - 682 - - - CF$UID - 45 - - - CF$UID - 57 + 720 CF$UID - 688 + 60 CF$UID - 168 + 732 @@ -11023,71 +10422,82 @@ $class CF$UID - 68 + 91 - NS.keys - NS.objects - + + + CF$UID + 721 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 136 CF$UID - 71 + 141 CF$UID - 72 + 137 CF$UID - 73 + 138 CF$UID - 74 + 139 CF$UID - 75 + 140 + + + CF$UID + 135 NS.objects CF$UID - 664 + 677 CF$UID - 670 + 722 CF$UID - 95 + 726 CF$UID - 95 + 677 CF$UID - 676 + 152 CF$UID - 677 + 730 + + + CF$UID + 142 @@ -11095,38 +10505,44 @@ $class CF$UID - 68 + 120 + + DocumentLocation + + CF$UID + 681 + + DomainIdentifier + + CF$UID + 0 + + IdentifierPath + + CF$UID + 723 + + IndexOfDocumentIdentifier + + CF$UID + 60 - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 665 - - $class CF$UID - 88 + 115 NS.objects CF$UID - 666 + 724 CF$UID - 668 + 725 @@ -11134,200 +10550,144 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 676 NS.objects CF$UID - 82 - - - CF$UID - 667 + 677 - 298 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 679 NS.objects CF$UID - 86 - - - CF$UID - 669 + 680 - 301 $class CF$UID - 68 + 87 NS.keys CF$UID - 77 + 145 - - NS.objects - CF$UID - 671 + 146 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 672 + 147 CF$UID - 674 + 148 - - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 80 + 48 CF$UID - 81 + 727 - - NS.objects - CF$UID - 82 + 728 CF$UID - 673 + 729 - 298 + 323919130.07915699 + {825, 1423} + {3330, 0} $class CF$UID - 84 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 731 - NS.keys - - - CF$UID - 80 - - - CF$UID - 81 - - - NS.objects - - - CF$UID - 86 - - - CF$UID - 675 - - - 301 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.m $class CF$UID - 68 + 91 - NS.keys - - - CF$UID - 97 - - NS.objects CF$UID - 98 + 733 + {{0, 0}, {439, 876}} + 0.5 $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 80 NS.objects CF$UID - 57 + 736 @@ -11335,87 +10695,17 @@ $class CF$UID - 121 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 679 - - rootLayoutTreeNode - - CF$UID - 680 - - - - $class - - CF$UID - 120 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 680 - - - - $class - - CF$UID - 120 - - children - - CF$UID - 681 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 - - - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 679 + 737 + + + CF$UID + 739 @@ -11423,78 +10713,96 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 123 + 83 + + + CF$UID + 84 NS.objects CF$UID - 683 + 166 + + + CF$UID + 738 + 203 $class CF$UID - 68 + 87 NS.keys CF$UID - 125 + 83 + + + CF$UID + 84 NS.objects CF$UID - 684 + 169 + + + CF$UID + 740 + 115 $class CF$UID - 84 + 71 NS.keys CF$UID - 127 + 173 CF$UID - 128 + 174 CF$UID - 129 + 175 NS.objects CF$UID - 685 + 742 CF$UID - 57 + 743 CF$UID - 687 + 174 @@ -11502,174 +10810,68 @@ $class CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 686 + 177 - - - - $class - - CF$UID - 68 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 159 - - - - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 689 - - - - - $class - - CF$UID - 88 - - NS.objects - - - CF$UID - 690 - - - CF$UID - 692 - - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 178 CF$UID - 81 + 179 - - NS.objects - CF$UID - 163 + 180 CF$UID - 691 + 181 - - - 203 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 182 CF$UID - 81 + 183 NS.objects CF$UID - 166 - - - CF$UID - 693 + 184 - - - 115 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 170 + 48 CF$UID - 171 + 48 CF$UID - 172 + 48 - - NS.objects - CF$UID - 695 + 185 CF$UID - 696 + 186 CF$UID - 171 + 186 @@ -11677,161 +10879,92 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 - - - CF$UID - 175 - - - CF$UID - 176 - - - CF$UID - 177 + 189 CF$UID - 178 + 190 CF$UID - 179 + 191 CF$UID - 180 + 192 - - NS.objects - CF$UID 181 CF$UID - 45 - - - CF$UID - 45 - - - CF$UID - 45 - - - CF$UID - 182 - - - CF$UID - 183 - - - CF$UID - 183 - - - - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 186 - - - CF$UID - 187 - - - CF$UID - 188 - - - CF$UID - 189 - - - CF$UID - 178 - - - CF$UID - 190 + 193 CF$UID - 191 + 194 CF$UID - 192 + 195 CF$UID - 193 + 196 CF$UID - 194 + 197 NS.objects CF$UID - 45 + 48 CF$UID - 697 + 744 CF$UID - 698 + 745 CF$UID - 699 + 746 CF$UID - 199 + 747 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 700 + 748 CF$UID - 701 + 749 CF$UID - 45 + 48 @@ -11839,7 +10972,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -11848,7 +10981,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -11857,16 +10990,17 @@ $class CF$UID - 196 + 199 NS.objects + {{0, 0}, {244, 810}} $class CF$UID - 196 + 199 NS.objects @@ -11875,7 +11009,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -11884,20 +11018,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 703 + 751 @@ -11905,17 +11039,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 704 + 752 CF$UID - 706 + 754 @@ -11923,58 +11057,58 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 705 + 753 - 389 + 665 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 707 + 755 @@ -11983,20 +11117,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 709 + 757 @@ -12004,21 +11138,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 710 + 758 CF$UID - 712 + 760 CF$UID - 714 + 762 @@ -12026,307 +11160,298 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 711 + 759 - 277 + 260 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 713 + 761 - 810 + 880 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 715 + 763 - 354 + 260 $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 717 + 765 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 717 + 765 CF$UID - 718 + 766 CF$UID - 9 + 8 CF$UID - 719 + 767 CF$UID - 795 + 823 - IDEWorkspaceTabController_E1713161-A393-4544-8845-403A2045B239 - {{18, 382}, {600, 646}} + IDEWorkspaceTabController_F5D326C0-04C4-47F6-8741-20A565897CC8 + {{140, 349}, {240, 646}} $class CF$UID - 68 + 71 NS.keys CF$UID - 48 - - - CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 720 - - - CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 721 + 768 CF$UID - 776 + 801 CF$UID - 781 + 809 CF$UID - 787 + 815 - SimpleCTP.m $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 722 + 769 CF$UID - 723 + 770 CF$UID - 738 + 785 CF$UID - 750 + 789 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 770 + 795 CF$UID - 168 + 171 @@ -12334,7 +11459,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -12345,60 +11470,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 724 + 771 CF$UID - 730 + 777 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 736 + 783 CF$UID - 737 + 784 @@ -12406,20 +11531,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 725 + 772 @@ -12427,17 +11552,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 726 + 773 CF$UID - 728 + 775 @@ -12445,28 +11570,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 727 + 774 @@ -12475,28 +11600,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 729 + 776 @@ -12505,20 +11630,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 731 + 778 @@ -12526,17 +11651,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 732 + 779 CF$UID - 734 + 781 @@ -12544,28 +11669,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 733 + 780 @@ -12574,28 +11699,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 735 + 782 @@ -12604,20 +11729,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -12625,20 +11750,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -12646,7 +11771,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -12656,19 +11781,19 @@ primaryEditorContextNode CF$UID - 739 + 786 rootLayoutTreeNode CF$UID - 748 + 787 $class CF$UID - 120 + 123 children @@ -12680,66 +11805,74 @@ documentArchivableRepresentation CF$UID - 740 + 0 orientation 0 parent CF$UID - 748 + 787 $class CF$UID - 117 - - DocumentLocation - - CF$UID - 746 + 123 - DomainIdentifier + children CF$UID - 104 + 788 - IdentifierPath + contentType + 0 + documentArchivableRepresentation CF$UID - 741 + 0 - IndexOfDocumentIdentifier + orientation + 0 + parent CF$UID - 57 + 0 $class CF$UID - 112 + 115 NS.objects CF$UID - 742 - - - CF$UID - 743 + 786 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 744 + 126 + + NS.objects + CF$UID - 745 + 790 @@ -12747,66 +11880,84 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 720 + 71 + NS.keys + + + CF$UID + 128 + + + NS.objects + + + CF$UID + 791 + + $class CF$UID - 107 - - Identifier - - CF$UID - 246 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 248 + 87 + NS.keys + + + CF$UID + 130 + + + CF$UID + 131 + + + CF$UID + 132 + + + NS.objects + + + CF$UID + 792 + + + CF$UID + 60 + + + CF$UID + 794 + + $class CF$UID - 107 - - Identifier - - CF$UID - 111 + 115 + NS.objects + + + CF$UID + 793 + + $class CF$UID - 116 - - documentURL - - CF$UID - 747 - - timestamp - - CF$UID - 0 + 71 + NS.keys + + NS.objects + $class @@ -12814,46 +11965,50 @@ CF$UID 115 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.m + NS.objects + + + CF$UID + 162 + + $class CF$UID - 120 - - children - - CF$UID - 749 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 + 71 + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 796 + + $class CF$UID - 112 + 91 NS.objects CF$UID - 739 + 797 + + + CF$UID + 799 @@ -12861,92 +12016,96 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 123 + 83 + + + CF$UID + 84 NS.objects CF$UID - 751 + 166 + + + CF$UID + 798 + 203 $class CF$UID - 68 + 87 NS.keys CF$UID - 125 + 83 + + + CF$UID + 84 NS.objects CF$UID - 752 + 169 + + + CF$UID + 800 + 115 $class CF$UID - 84 + 71 NS.keys CF$UID - 127 + 173 CF$UID - 128 + 174 CF$UID - 129 + 175 NS.objects CF$UID - 753 - - - CF$UID - 57 + 802 CF$UID - 768 + 803 - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 754 + 174 @@ -12954,122 +12113,161 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 132 + 177 CF$UID - 133 + 178 CF$UID - 134 + 179 CF$UID - 135 + 180 CF$UID - 136 + 181 CF$UID - 137 + 182 CF$UID - 138 + 183 NS.objects CF$UID - 755 + 184 CF$UID - 756 + 48 CF$UID - 762 + 48 CF$UID - 720 + 48 CF$UID - 153 + 185 CF$UID - 766 + 186 CF$UID - 157 + 186 - -atom - - $class - - CF$UID - 117 - - DocumentLocation - - CF$UID - 746 - - DomainIdentifier - - CF$UID - 104 - - IdentifierPath - - CF$UID - 757 - - IndexOfDocumentIdentifier - - CF$UID - 57 - - $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 189 + + + CF$UID + 190 + + + CF$UID + 191 + + + CF$UID + 192 + + + CF$UID + 181 + + + CF$UID + 193 + + + CF$UID + 194 + + + CF$UID + 195 + + + CF$UID + 196 + + + CF$UID + 197 + + NS.objects CF$UID - 758 + 48 CF$UID - 759 + 804 CF$UID - 760 + 805 CF$UID - 761 + 806 + + + CF$UID + 202 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 807 + + + CF$UID + 808 + + + CF$UID + 48 @@ -13077,149 +12275,164 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 720 + 199 + NS.objects + $class CF$UID - 107 - - Identifier - - CF$UID - 246 + 199 + NS.objects + $class CF$UID - 107 - - Identifier - - CF$UID - 248 + 199 + NS.objects + $class CF$UID - 107 + 199 - Identifier + NS.objects + + + + $class CF$UID - 111 + 91 + NS.objects + $class CF$UID - 84 + 71 NS.keys CF$UID - 147 + 80 + + NS.objects + CF$UID - 146 + 810 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 148 + 811 CF$UID - 149 + 813 - NS.objects + + + $class + + CF$UID + 87 + + NS.keys CF$UID - 763 + 83 CF$UID - 45 + 84 + + NS.objects + CF$UID - 764 + 208 CF$UID - 765 + 812 - 323991249.92976499 - {21219, 1327} - {40731, 0} - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 767 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.m + 389 $class CF$UID - 112 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + NS.objects CF$UID - 769 + 208 + + + CF$UID + 814 - {{0, 0}, {600, 578}} + 211 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 771 + 816 @@ -13227,17 +12440,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 772 + 817 CF$UID - 774 + 819 + + + CF$UID + 821 @@ -13245,96 +12462,103 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 56 CF$UID - 773 + 818 - 203 + 661 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 55 CF$UID - 775 + 820 - 115 + 921 $class CF$UID - 68 + 87 NS.keys CF$UID - 170 - - - CF$UID - 281 + 83 CF$UID - 172 + 84 NS.objects CF$UID - 777 + 219 CF$UID - 778 + 822 + + + 354 + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 281 + 765 @@ -13342,131 +12566,218 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 - - - CF$UID - 175 + 825 CF$UID - 176 + 44 CF$UID - 177 + 43 CF$UID - 178 + 42 CF$UID - 179 + 45 CF$UID - 180 + 47 NS.objects CF$UID - 181 - - - CF$UID - 45 + 826 CF$UID - 45 + 882 CF$UID - 45 + 825 CF$UID - 182 + 48 CF$UID - 183 + 9 CF$UID - 183 + 883 + IDEWorkspaceTabController_932DCD76-57BC-4F32-BB6F-2C5F20724E0A $class CF$UID - 68 + 71 NS.keys CF$UID - 284 + 52 CF$UID - 285 + 53 CF$UID - 286 + 54 CF$UID - 287 + 55 + + + CF$UID + 56 + + + CF$UID + 57 + + + CF$UID + 58 NS.objects CF$UID - 199 + 60 CF$UID - 779 + 48 CF$UID - 780 + 48 CF$UID - 45 + 827 - + + CF$UID + 860 + + + CF$UID + 868 + + + CF$UID + 874 + + $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 62 + + + CF$UID + 63 + + + CF$UID + 64 + + + CF$UID + 65 + + + CF$UID + 66 + + + CF$UID + 67 + + + CF$UID + 68 + + + CF$UID + 69 + + NS.objects - + + + CF$UID + 828 + + + CF$UID + 829 + + + CF$UID + 844 + + + CF$UID + 848 + + + CF$UID + 48 + + + CF$UID + 60 + + + CF$UID + 854 + + + CF$UID + 171 + + $class CF$UID - 88 + 71 + NS.keys + NS.objects @@ -13474,20 +12785,81 @@ $class CF$UID - 68 + 71 NS.keys + + CF$UID + 73 + + + CF$UID + 74 + + + CF$UID + 75 + + + CF$UID + 76 + CF$UID 77 + + CF$UID + 78 + NS.objects CF$UID - 782 + 830 + + + CF$UID + 836 + + + CF$UID + 98 + + + CF$UID + 98 + + + CF$UID + 842 + + + CF$UID + 843 + + + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 831 @@ -13495,17 +12867,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 783 + 832 CF$UID - 785 + 834 @@ -13513,80 +12885,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 85 CF$UID - 784 + 833 - 377 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 89 CF$UID - 786 + 835 - 223 + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 788 + 837 @@ -13594,21 +12966,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 789 - - - CF$UID - 791 + 838 CF$UID - 793 + 840 @@ -13616,103 +12984,189 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 85 CF$UID - 790 + 839 - 457 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 89 CF$UID - 792 + 841 - 1116 + 301 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 100 + + NS.objects + CF$UID - 81 + 101 - NS.objects + + + $class + + CF$UID + 71 + + NS.keys CF$UID - 216 + 103 + + NS.objects + CF$UID - 794 + 60 - 354 $class CF$UID - 112 + 124 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 845 + + rootLayoutTreeNode + + CF$UID + 846 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 846 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 847 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 115 NS.objects CF$UID - 717 + 845 @@ -13720,75 +13174,138 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 44 + 126 + + NS.objects + CF$UID - 41 + 849 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 40 + 128 + + NS.objects + CF$UID - 39 + 850 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 42 + 130 CF$UID - 797 + 131 - - NS.objects - CF$UID - 798 + 132 + + NS.objects + CF$UID - 46 + 851 CF$UID - 797 + 60 CF$UID - 45 + 853 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 10 + 852 + + + + $class + + CF$UID + 71 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 799 + 162 - IDEWorkspaceTabController_9E45EA5C-8211-4C60-B769-E55D97496BF5 $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 80 + + NS.objects CF$UID - 797 + 855 @@ -13796,68 +13313,106 @@ $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 48 + 856 CF$UID - 49 + 858 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 50 + 83 CF$UID - 51 + 84 + + NS.objects + CF$UID - 52 + 166 CF$UID - 53 + 857 + + + 203 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 54 + 83 CF$UID - 55 + 84 NS.objects CF$UID - 310 + 169 CF$UID - 57 + 859 + + + 115 + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 45 + 173 CF$UID - 45 + 174 CF$UID - 800 + 175 + + NS.objects + CF$UID - 852 + 861 CF$UID @@ -13865,7 +13420,7 @@ CF$UID - 868 + 174 @@ -13873,76 +13428,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 - - - CF$UID - 60 + 177 CF$UID - 61 + 178 CF$UID - 62 + 179 CF$UID - 63 + 180 CF$UID - 64 + 181 CF$UID - 65 + 182 CF$UID - 66 + 183 NS.objects CF$UID - 801 - - - CF$UID - 802 + 184 CF$UID - 817 + 48 CF$UID - 829 + 48 CF$UID - 45 + 48 CF$UID - 57 + 185 CF$UID - 846 + 186 CF$UID - 168 + 186 @@ -13950,71 +13497,92 @@ $class CF$UID - 68 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 70 + 189 CF$UID - 71 + 190 CF$UID - 72 + 191 CF$UID - 73 + 192 CF$UID - 74 + 181 CF$UID - 75 + 193 - - NS.objects - CF$UID - 803 + 194 CF$UID - 809 + 195 CF$UID - 95 + 196 CF$UID - 95 + 197 + + NS.objects + CF$UID - 815 + 48 CF$UID - 816 + 863 + + + CF$UID + 864 + + + CF$UID + 865 + + + CF$UID + 202 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 866 + + + CF$UID + 867 + + + CF$UID + 48 @@ -14022,20 +13590,65 @@ $class CF$UID - 68 + 199 + + NS.objects + + + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 804 + 869 @@ -14043,17 +13656,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 805 + 870 CF$UID - 807 + 872 @@ -14061,80 +13674,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 208 CF$UID - 806 + 871 - 298 + 389 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 208 CF$UID - 808 + 873 - 301 + 211 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 810 + 875 @@ -14142,17 +13755,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 811 + 876 CF$UID - 813 + 878 + + + CF$UID + 880 @@ -14160,101 +13777,104 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 56 CF$UID - 812 + 877 - 298 + 277 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 55 CF$UID - 814 + 879 - 301 + 810 $class CF$UID - 68 + 87 NS.keys CF$UID - 97 + 83 + + + CF$UID + 84 NS.objects CF$UID - 98 + 219 + + + CF$UID + 881 + 354 + {{14, 359}, {240, 646}} $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 100 - - NS.objects CF$UID - 57 + 825 @@ -14262,285 +13882,96 @@ $class CF$UID - 121 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 818 - - rootLayoutTreeNode - - CF$UID - 827 - - - - $class - - CF$UID - 120 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 819 - - orientation - 0 - parent - - CF$UID - 827 - - - - $class - - CF$UID - 117 - - DocumentLocation - - CF$UID - 825 - - DomainIdentifier - - CF$UID - 104 - - IdentifierPath - - CF$UID - 820 - - IndexOfDocumentIdentifier - - CF$UID - 57 - - - - $class - - CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 821 + 42 CF$UID - 822 + 43 CF$UID - 823 + 44 CF$UID - 824 + 45 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 310 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 246 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 248 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 111 - - - - $class - - CF$UID - 116 - - documentURL - - CF$UID - 826 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/main.m - - - $class - - CF$UID - 120 - - children - - CF$UID - 828 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 818 + 885 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 123 + 47 NS.objects CF$UID - 830 + 48 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 125 + 885 - - NS.objects - CF$UID - 831 + 886 + + + CF$UID + 10 + + + CF$UID + 887 + + + CF$UID + 963 + IDEWorkspaceTabController_E1713161-A393-4544-8845-403A2045B239 + {{18, 382}, {600, 646}} $class CF$UID - 84 + 71 NS.keys CF$UID - 127 + 51 CF$UID - 128 + 52 CF$UID - 129 + 53 - - NS.objects - CF$UID - 832 + 54 + + + CF$UID + 55 + + + CF$UID + 56 CF$UID @@ -14548,90 +13979,120 @@ CF$UID - 845 + 58 - - - $class - - CF$UID - 112 - NS.objects CF$UID - 833 + 888 + + + CF$UID + 60 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 889 + + + CF$UID + 944 + + + CF$UID + 949 + + + CF$UID + 955 + SimpleCTP.m $class CF$UID - 68 + 71 NS.keys CF$UID - 138 + 62 CF$UID - 132 + 63 CF$UID - 134 + 64 CF$UID - 135 + 65 CF$UID - 136 + 66 CF$UID - 137 + 67 CF$UID - 133 + 68 + + + CF$UID + 69 NS.objects CF$UID - 157 + 890 CF$UID - 310 + 891 CF$UID - 834 + 906 CF$UID - 310 + 918 CF$UID - 153 + 48 CF$UID - 837 + 60 CF$UID - 839 + 938 + + + CF$UID + 171 @@ -14639,179 +14100,71 @@ $class CF$UID - 84 + 71 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 147 + 73 CF$UID - 146 + 74 CF$UID - 148 + 75 CF$UID - 149 + 76 + + + CF$UID + 77 + + + CF$UID + 78 NS.objects CF$UID - 835 + 892 CF$UID - 45 + 898 CF$UID - 836 + 98 CF$UID - 349 - - - - 323993875.32485598 - {0, 1506} - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 838 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/main.m - - $class - - CF$UID - 117 - - DocumentLocation - - CF$UID - 825 - - DomainIdentifier - - CF$UID - 104 - - IdentifierPath - - CF$UID - 840 - - IndexOfDocumentIdentifier - - CF$UID - 57 - - - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 841 - - - CF$UID - 842 - - - CF$UID - 843 + 98 CF$UID - 844 + 904 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 310 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 246 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 248 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 111 - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 159 + 905 @@ -14819,20 +14172,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 847 + 893 @@ -14840,17 +14193,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 848 + 894 CF$UID - 850 + 896 @@ -14858,88 +14211,98 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 85 CF$UID - 849 + 895 - 203 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 89 CF$UID - 851 + 897 - 115 + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 80 + + NS.objects + CF$UID - 172 + 899 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 853 + 900 CF$UID - 170 + 902 @@ -14947,82 +14310,80 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 174 - - - CF$UID - 175 - - - CF$UID - 176 - - - CF$UID - 177 - - - CF$UID - 178 - - - CF$UID - 179 + 83 CF$UID - 180 + 84 NS.objects CF$UID - 854 - - - CF$UID - 45 + 85 CF$UID - 45 + 901 + + + 298 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 45 + 83 CF$UID - 199 + 84 + + NS.objects + CF$UID - 183 + 89 CF$UID - 856 + 903 + 301 $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 100 + + NS.objects CF$UID - 855 + 101 @@ -15030,25 +14391,20 @@ $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 111 - - - CF$UID - 248 - - - CF$UID - 246 + 103 + + NS.objects + CF$UID - 310 + 60 @@ -15056,29 +14412,100 @@ $class CF$UID - 184 + 124 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 907 + + rootLayoutTreeNode + + CF$UID + 916 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 908 + + orientation + 0 + parent + + CF$UID + 916 + + + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 914 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 909 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 NS.objects CF$UID - 857 - - - CF$UID - 858 + 910 CF$UID - 859 + 911 CF$UID - 860 + 912 CF$UID - 861 + 913 @@ -15086,132 +14513,113 @@ $class CF$UID - 88 + 110 + + Identifier + + CF$UID + 888 - NS.objects - - - CF$UID - 111 - - $class CF$UID - 88 + 110 + + Identifier + + CF$UID + 251 - NS.objects - - - CF$UID - 111 - - - CF$UID - 248 - - $class CF$UID - 88 + 110 + + Identifier + + CF$UID + 253 - NS.objects - - - CF$UID - 111 - - - CF$UID - 248 - - - CF$UID - 374 - - $class CF$UID - 88 + 110 + + Identifier + + CF$UID + 114 - NS.objects - - - CF$UID - 111 - - - CF$UID - 248 - - - CF$UID - 246 - - $class CF$UID - 88 + 119 + + documentURL + + CF$UID + 915 + + timestamp + + CF$UID + 0 - NS.objects - - - CF$UID - 111 - - - CF$UID - 376 - - $class CF$UID - 68 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.m + + + $class + + CF$UID + 123 + + children + + CF$UID + 917 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 863 - - $class CF$UID - 88 + 115 NS.objects CF$UID - 864 - - - CF$UID - 866 + 907 @@ -15219,80 +14627,78 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 126 NS.objects CF$UID - 205 - - - CF$UID - 865 + 919 - 377 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 128 NS.objects CF$UID - 205 - - - CF$UID - 867 + 920 - 223 $class CF$UID - 68 + 87 NS.keys CF$UID - 77 + 130 + + + CF$UID + 131 + + + CF$UID + 132 NS.objects CF$UID - 869 + 921 + + + CF$UID + 60 + + + CF$UID + 936 @@ -15300,21 +14706,13 @@ $class CF$UID - 88 + 115 NS.objects CF$UID - 870 - - - CF$UID - 872 - - - CF$UID - 874 + 922 @@ -15322,221 +14720,387 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 135 CF$UID - 81 + 136 - - NS.objects - CF$UID - 53 + 137 CF$UID - 871 + 138 - - - 457 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 139 CF$UID - 81 + 140 + + + CF$UID + 141 NS.objects CF$UID - 52 + 142 CF$UID - 873 + 923 - - - 1116 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 924 CF$UID - 81 + 888 - - NS.objects - CF$UID - 216 + 152 CF$UID - 875 + 928 + + + CF$UID + 930 - 354 + -atom $class CF$UID - 68 + 87 NS.keys CF$UID - 39 + 146 CF$UID - 40 + 145 CF$UID - 41 + 147 CF$UID - 42 + 148 + + + NS.objects + + + CF$UID + 925 CF$UID - 877 + 48 CF$UID - 44 + 926 + + + CF$UID + 927 + + 323991249.92976499 + {21219, 1327} + {40731, 0} + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 929 + + + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.m + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 914 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 931 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 + NS.objects CF$UID - 45 + 932 CF$UID - 877 + 933 CF$UID - 878 + 934 CF$UID - 11 + 935 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 888 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 251 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 253 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 114 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 879 + 937 + + + {{0, 0}, {600, 578}} + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 935 + 80 + + + NS.objects + + + CF$UID + 939 - IDEWorkspaceTabController_F33080DA-636E-4BF6-B5C1-24B49B17E33D - {{268, 382}, {240, 646}} $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 49 + 940 CF$UID - 50 + 942 + + + + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 83 CF$UID - 51 + 84 + + NS.objects + CF$UID - 52 + 166 CF$UID - 53 + 941 + + + 203 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 54 + 83 CF$UID - 55 + 84 NS.objects CF$UID - 57 + 169 CF$UID - 45 + 943 + + + 115 + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 45 + 173 CF$UID - 880 + 175 CF$UID - 913 + 286 + + NS.objects + CF$UID - 921 + 945 CF$UID - 927 + 286 + + + CF$UID + 946 @@ -15544,76 +15108,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 - - - CF$UID - 60 + 177 CF$UID - 61 + 178 CF$UID - 62 + 179 CF$UID - 63 + 180 CF$UID - 64 + 181 CF$UID - 65 + 182 CF$UID - 66 + 183 NS.objects CF$UID - 881 - - - CF$UID - 882 + 184 CF$UID - 897 + 48 CF$UID - 901 + 48 CF$UID - 45 + 48 CF$UID - 57 + 185 CF$UID - 907 + 186 CF$UID - 168 + 186 @@ -15621,71 +15177,44 @@ $class CF$UID - 68 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 70 - - - CF$UID - 71 - - - CF$UID - 72 + 289 CF$UID - 73 + 290 CF$UID - 74 + 291 CF$UID - 75 + 292 NS.objects CF$UID - 883 - - - CF$UID - 889 - - - CF$UID - 95 + 202 CF$UID - 95 + 947 CF$UID - 895 + 948 CF$UID - 896 + 48 @@ -15693,20 +15222,38 @@ $class CF$UID - 68 + 91 + + NS.objects + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 884 + 950 @@ -15714,17 +15261,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 885 + 951 CF$UID - 887 + 953 @@ -15732,80 +15279,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 208 CF$UID - 886 + 952 - 298 + 377 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 208 CF$UID - 888 + 954 - 301 + 223 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 890 + 956 @@ -15813,17 +15360,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 891 + 957 CF$UID - 893 + 959 + + + CF$UID + 961 @@ -15831,80 +15382,103 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 56 CF$UID - 892 + 958 - 298 + 457 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 55 CF$UID - 894 + 960 - 301 + 1116 $class CF$UID - 68 + 87 NS.keys CF$UID - 97 + 83 + + + CF$UID + 84 NS.objects CF$UID - 98 + 219 + + + CF$UID + 962 + + + + 354 + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 885 @@ -15912,247 +15486,138 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 965 + + + CF$UID + 44 + + + CF$UID + 43 + + + CF$UID + 42 + + + CF$UID + 45 + + + CF$UID + 47 NS.objects CF$UID - 57 + 966 + + + CF$UID + 49 + + + CF$UID + 965 + + + CF$UID + 48 + + + CF$UID + 11 + + + CF$UID + 1043 + IDEWorkspaceTabController_9E45EA5C-8211-4C60-B769-E55D97496BF5 $class CF$UID - 121 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 898 + 71 - rootLayoutTreeNode - - CF$UID - 899 - - - - $class - - CF$UID - 120 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 899 - - - - $class - - CF$UID - 120 - - children - - CF$UID - 900 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 - - - - $class - - CF$UID - 112 - - NS.objects + NS.keys CF$UID - 898 + 51 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 123 + 52 - - NS.objects - CF$UID - 902 + 53 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 125 + 54 - - NS.objects - CF$UID - 903 + 55 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 127 + 56 CF$UID - 128 + 57 CF$UID - 129 + 58 NS.objects CF$UID - 904 + 313 CF$UID - 57 + 60 CF$UID - 906 + 48 - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 905 + 48 - - - - $class - - CF$UID - 68 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 159 + 967 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 77 + 1019 + + + CF$UID + 1029 - - NS.objects - CF$UID - 908 + 1035 @@ -16160,110 +15625,72 @@ $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 909 + 62 CF$UID - 911 + 63 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 64 CF$UID - 81 + 65 - - NS.objects - CF$UID - 163 + 66 CF$UID - 910 + 67 - - - 203 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 68 CF$UID - 81 + 69 NS.objects CF$UID - 166 + 968 CF$UID - 912 + 969 - - - 115 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 170 + 984 CF$UID - 171 + 996 CF$UID - 172 + 48 - - NS.objects - CF$UID - 914 + 60 CF$UID - 915 + 1013 CF$UID @@ -16275,161 +15702,71 @@ $class CF$UID - 68 + 71 NS.keys - - - CF$UID - 174 - - - CF$UID - 175 - - - CF$UID - 176 - - - CF$UID - 177 - - - CF$UID - 178 - - - CF$UID - 179 - - - CF$UID - 180 - - + NS.objects - - - CF$UID - 181 - - - CF$UID - 45 - - - CF$UID - 45 - - - CF$UID - 45 - - - CF$UID - 182 - - - CF$UID - 183 - - - CF$UID - 183 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 186 - - - CF$UID - 187 - - - CF$UID - 188 - - - CF$UID - 189 - - - CF$UID - 178 + 73 CF$UID - 190 + 74 CF$UID - 191 + 75 CF$UID - 192 + 76 CF$UID - 193 + 77 CF$UID - 194 + 78 NS.objects CF$UID - 45 - - - CF$UID - 916 - - - CF$UID - 917 - - - CF$UID - 918 - - - CF$UID - 199 + 970 CF$UID - 45 + 976 CF$UID - 45 + 98 CF$UID - 919 + 98 CF$UID - 920 + 982 CF$UID - 45 + 983 @@ -16437,65 +15774,20 @@ $class CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 88 - - NS.objects - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 922 + 971 @@ -16503,17 +15795,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 923 + 972 CF$UID - 925 + 974 @@ -16521,80 +15813,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 85 CF$UID - 924 + 973 - 389 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 89 CF$UID - 926 + 975 - 211 + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 928 + 977 @@ -16602,21 +15894,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 929 - - - CF$UID - 931 + 978 CF$UID - 933 + 980 @@ -16624,103 +15912,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 85 CF$UID - 930 + 979 - 277 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 89 CF$UID - 932 + 981 - 810 + 301 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 - - - NS.objects - - - CF$UID - 216 - - - CF$UID - 934 + 100 - - 354 - - $class - - CF$UID - 112 - NS.objects CF$UID - 877 + 101 @@ -16728,131 +15993,314 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 - - - CF$UID - 40 - - - CF$UID - 41 - - - CF$UID - 42 - - - CF$UID - 937 - - - CF$UID - 44 + 103 NS.objects CF$UID - 45 - - - CF$UID - 937 - - - CF$UID - 938 - - - CF$UID - 12 - - - CF$UID - 939 - - - CF$UID - 995 + 60 - IDEWorkspaceTabController_F6D47396-B5A1-43DA-8459-FA61D4CD1CA9 - {{98, 359}, {240, 646}} $class CF$UID - 68 + 124 - NS.keys - + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 985 + + rootLayoutTreeNode + + CF$UID + 994 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 986 + + orientation + 0 + parent + + CF$UID + 994 + + + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 992 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 987 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 49 + 988 CF$UID - 50 + 989 CF$UID - 51 + 990 CF$UID - 52 + 991 + + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 313 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 251 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 253 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 114 + + + + $class + + CF$UID + 119 + + documentURL + + CF$UID + 993 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/main.m + + + $class + + CF$UID + 123 + + children + + CF$UID + 995 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 985 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 53 + 126 + + NS.objects + CF$UID - 54 + 997 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 55 + 128 NS.objects CF$UID - 57 + 998 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 45 + 130 CF$UID - 45 + 131 CF$UID - 940 + 132 + + NS.objects + CF$UID - 973 + 999 CF$UID - 981 + 60 CF$UID - 987 + 1012 @@ -16860,76 +16308,82 @@ $class CF$UID - 68 + 115 - NS.keys + NS.objects CF$UID - 59 + 1000 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 60 + 141 CF$UID - 61 + 135 CF$UID - 62 + 137 CF$UID - 63 + 138 CF$UID - 64 + 139 CF$UID - 65 + 140 CF$UID - 66 + 136 NS.objects CF$UID - 941 - - - CF$UID - 942 + 1001 CF$UID - 957 + 142 CF$UID - 961 + 1007 CF$UID - 45 + 313 CF$UID - 57 + 152 CF$UID - 967 + 1010 CF$UID - 168 + 313 @@ -16937,110 +16391,179 @@ $class CF$UID - 68 + 120 + + DocumentLocation + + CF$UID + 992 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 1002 + + IndexOfDocumentIdentifier + + CF$UID + 60 - NS.keys - - NS.objects - $class CF$UID - 68 + 115 - NS.keys + NS.objects CF$UID - 70 + 1003 CF$UID - 71 + 1004 CF$UID - 72 + 1005 CF$UID - 73 + 1006 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 313 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 251 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 253 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 114 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 74 + 146 CF$UID - 75 + 145 - - NS.objects - CF$UID - 943 + 147 CF$UID - 949 + 148 + + NS.objects + CF$UID - 95 + 1008 CF$UID - 95 + 48 CF$UID - 955 + 1009 CF$UID - 956 + 358 + 323993875.32485598 + {0, 1506} $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 1011 - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 944 - - + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/main.m $class CF$UID - 88 + 115 NS.objects CF$UID - 945 - - - CF$UID - 947 + 162 @@ -17048,7 +16571,7 @@ $class CF$UID - 84 + 71 NS.keys @@ -17056,280 +16579,272 @@ CF$UID 80 + + NS.objects + CF$UID - 81 + 1014 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 82 + 1015 CF$UID - 946 + 1017 - 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 166 CF$UID - 948 + 1016 - 301 + 203 $class CF$UID - 68 + 87 NS.keys CF$UID - 77 + 83 - - NS.objects - CF$UID - 950 + 84 - - - $class - - CF$UID - 88 - NS.objects CF$UID - 951 + 169 CF$UID - 953 + 1018 + 115 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 173 CF$UID - 81 + 175 NS.objects CF$UID - 82 + 1020 CF$UID - 952 + 173 - 298 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 177 CF$UID - 81 + 178 - - NS.objects - CF$UID - 86 + 179 CF$UID - 954 + 180 - - - 301 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 97 + 181 - - NS.objects - CF$UID - 98 + 182 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 100 + 183 NS.objects CF$UID - 57 + 1021 - + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 202 + + + CF$UID + 186 + + + CF$UID + 1023 + + $class CF$UID - 121 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 958 - - rootLayoutTreeNode - - CF$UID - 959 + 115 + NS.objects + + + CF$UID + 1022 + + $class CF$UID - 120 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 959 + 91 + NS.objects + + + CF$UID + 114 + + + CF$UID + 253 + + + CF$UID + 251 + + + CF$UID + 313 + + $class CF$UID - 120 - - children - - CF$UID - 960 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 + 187 + NS.objects + + + CF$UID + 1024 + + + CF$UID + 1025 + + + CF$UID + 1026 + + + CF$UID + 1027 + + + CF$UID + 1028 + + $class CF$UID - 112 + 91 NS.objects CF$UID - 958 + 114 @@ -17337,20 +16852,17 @@ $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 123 + 114 - - NS.objects - CF$UID - 962 + 253 @@ -17358,20 +16870,21 @@ $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 125 + 114 - - NS.objects - CF$UID - 963 + 253 + + + CF$UID + 377 @@ -17379,36 +16892,60 @@ $class CF$UID - 84 + 91 - NS.keys + NS.objects CF$UID - 127 + 114 CF$UID - 128 + 253 CF$UID - 129 + 251 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 964 + 114 CF$UID - 57 + 379 + + + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 80 + + NS.objects + CF$UID - 966 + 1030 @@ -17416,13 +16953,17 @@ $class CF$UID - 112 + 91 NS.objects CF$UID - 965 + 1031 + + + CF$UID + 1033 @@ -17430,45 +16971,80 @@ $class CF$UID - 68 + 87 NS.keys - + + + CF$UID + 83 + + + CF$UID + 84 + + NS.objects - + + + CF$UID + 208 + + + CF$UID + 1032 + + + 377 $class CF$UID - 112 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + NS.objects CF$UID - 159 + 208 + + + CF$UID + 1034 + 223 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 968 + 1036 @@ -17476,17 +17052,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 969 + 1037 CF$UID - 971 + 1039 + + + CF$UID + 1041 @@ -17494,96 +17074,103 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 56 CF$UID - 970 + 1038 - 203 + 457 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 55 CF$UID - 972 + 1040 - 115 + 1116 $class CF$UID - 68 + 87 NS.keys CF$UID - 170 - - - CF$UID - 171 + 83 CF$UID - 172 + 84 NS.objects CF$UID - 974 + 219 CF$UID - 975 + 1042 + + + 354 + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 171 + 965 @@ -17591,161 +17178,208 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 - - - CF$UID - 175 + 42 CF$UID - 176 + 43 CF$UID - 177 + 44 CF$UID - 178 + 45 CF$UID - 179 + 1045 CF$UID - 180 + 47 NS.objects CF$UID - 181 - - - CF$UID - 45 + 48 CF$UID - 45 + 1045 CF$UID - 45 + 1046 CF$UID - 182 + 12 CF$UID - 183 + 1047 CF$UID - 183 + 1103 + IDEWorkspaceTabController_F33080DA-636E-4BF6-B5C1-24B49B17E33D + {{268, 382}, {240, 646}} $class CF$UID - 68 + 71 NS.keys CF$UID - 186 + 52 CF$UID - 187 + 53 CF$UID - 188 + 54 CF$UID - 189 + 55 CF$UID - 178 + 56 CF$UID - 190 + 57 CF$UID - 191 + 58 + + NS.objects + CF$UID - 192 + 60 CF$UID - 193 + 48 CF$UID - 194 + 48 + + + CF$UID + 1048 + + + CF$UID + 1081 + + + CF$UID + 1089 + + + CF$UID + 1095 - NS.objects + + + $class + + CF$UID + 71 + + NS.keys CF$UID - 45 + 62 CF$UID - 976 + 63 CF$UID - 977 + 64 CF$UID - 978 + 65 CF$UID - 199 + 66 CF$UID - 45 + 67 CF$UID - 45 + 68 CF$UID - 979 + 69 + + NS.objects + CF$UID - 980 + 1049 CF$UID - 45 + 1050 + + + CF$UID + 1065 + + + CF$UID + 1069 + + + CF$UID + 48 + + + CF$UID + 60 + + + CF$UID + 1075 + + + CF$UID + 171 @@ -17753,35 +17387,10 @@ $class CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 + 71 - NS.objects + NS.keys - - - $class - - CF$UID - 196 - NS.objects @@ -17789,29 +17398,81 @@ $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 73 + + + CF$UID + 74 + + + CF$UID + 75 + + + CF$UID + 76 + + + CF$UID + 77 + + + CF$UID + 78 + + NS.objects - + + + CF$UID + 1051 + + + CF$UID + 1057 + + + CF$UID + 98 + + + CF$UID + 98 + + + CF$UID + 1063 + + + CF$UID + 1064 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 982 + 1052 @@ -17819,17 +17480,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 983 + 1053 CF$UID - 985 + 1055 @@ -17837,80 +17498,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 85 CF$UID - 984 + 1054 - 389 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 89 CF$UID - 986 + 1056 - 211 + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 988 + 1058 @@ -17918,21 +17579,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 989 + 1059 CF$UID - 991 - - - CF$UID - 993 + 1061 @@ -17940,103 +17597,189 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 85 CF$UID - 990 + 1060 - 661 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 89 CF$UID - 992 + 1062 - 921 + 301 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 100 + + NS.objects + CF$UID - 81 + 101 - NS.objects + + + $class + + CF$UID + 71 + + NS.keys CF$UID - 216 + 103 + + NS.objects + CF$UID - 994 + 60 - 354 $class CF$UID - 112 + 124 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 1066 + + rootLayoutTreeNode + + CF$UID + 1067 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 1067 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 1068 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 115 NS.objects CF$UID - 937 + 1066 @@ -18044,130 +17787,253 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 997 + 126 + + NS.objects + CF$UID - 41 + 1070 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 40 + 128 + + NS.objects + CF$UID - 39 + 1071 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 42 + 130 CF$UID - 44 + 131 + + + CF$UID + 132 NS.objects CF$UID - 998 + 1072 CF$UID - 1054 + 60 CF$UID - 997 + 1074 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 45 + 1073 + + + + $class + + CF$UID + 71 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 13 + 162 + + + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 80 + + NS.objects + CF$UID - 1055 + 1076 - IDEWorkspaceTabController_CDAD906A-B3FD-4DE9-9B32-BA0E6A2D92D2 $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 49 + 1077 CF$UID - 50 + 1079 + + + + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 83 CF$UID - 51 + 84 + + NS.objects + CF$UID - 52 + 166 CF$UID - 53 + 1078 + + + 203 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 54 + 83 CF$UID - 55 + 84 NS.objects CF$UID - 57 + 169 CF$UID - 45 + 1080 + + + + 115 + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 173 CF$UID - 45 + 174 CF$UID - 999 + 175 + + NS.objects + CF$UID - 1032 + 1082 CF$UID - 1040 + 1083 CF$UID - 1046 + 174 @@ -18175,76 +18041,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 - - - CF$UID - 60 + 177 CF$UID - 61 + 178 CF$UID - 62 + 179 CF$UID - 63 + 180 CF$UID - 64 + 181 CF$UID - 65 + 182 CF$UID - 66 + 183 NS.objects CF$UID - 1000 - - - CF$UID - 1001 + 184 CF$UID - 1016 + 48 CF$UID - 1020 + 48 CF$UID - 45 + 48 CF$UID - 57 + 185 CF$UID - 1026 + 186 CF$UID - 168 + 186 @@ -18252,71 +18110,92 @@ $class CF$UID - 68 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 70 + 189 CF$UID - 71 + 190 CF$UID - 72 + 191 CF$UID - 73 + 192 CF$UID - 74 + 181 CF$UID - 75 + 193 + + + CF$UID + 194 + + + CF$UID + 195 + + + CF$UID + 196 + + + CF$UID + 197 NS.objects CF$UID - 1002 + 48 CF$UID - 1008 + 1084 CF$UID - 95 + 1085 CF$UID - 95 + 1086 CF$UID - 1014 + 202 CF$UID - 1015 + 48 + + + CF$UID + 48 + + + CF$UID + 1087 + + + CF$UID + 1088 + + + CF$UID + 48 @@ -18324,20 +18203,65 @@ $class CF$UID - 68 + 199 + + NS.objects + + + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1003 + 1090 @@ -18345,17 +18269,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1004 + 1091 CF$UID - 1006 + 1093 @@ -18363,80 +18287,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 208 CF$UID - 1005 + 1092 - 298 + 389 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 208 CF$UID - 1007 + 1094 - 301 + 211 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1009 + 1096 @@ -18444,17 +18368,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1010 + 1097 CF$UID - 1012 + 1099 + + + CF$UID + 1101 @@ -18462,101 +18390,103 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 56 CF$UID - 1011 + 1098 - 298 + 277 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 55 CF$UID - 1013 + 1100 - 301 + 810 $class CF$UID - 68 + 87 NS.keys CF$UID - 97 + 83 + + + CF$UID + 84 NS.objects CF$UID - 98 + 219 + + + CF$UID + 1102 + 354 $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 100 - - NS.objects CF$UID - 57 + 1045 @@ -18564,410 +18494,217 @@ $class CF$UID - 121 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 1017 - - rootLayoutTreeNode - - CF$UID - 1018 - - - - $class - - CF$UID - 120 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 1018 - - - - $class - - CF$UID - 120 - - children - - CF$UID - 1019 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 - - - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 1017 - - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 123 - - - NS.objects - - - CF$UID - 1021 + 472 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 125 + 473 - - NS.objects - CF$UID - 1022 + 474 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 127 + 475 CF$UID - 128 + 1105 CF$UID - 129 + 477 NS.objects CF$UID - 1023 - - - CF$UID - 57 + 48 CF$UID - 1025 + 1105 - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 1024 + 1106 - - - - $class - - CF$UID - 68 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 159 + 13 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 77 + 1107 - - NS.objects - CF$UID - 1027 + 1203 + IDEWorkspaceTabController_2356F5AA-2FD8-4EDE-B754-CC2194BB1038 + {{500, 210}, {1145, 763}} $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 1028 + 480 CF$UID - 1030 + 481 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 482 CF$UID - 81 + 483 - - NS.objects - CF$UID - 163 + 484 CF$UID - 1029 + 485 - - - 203 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 486 CF$UID - 81 + 487 NS.objects CF$UID - 166 + 1108 CF$UID - 1031 + 60 - - - 115 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 170 + 171 CF$UID - 171 + 48 CF$UID - 172 + 1109 - - NS.objects - CF$UID - 1033 + 1163 CF$UID - 1034 + 1189 CF$UID - 171 + 1195 + ANTLRTreeRuleReturnScope.m $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 490 CF$UID - 175 + 491 CF$UID - 176 + 492 CF$UID - 177 + 493 CF$UID - 178 + 494 CF$UID - 179 + 495 CF$UID - 180 + 496 + + + CF$UID + 497 NS.objects CF$UID - 181 + 1110 CF$UID - 45 + 1111 CF$UID - 45 + 1126 CF$UID - 45 + 1139 CF$UID - 182 + 48 CF$UID - 183 + 60 CF$UID - 183 + 1157 + + + CF$UID + 171 @@ -18975,92 +18712,71 @@ $class CF$UID - 68 + 71 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 186 - - - CF$UID - 187 - - - CF$UID - 188 - - - CF$UID - 189 - - - CF$UID - 178 + 500 CF$UID - 190 + 501 CF$UID - 191 + 502 CF$UID - 192 + 503 CF$UID - 193 + 504 CF$UID - 194 + 505 NS.objects CF$UID - 45 - - - CF$UID - 1035 - - - CF$UID - 1036 - - - CF$UID - 1037 - - - CF$UID - 199 + 1112 CF$UID - 45 + 1118 CF$UID - 45 + 98 CF$UID - 1038 + 98 CF$UID - 1039 + 1124 CF$UID - 45 + 1125 @@ -19068,65 +18784,20 @@ $class CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 88 - - NS.objects - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 1041 + 1113 @@ -19134,17 +18805,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1042 + 1114 CF$UID - 1044 + 1116 @@ -19152,80 +18823,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 205 + 512 CF$UID - 1043 + 1115 - 389 + 569 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 205 + 515 CF$UID - 1045 + 1117 - 211 + 315 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 1047 + 1119 @@ -19233,21 +18904,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1048 - - - CF$UID - 1050 + 1120 CF$UID - 1052 + 1122 @@ -19255,104 +18922,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 53 + 512 CF$UID - 1049 + 1121 - 661 + 569 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 52 + 515 CF$UID - 1051 + 1123 - 921 + 315 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 - - - NS.objects - - - CF$UID - 216 - - - CF$UID - 1053 + 524 - - 354 - {{77, 382}, {240, 646}} - - $class - - CF$UID - 112 - NS.objects CF$UID - 997 + 101 @@ -19360,536 +19003,28 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 - - - CF$UID - 40 - - - CF$UID - 41 - - - CF$UID - 42 - - - CF$UID - 1057 - - - CF$UID - 44 + 526 NS.objects CF$UID - 45 - - - CF$UID - 1057 - - - CF$UID - 46 - - - CF$UID - 14 - - - CF$UID - 1058 - - - CF$UID - 1134 + 60 - IDEWorkspaceTabController_0FE96BB2-94D6-44F4-B2EB-13242DED799C $class CF$UID - 68 - - NS.keys - - - CF$UID - 48 - - - CF$UID - 49 - - - CF$UID - 50 - - - CF$UID - 51 - - - CF$UID - 52 - - - CF$UID - 53 - - - CF$UID - 54 - - - CF$UID - 55 - - - NS.objects - - - CF$UID - 1059 - - - CF$UID - 57 - - - CF$UID - 45 - - - CF$UID - 45 - - - CF$UID - 1060 - - - CF$UID - 1112 - - - CF$UID - 1120 - - - CF$UID - 1126 - - - - ANTLRTests.m - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 59 - - - CF$UID - 60 - - - CF$UID - 61 - - - CF$UID - 62 - - - CF$UID - 63 - - - CF$UID - 64 - - - CF$UID - 65 - - - CF$UID - 66 - - - NS.objects - - - CF$UID - 1061 - - - CF$UID - 1062 - - - CF$UID - 1077 - - - CF$UID - 1089 - - - CF$UID - 45 - - - CF$UID - 57 - - - CF$UID - 1106 - - - CF$UID - 168 - - - - - $class - - CF$UID - 68 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 70 - - - CF$UID - 71 - - - CF$UID - 72 - - - CF$UID - 73 - - - CF$UID - 74 - - - CF$UID - 75 - - - NS.objects - - - CF$UID - 1063 - - - CF$UID - 1069 - - - CF$UID - 95 - - - CF$UID - 95 - - - CF$UID - 1075 - - - CF$UID - 1076 - - - - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 1064 - - - - - $class - - CF$UID - 88 - - NS.objects - - - CF$UID - 1065 - - - CF$UID - 1067 - - - - - $class - - CF$UID - 84 - - NS.keys - - - CF$UID - 80 - - - CF$UID - 81 - - - NS.objects - - - CF$UID - 82 - - - CF$UID - 1066 - - - - 298 - - $class - - CF$UID - 84 - - NS.keys - - - CF$UID - 80 - - - CF$UID - 81 - - - NS.objects - - - CF$UID - 86 - - - CF$UID - 1068 - - - - 301 - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 1070 - - - - - $class - - CF$UID - 88 - - NS.objects - - - CF$UID - 1071 - - - CF$UID - 1073 - - - - - $class - - CF$UID - 84 - - NS.keys - - - CF$UID - 80 - - - CF$UID - 81 - - - NS.objects - - - CF$UID - 82 - - - CF$UID - 1072 - - - - 298 - - $class - - CF$UID - 84 - - NS.keys - - - CF$UID - 80 - - - CF$UID - 81 - - - NS.objects - - - CF$UID - 86 - - - CF$UID - 1074 - - - - 301 - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 97 - - - NS.objects - - - CF$UID - 98 - - - - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 100 - - - NS.objects - - - CF$UID - 57 - - - - - $class - - CF$UID - 121 + 124 geniusEditorContextNode @@ -19899,19 +19034,19 @@ primaryEditorContextNode CF$UID - 1078 + 1127 rootLayoutTreeNode CF$UID - 1087 + 1137 $class CF$UID - 120 + 123 children @@ -19923,62 +19058,62 @@ documentArchivableRepresentation CF$UID - 1079 + 1128 orientation 0 parent CF$UID - 1087 + 1137 $class CF$UID - 117 + 120 DocumentLocation CF$UID - 1085 + 1135 DomainIdentifier CF$UID - 104 + 530 IdentifierPath CF$UID - 1080 + 1129 IndexOfDocumentIdentifier CF$UID - 57 + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 1081 + 1130 CF$UID - 1082 + 1132 CF$UID - 1084 + 1133 @@ -19986,49 +19121,50 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 1059 + 1131 + ANTLRTreeRuleReturnScope.m $class CF$UID - 107 + 110 Identifier CF$UID - 1083 + 535 - ANTLRTests $class CF$UID - 107 + 110 Identifier CF$UID - 111 + 1134 + ANTLR $class CF$UID - 116 + 119 documentURL CF$UID - 1086 + 1136 timestamp @@ -20040,21 +19176,21 @@ $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/ANTLRTests/ANTLRTests.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.m $class CF$UID - 120 + 123 children CF$UID - 1088 + 1138 contentType 0 @@ -20075,13 +19211,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1078 + 1127 @@ -20089,20 +19225,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 543 NS.objects CF$UID - 1090 + 1140 @@ -20110,20 +19246,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 545 NS.objects CF$UID - 1091 + 1141 @@ -20131,36 +19267,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 547 CF$UID - 128 + 548 CF$UID - 129 + 549 NS.objects CF$UID - 1092 + 1142 CF$UID - 57 + 60 CF$UID - 1105 + 1155 @@ -20168,13 +19304,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1093 + 1143 @@ -20182,68 +19318,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 132 + 552 CF$UID - 133 + 553 CF$UID - 134 + 554 CF$UID - 135 + 555 CF$UID - 136 + 556 CF$UID - 137 + 557 CF$UID - 138 + 558 NS.objects CF$UID - 1059 + 1131 CF$UID - 1094 + 1144 CF$UID - 1099 + 1150 CF$UID - 1059 + 1131 CF$UID - 153 + 574 CF$UID - 1103 + 1153 CF$UID - 157 + 577 @@ -20251,48 +19387,48 @@ $class CF$UID - 117 + 120 DocumentLocation CF$UID - 1085 + 1135 DomainIdentifier CF$UID - 104 + 530 IdentifierPath CF$UID - 1095 + 1145 IndexOfDocumentIdentifier CF$UID - 57 + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 1096 + 1146 CF$UID - 1097 + 1147 CF$UID - 1098 + 1148 @@ -20300,91 +19436,91 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 1059 + 1131 $class CF$UID - 107 + 110 Identifier CF$UID - 1083 + 535 $class CF$UID - 107 + 110 Identifier CF$UID - 111 + 1149 + ANTLR $class CF$UID - 84 + 87 NS.keys CF$UID - 147 + 567 CF$UID - 146 + 568 CF$UID - 148 + 569 CF$UID - 149 + 570 NS.objects CF$UID - 1100 + 1151 CF$UID - 45 + 48 CF$UID - 1101 + 1152 CF$UID - 1102 + 358 - 323970804.32803798 - {0, 344} - {344, 0} + 324441058.64650702 + {47, 2017} $class CF$UID - 156 + 155 NS.base @@ -20394,42 +19530,43 @@ NS.relative CF$UID - 1104 + 1154 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/ANTLRTests/ANTLRTests.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.m $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 1156 + {{0, 0}, {885, 717}} $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 1107 + 1158 @@ -20437,17 +19574,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1108 + 1159 CF$UID - 1110 + 1161 @@ -20455,28 +19592,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 163 + 583 CF$UID - 1109 + 1160 @@ -20485,28 +19622,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 166 + 586 CF$UID - 1111 + 1162 @@ -20515,198 +19652,257 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 1164 CF$UID - 171 + 590 CF$UID - 172 + 591 + + + CF$UID + 589 NS.objects CF$UID - 1113 + 1165 CF$UID - 1114 + 1179 CF$UID - 171 + 1164 + + + CF$UID + 1186 + Xcode.IDEKit.Navigator.BatchFind $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 1166 CF$UID - 175 + 1167 CF$UID - 176 + 1168 CF$UID - 177 + 1169 CF$UID - 178 + 1170 CF$UID - 179 + 1171 CF$UID - 180 + 1172 NS.objects CF$UID - 181 + 1173 CF$UID - 45 + 60 CF$UID - 45 + 1175 CF$UID - 45 + 622 CF$UID - 182 + 1177 CF$UID - 183 + 1178 CF$UID - 183 + 171 + IDEBatchFindNavigatorCollapsedGroups + IDEBatchFindNavigatorFindMode + IDEBatchFindNavigatorSelectedRowIndexes + IDEBatchFindNavigatorReplaceString + IDEBatchFindNavigatorScrollPosition + IDEBatchFindNavigatorFindString + IDEBatchFindNavigatorShowsOptions + + $class + + CF$UID + 1174 + + NSRangeCount + 0 + + + $classes + + NSMutableIndexSet + NSIndexSet + NSObject + + $classname + NSMutableIndexSet + + + $class + + CF$UID + 1176 + + NSLength + 3 + NSLocation + 23 + NSRangeCount + 1 + + + $classes + + NSIndexSet + NSObject + + $classname + NSIndexSet + + 294 + ANTLRLexerRuleReturnScope $class CF$UID - 68 + 71 NS.keys CF$UID - 186 + 603 CF$UID - 187 + 604 CF$UID - 188 + 605 CF$UID - 189 + 606 CF$UID - 178 + 607 CF$UID - 190 + 608 CF$UID - 191 + 609 CF$UID - 192 + 610 CF$UID - 193 + 611 CF$UID - 194 + 612 NS.objects CF$UID - 45 + 48 CF$UID - 1115 + 1180 CF$UID - 1116 + 1181 CF$UID - 1117 + 1182 CF$UID - 199 + 1183 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 1118 + 1184 CF$UID - 1119 + 1185 CF$UID - 45 + 48 @@ -20714,7 +19910,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -20723,7 +19919,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -20732,16 +19928,17 @@ $class CF$UID - 196 + 199 NS.objects + {{0, 0}, {168, 651}} $class CF$UID - 196 + 199 NS.objects @@ -20750,7 +19947,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -20759,20 +19956,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 593 + + + CF$UID + 594 + + + CF$UID + 595 + + + CF$UID + 596 + + + CF$UID + 597 + + + CF$UID + 598 + + + CF$UID + 599 NS.objects CF$UID - 1121 + 1187 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 1188 + + + CF$UID + 186 + + + CF$UID + 186 @@ -20780,17 +20025,30 @@ $class CF$UID - 88 + 115 NS.objects + + + {{0, 0}, {259, 832}} + + $class + + CF$UID + 71 + + NS.keys CF$UID - 1122 + 507 + + NS.objects + CF$UID - 1124 + 1190 @@ -20798,80 +20056,98 @@ $class CF$UID - 84 + 91 + + NS.objects + + + CF$UID + 1191 + + + CF$UID + 1193 + + + + + $class + + CF$UID + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 205 + 622 CF$UID - 1123 + 1192 - 377 + 506 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 205 + 622 CF$UID - 1125 + 1194 - 223 + 211 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 1127 + 1196 @@ -20879,21 +20155,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1128 + 1197 CF$UID - 1130 + 1199 CF$UID - 1132 + 1201 @@ -20901,28 +20177,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 53 + 485 CF$UID - 1129 + 1198 @@ -20931,73 +20207,73 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 52 + 484 CF$UID - 1131 + 1200 - 1313 + 885 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 216 + 633 CF$UID - 1133 + 1202 - 354 + 340 $class CF$UID - 112 + 115 NS.objects CF$UID - 1057 + 1105 @@ -21005,131 +20281,131 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 1136 + 1205 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 1136 + 1205 CF$UID - 1137 + 1206 CF$UID - 15 + 14 CF$UID - 1138 + 1207 CF$UID - 1194 + 1263 - IDEWorkspaceTabController_9D6F2215-F4FA-46B0-90C4-C0671DE09770 - {{247, 338}, {240, 646}} + IDEWorkspaceTabController_F6D47396-B5A1-43DA-8459-FA61D4CD1CA9 + {{98, 359}, {240, 646}} $class CF$UID - 68 + 71 NS.keys CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 1139 + 1208 CF$UID - 1172 + 1241 CF$UID - 1180 + 1249 CF$UID - 1186 + 1255 @@ -21137,76 +20413,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 1140 + 1209 CF$UID - 1141 + 1210 CF$UID - 1156 + 1225 CF$UID - 1160 + 1229 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 1166 + 1235 CF$UID - 168 + 171 @@ -21214,7 +20490,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -21225,60 +20501,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 1142 + 1211 CF$UID - 1148 + 1217 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 1154 + 1223 CF$UID - 1155 + 1224 @@ -21286,20 +20562,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1143 + 1212 @@ -21307,17 +20583,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1144 + 1213 CF$UID - 1146 + 1215 @@ -21325,28 +20601,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1145 + 1214 @@ -21355,28 +20631,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1147 + 1216 @@ -21385,20 +20661,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1149 + 1218 @@ -21406,17 +20682,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1150 + 1219 CF$UID - 1152 + 1221 @@ -21424,28 +20700,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1151 + 1220 @@ -21454,28 +20730,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1153 + 1222 @@ -21484,20 +20760,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -21505,20 +20781,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -21526,7 +20802,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -21536,19 +20812,19 @@ primaryEditorContextNode CF$UID - 1157 + 1226 rootLayoutTreeNode CF$UID - 1158 + 1227 $class CF$UID - 120 + 123 children @@ -21567,19 +20843,19 @@ parent CF$UID - 1158 + 1227 $class CF$UID - 120 + 123 children CF$UID - 1159 + 1228 contentType 0 @@ -21600,13 +20876,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1157 + 1226 @@ -21614,20 +20890,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 1161 + 1230 @@ -21635,20 +20911,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 1162 + 1231 @@ -21656,36 +20932,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 1163 + 1232 CF$UID - 57 + 60 CF$UID - 1165 + 1234 @@ -21693,13 +20969,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1164 + 1233 @@ -21707,7 +20983,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -21718,13 +20994,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -21732,20 +21008,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1167 + 1236 @@ -21753,17 +21029,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1168 + 1237 CF$UID - 1170 + 1239 @@ -21771,28 +21047,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 1169 + 1238 @@ -21801,28 +21077,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 1171 + 1240 @@ -21831,36 +21107,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 171 + 174 CF$UID - 172 + 175 NS.objects CF$UID - 1173 + 1242 CF$UID - 1174 + 1243 CF$UID - 171 + 174 @@ -21868,68 +21144,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -21937,92 +21213,92 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 186 + 189 CF$UID - 187 + 190 CF$UID - 188 + 191 CF$UID - 189 + 192 CF$UID - 178 + 181 CF$UID - 190 + 193 CF$UID - 191 + 194 CF$UID - 192 + 195 CF$UID - 193 + 196 CF$UID - 194 + 197 NS.objects CF$UID - 45 + 48 CF$UID - 1175 + 1244 CF$UID - 1176 + 1245 CF$UID - 1177 + 1246 CF$UID - 199 + 202 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 1178 + 1247 CF$UID - 1179 + 1248 CF$UID - 45 + 48 @@ -22030,7 +21306,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -22039,7 +21315,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -22048,7 +21324,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -22057,7 +21333,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -22066,7 +21342,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -22075,20 +21351,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1181 + 1250 @@ -22096,17 +21372,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1182 + 1251 CF$UID - 1184 + 1253 @@ -22114,28 +21390,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 1183 + 1252 @@ -22144,28 +21420,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 1185 + 1254 @@ -22174,20 +21450,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1187 + 1256 @@ -22195,21 +21471,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1188 + 1257 CF$UID - 1190 + 1259 CF$UID - 1192 + 1261 @@ -22217,88 +21493,88 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 1189 + 1258 - 277 + 661 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 1191 + 1260 - 810 + 921 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 1193 + 1262 @@ -22307,13 +21583,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1136 + 1205 @@ -22321,21 +21597,21 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 1265 CF$UID - 40 + 44 CF$UID - 41 + 43 CF$UID @@ -22343,109 +21619,108 @@ CF$UID - 1196 + 45 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 1266 CF$UID - 1196 + 1322 CF$UID - 1197 + 1265 CF$UID - 16 + 48 CF$UID - 1198 + 15 CF$UID - 1263 + 1323 - IDEWorkspaceTabController_DD4A7D9F-63E4-467E-A0FD-C95A8591EAC6 - {{245, 338}, {240, 646}} + IDEWorkspaceTabController_CDAD906A-B3FD-4DE9-9B32-BA0E6A2D92D2 $class CF$UID - 68 + 71 NS.keys CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 1199 + 1267 CF$UID - 1232 + 1300 CF$UID - 1249 + 1308 CF$UID - 1255 + 1314 @@ -22453,76 +21728,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 1200 + 1268 CF$UID - 1201 + 1269 CF$UID - 1216 + 1284 CF$UID - 1220 + 1288 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 1226 + 1294 CF$UID - 168 + 171 @@ -22530,7 +21805,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -22541,60 +21816,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 1202 + 1270 CF$UID - 1208 + 1276 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 1214 + 1282 CF$UID - 1215 + 1283 @@ -22602,20 +21877,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1203 + 1271 @@ -22623,17 +21898,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1204 + 1272 CF$UID - 1206 + 1274 @@ -22641,28 +21916,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1205 + 1273 @@ -22671,28 +21946,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1207 + 1275 @@ -22701,20 +21976,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1209 + 1277 @@ -22722,17 +21997,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1210 + 1278 CF$UID - 1212 + 1280 @@ -22740,28 +22015,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1211 + 1279 @@ -22770,28 +22045,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1213 + 1281 @@ -22800,20 +22075,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -22821,20 +22096,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -22842,7 +22117,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -22852,19 +22127,19 @@ primaryEditorContextNode CF$UID - 1217 + 1285 rootLayoutTreeNode CF$UID - 1218 + 1286 $class CF$UID - 120 + 123 children @@ -22883,19 +22158,19 @@ parent CF$UID - 1218 + 1286 $class CF$UID - 120 + 123 children CF$UID - 1219 + 1287 contentType 0 @@ -22916,13 +22191,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1217 + 1285 @@ -22930,20 +22205,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 1221 + 1289 @@ -22951,20 +22226,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 1222 + 1290 @@ -22972,36 +22247,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 1223 + 1291 CF$UID - 57 + 60 CF$UID - 1225 + 1293 @@ -23009,13 +22284,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1224 + 1292 @@ -23023,7 +22298,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -23034,13 +22309,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -23048,20 +22323,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1227 + 1295 @@ -23069,17 +22344,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1228 + 1296 CF$UID - 1230 + 1298 @@ -23087,28 +22362,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 1229 + 1297 @@ -23117,28 +22392,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 1231 + 1299 @@ -23147,106 +22422,105 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 172 + 174 CF$UID - 1233 + 175 NS.objects CF$UID - 1234 + 1301 CF$UID - 1233 + 1302 CF$UID - 1235 + 174 - Xcode.IDEKit.Navigator.BatchFind $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -23254,135 +22528,158 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 1236 + 189 CF$UID - 1237 + 190 CF$UID - 1238 + 191 CF$UID - 1239 + 192 CF$UID - 1240 + 181 CF$UID - 1241 + 193 CF$UID - 1242 + 194 + + + CF$UID + 195 + + + CF$UID + 196 + + + CF$UID + 197 NS.objects CF$UID - 1243 + 48 CF$UID - 57 + 1303 CF$UID - 1245 + 1304 CF$UID - 1247 + 1305 CF$UID - 57 + 202 CF$UID - 1248 + 48 CF$UID - 45 + 48 + + + CF$UID + 1306 + + + CF$UID + 1307 + + + CF$UID + 48 - IDEBatchFindNavigatorCollapsedGroups - IDEBatchFindNavigatorFindMode - IDEBatchFindNavigatorSelectedRowIndexes - IDEBatchFindNavigatorReplaceString - IDEBatchFindNavigatorScrollPosition - IDEBatchFindNavigatorFindString - IDEBatchFindNavigatorShowsOptions $class CF$UID - 1244 + 199 - NSRangeCount - 0 + NS.objects + - $classes - - NSMutableIndexSet - NSIndexSet - NSObject - - $classname - NSMutableIndexSet + $class + + CF$UID + 199 + + NS.objects + $class CF$UID - 1246 + 199 - NSRangeCount - 0 + NS.objects + - $classes - - NSIndexSet - NSObject - - $classname - NSIndexSet + $class + + CF$UID + 199 + + NS.objects + - id<ANTLRBaseTree> - createTree $class CF$UID - 68 + 91 + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1250 + 1309 @@ -23390,17 +22687,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1251 + 1310 CF$UID - 1253 + 1312 @@ -23408,28 +22705,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 1252 + 1311 @@ -23438,28 +22735,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 1254 + 1313 @@ -23468,20 +22765,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1256 + 1315 @@ -23489,21 +22786,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1257 + 1316 CF$UID - 1259 + 1318 CF$UID - 1261 + 1320 @@ -23511,103 +22808,104 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 1258 + 1317 - 629 + 661 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 1260 + 1319 - 953 + 921 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 1262 + 1321 354 + {{77, 382}, {240, 646}} $class CF$UID - 112 + 115 NS.objects CF$UID - 1196 + 1265 @@ -23615,222 +22913,216 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 44 + 42 CF$UID - 41 + 43 CF$UID - 40 + 44 CF$UID - 39 + 45 CF$UID - 42 + 1325 CF$UID - 1265 + 47 NS.objects CF$UID - 1266 + 48 CF$UID - 1267 + 1325 CF$UID - 1265 + 49 CF$UID - 45 + 16 CF$UID - 17 + 1326 CF$UID - 1268 + 1402 - IDEWorkspaceTabController_CBA99461-DAF4-4594-8438-4FBCFC6D29E7 + IDEWorkspaceTabController_0FE96BB2-94D6-44F4-B2EB-13242DED799C $class CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 1265 + 51 - - - {{45, 336}, {240, 646}} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 57 + 1327 CF$UID - 45 + 60 CF$UID - 45 + 48 CF$UID - 1269 + 48 CF$UID - 1302 + 1328 CF$UID - 1307 + 1380 CF$UID - 1313 + 1388 + + + CF$UID + 1394 + ANTLRTests.m $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 1270 + 1329 CF$UID - 1271 + 1330 CF$UID - 1286 + 1345 CF$UID - 1290 + 1357 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 1296 + 1374 CF$UID - 168 + 171 @@ -23838,7 +23130,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -23849,60 +23141,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 1272 + 1331 CF$UID - 1278 + 1337 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 1284 + 1343 CF$UID - 1285 + 1344 @@ -23910,20 +23202,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1273 + 1332 @@ -23931,17 +23223,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1274 + 1333 CF$UID - 1276 + 1335 @@ -23949,28 +23241,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1275 + 1334 @@ -23979,28 +23271,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1277 + 1336 @@ -24009,20 +23301,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1279 + 1338 @@ -24030,17 +23322,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1280 + 1339 CF$UID - 1282 + 1341 @@ -24048,28 +23340,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1281 + 1340 @@ -24078,28 +23370,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1283 + 1342 @@ -24108,20 +23400,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -24129,20 +23421,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -24150,7 +23442,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -24160,19 +23452,19 @@ primaryEditorContextNode CF$UID - 1287 + 1346 rootLayoutTreeNode CF$UID - 1288 + 1355 $class CF$UID - 120 + 123 children @@ -24184,14 +23476,14 @@ documentArchivableRepresentation CF$UID - 0 + 1347 orientation 0 parent CF$UID - 1288 + 1355 @@ -24200,58 +23492,46 @@ CF$UID 120 - children + DocumentLocation CF$UID - 1289 + 1353 - contentType - 0 - documentArchivableRepresentation + DomainIdentifier CF$UID - 0 + 107 - orientation - 0 - parent + IdentifierPath CF$UID - 0 + 1348 + + IndexOfDocumentIdentifier + + CF$UID + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 1287 + 1349 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 123 + 1350 - - NS.objects - CF$UID - 1291 + 1352 @@ -24259,135 +23539,102 @@ $class CF$UID - 68 + 110 + + Identifier + + CF$UID + 1327 - NS.keys - - - CF$UID - 125 - - - NS.objects - - - CF$UID - 1292 - - $class CF$UID - 84 + 110 + + Identifier + + CF$UID + 1351 - NS.keys - - - CF$UID - 127 - - - CF$UID - 128 - - - CF$UID - 129 - - - NS.objects - - - CF$UID - 1293 - - - CF$UID - 57 - - - CF$UID - 1295 - - + ANTLRTests $class CF$UID - 112 + 110 + + Identifier + + CF$UID + 114 - NS.objects - - - CF$UID - 1294 - - $class CF$UID - 68 + 119 + + documentURL + + CF$UID + 1354 + + timestamp + + CF$UID + 0 - NS.keys - - NS.objects - $class CF$UID - 112 + 118 - NS.objects - - - CF$UID - 159 - - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/ANTLRTests/ANTLRTests.m $class CF$UID - 68 + 123 + + children + + CF$UID + 1356 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 1297 - - $class CF$UID - 88 + 115 NS.objects CF$UID - 1298 - - - CF$UID - 1300 + 1346 @@ -24395,96 +23642,92 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 126 NS.objects CF$UID - 163 - - - CF$UID - 1299 + 1358 - 203 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 128 NS.objects CF$UID - 166 - - - CF$UID - 1301 + 1359 - 115 $class CF$UID - 68 + 87 NS.keys CF$UID - 170 + 130 CF$UID - 172 + 131 CF$UID - 1233 + 132 NS.objects CF$UID - 1303 + 1360 CF$UID - 1233 + 60 CF$UID - 1304 + 1373 + + + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 1361 @@ -24492,68 +23735,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 135 CF$UID - 175 + 136 CF$UID - 176 + 137 CF$UID - 177 + 138 CF$UID - 178 + 139 CF$UID - 179 + 140 CF$UID - 180 + 141 NS.objects CF$UID - 181 + 142 CF$UID - 45 + 1327 CF$UID - 45 + 1362 CF$UID - 45 + 1327 CF$UID - 182 + 152 CF$UID - 183 + 1366 CF$UID - 183 + 1368 @@ -24561,68 +23804,114 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 1236 - - - CF$UID - 1237 - - - CF$UID - 1238 - - - CF$UID - 1239 + 146 CF$UID - 1240 + 145 CF$UID - 1241 + 147 CF$UID - 1242 + 148 NS.objects CF$UID - 1305 + 1363 CF$UID - 57 + 48 CF$UID - 1306 + 1364 CF$UID - 1247 + 1365 + + + 323970804.32803798 + {0, 344} + {344, 0} + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 1367 + + + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/ANTLRTests/ANTLRTests.m + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 1353 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 1369 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 57 + 1370 CF$UID - 1248 + 1371 CF$UID - 45 + 1372 @@ -24630,56 +23919,49 @@ $class CF$UID - 1244 + 110 + + Identifier + + CF$UID + 1327 - NSRangeCount - 0 $class CF$UID - 1246 + 110 + + Identifier + + CF$UID + 1351 - NSRangeCount - 0 $class CF$UID - 68 + 110 + + Identifier + + CF$UID + 114 - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 1308 - - $class CF$UID - 88 + 115 NS.objects CF$UID - 1309 - - - CF$UID - 1311 + 162 @@ -24687,7 +23969,7 @@ $class CF$UID - 84 + 71 NS.keys @@ -24695,162 +23977,342 @@ CF$UID 80 + + NS.objects + CF$UID - 81 + 1375 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 205 + 1376 CF$UID - 1310 + 1378 - 389 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 166 CF$UID - 1312 + 1377 - 211 + 203 $class CF$UID - 68 + 87 NS.keys CF$UID - 77 + 83 - - NS.objects - CF$UID - 1314 + 84 - - - $class - - CF$UID - 88 - NS.objects CF$UID - 1315 - - - CF$UID - 1317 + 169 CF$UID - 1319 + 1379 + 115 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 173 CF$UID - 81 + 174 + + + CF$UID + 175 NS.objects CF$UID - 53 + 1381 CF$UID - 1316 + 1382 + + + CF$UID + 174 - 629 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 177 CF$UID - 81 + 178 + + + CF$UID + 179 + + + CF$UID + 180 + + + CF$UID + 181 + + + CF$UID + 182 + + + CF$UID + 183 NS.objects CF$UID - 52 + 184 CF$UID - 1318 + 48 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 185 + + + CF$UID + 186 + + + CF$UID + 186 - 953 $class CF$UID - 84 + 71 + + NS.keys + + + CF$UID + 189 + + + CF$UID + 190 + + + CF$UID + 191 + + + CF$UID + 192 + + + CF$UID + 181 + + + CF$UID + 193 + + + CF$UID + 194 + + + CF$UID + 195 + + + CF$UID + 196 + + + CF$UID + 197 + + + NS.objects + + + CF$UID + 48 + + + CF$UID + 1383 + + + CF$UID + 1384 + + + CF$UID + 1385 + + + CF$UID + 202 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 1386 + + + CF$UID + 1387 + + + CF$UID + 48 + + + + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 71 NS.keys @@ -24858,132 +24320,259 @@ CF$UID 80 + + NS.objects + CF$UID - 81 + 1389 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 216 + 1390 CF$UID - 1320 + 1392 - 354 $class CF$UID - 68 + 87 NS.keys CF$UID - 1322 + 83 CF$UID - 41 + 84 + + NS.objects + CF$UID - 40 + 208 CF$UID - 39 + 1391 + + + 377 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 42 + 83 CF$UID - 44 + 84 NS.objects CF$UID - 1323 + 208 CF$UID - 1376 + 1393 + + + + 223 + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 80 + + NS.objects + CF$UID - 1322 + 1395 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 45 + 1396 CF$UID - 18 + 1398 CF$UID - 1377 + 1400 - IDEWorkspaceTabController_F5B531A8-A5F4-4360-9351-259E374487A2 $class CF$UID - 68 + 87 NS.keys CF$UID - 49 + 83 CF$UID - 50 + 84 + + NS.objects + CF$UID - 51 + 56 CF$UID - 52 + 1397 + + + 260 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 53 + 83 CF$UID - 54 + 84 + + NS.objects + CF$UID 55 + + CF$UID + 1399 + + + + 1313 + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + NS.objects CF$UID - 57 + 219 CF$UID - 45 + 1401 + + + + 354 + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 1325 + + + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 42 + + + CF$UID + 43 + + + CF$UID + 44 CF$UID @@ -24991,42 +24580,120 @@ CF$UID - 1324 + 1404 CF$UID - 1357 + 47 + + NS.objects + CF$UID - 1362 + 48 CF$UID - 1368 + 1404 + + + CF$UID + 1405 + + + CF$UID + 17 + + + CF$UID + 1406 + + + CF$UID + 1462 + IDEWorkspaceTabController_9D6F2215-F4FA-46B0-90C4-C0671DE09770 + {{247, 338}, {240, 646}} $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 52 + + + CF$UID + 53 + + + CF$UID + 54 + + + CF$UID + 55 + + + CF$UID + 56 + + + CF$UID + 57 + + + CF$UID + 58 + + NS.objects + CF$UID 60 CF$UID - 61 + 48 + + + CF$UID + 48 + + + CF$UID + 1407 + + + CF$UID + 1440 + + + CF$UID + 1448 + + + CF$UID + 1454 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID 62 @@ -25047,40 +24714,52 @@ CF$UID 66 + + CF$UID + 67 + + + CF$UID + 68 + + + CF$UID + 69 + NS.objects CF$UID - 1325 + 1408 CF$UID - 1326 + 1409 CF$UID - 1341 + 1424 CF$UID - 1345 + 1428 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 1351 + 1434 CF$UID - 168 + 171 @@ -25088,7 +24767,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -25099,60 +24778,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 1327 + 1410 CF$UID - 1333 + 1416 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 1339 + 1422 CF$UID - 1340 + 1423 @@ -25160,20 +24839,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1328 + 1411 @@ -25181,17 +24860,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1329 + 1412 CF$UID - 1331 + 1414 @@ -25199,28 +24878,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1330 + 1413 @@ -25229,28 +24908,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1332 + 1415 @@ -25259,20 +24938,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1334 + 1417 @@ -25280,17 +24959,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1335 + 1418 CF$UID - 1337 + 1420 @@ -25298,28 +24977,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1336 + 1419 @@ -25328,28 +25007,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1338 + 1421 @@ -25358,20 +25037,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -25379,20 +25058,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -25400,7 +25079,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -25410,19 +25089,19 @@ primaryEditorContextNode CF$UID - 1342 + 1425 rootLayoutTreeNode CF$UID - 1343 + 1426 $class CF$UID - 120 + 123 children @@ -25441,19 +25120,19 @@ parent CF$UID - 1343 + 1426 $class CF$UID - 120 + 123 children CF$UID - 1344 + 1427 contentType 0 @@ -25474,13 +25153,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1342 + 1425 @@ -25488,20 +25167,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 1346 + 1429 @@ -25509,20 +25188,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 1347 + 1430 @@ -25530,36 +25209,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 1348 + 1431 CF$UID - 57 + 60 CF$UID - 1350 + 1433 @@ -25567,13 +25246,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1349 + 1432 @@ -25581,7 +25260,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -25592,13 +25271,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -25606,20 +25285,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1352 + 1435 @@ -25627,17 +25306,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1353 + 1436 CF$UID - 1355 + 1438 @@ -25645,28 +25324,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 1354 + 1437 @@ -25675,28 +25354,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 1356 + 1439 @@ -25705,36 +25384,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 172 + 174 CF$UID - 1233 + 175 NS.objects CF$UID - 1358 + 1441 CF$UID - 1233 + 1442 CF$UID - 1359 + 174 @@ -25742,68 +25421,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -25811,68 +25490,92 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 1236 + 189 CF$UID - 1237 + 190 CF$UID - 1238 + 191 CF$UID - 1239 + 192 CF$UID - 1240 + 181 CF$UID - 1241 + 193 CF$UID - 1242 + 194 + + + CF$UID + 195 + + + CF$UID + 196 + + + CF$UID + 197 NS.objects CF$UID - 1360 + 48 CF$UID - 57 + 1443 CF$UID - 1361 + 1444 CF$UID - 1247 + 1445 CF$UID - 57 + 202 CF$UID - 1248 + 48 CF$UID - 45 + 48 + + + CF$UID + 1446 + + + CF$UID + 1447 + + + CF$UID + 48 @@ -25880,38 +25583,65 @@ $class CF$UID - 1244 + 199 - NSRangeCount - 0 + NS.objects + $class CF$UID - 1246 + 199 - NSRangeCount - 0 + NS.objects + $class CF$UID - 68 + 199 + + NS.objects + + + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1363 + 1449 @@ -25919,17 +25649,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1364 + 1450 CF$UID - 1366 + 1452 @@ -25937,28 +25667,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 1365 + 1451 @@ -25967,28 +25697,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 1367 + 1453 @@ -25997,20 +25727,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1369 + 1455 @@ -26018,21 +25748,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1370 + 1456 CF$UID - 1372 + 1458 CF$UID - 1374 + 1460 @@ -26040,104 +25770,103 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 1371 + 1457 - 630 + 277 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 1373 + 1459 - 952 + 810 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 1375 + 1461 354 - {{182, 359}, {240, 646}} $class CF$UID - 112 + 115 NS.objects CF$UID - 1322 + 1404 @@ -26145,131 +25874,131 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 1379 + 1464 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 1379 + 1464 CF$UID - 1380 + 1465 CF$UID - 19 + 18 CF$UID - 1381 + 1466 CF$UID - 1437 + 1529 - IDEWorkspaceTabController_06062238-A35F-4397-A2EB-12BF21080894 - {{35, 336}, {240, 646}} + IDEWorkspaceTabController_DD4A7D9F-63E4-467E-A0FD-C95A8591EAC6 + {{245, 338}, {240, 646}} $class CF$UID - 68 + 71 NS.keys CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 1382 + 1467 CF$UID - 1415 + 1500 CF$UID - 1423 + 1515 CF$UID - 1429 + 1521 @@ -26277,76 +26006,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 1383 + 1468 CF$UID - 1384 + 1469 CF$UID - 1399 + 1484 CF$UID - 1403 + 1488 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 1409 + 1494 CF$UID - 168 + 171 @@ -26354,7 +26083,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -26365,60 +26094,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 1385 + 1470 CF$UID - 1391 + 1476 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 1397 + 1482 CF$UID - 1398 + 1483 @@ -26426,20 +26155,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1386 + 1471 @@ -26447,17 +26176,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1387 + 1472 CF$UID - 1389 + 1474 @@ -26465,28 +26194,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1388 + 1473 @@ -26495,28 +26224,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1390 + 1475 @@ -26525,20 +26254,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1392 + 1477 @@ -26546,17 +26275,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1393 + 1478 CF$UID - 1395 + 1480 @@ -26564,28 +26293,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1394 + 1479 @@ -26594,28 +26323,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1396 + 1481 @@ -26624,20 +26353,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -26645,20 +26374,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -26666,7 +26395,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -26676,19 +26405,19 @@ primaryEditorContextNode CF$UID - 1400 + 1485 rootLayoutTreeNode CF$UID - 1401 + 1486 $class CF$UID - 120 + 123 children @@ -26707,19 +26436,19 @@ parent CF$UID - 1401 + 1486 $class CF$UID - 120 + 123 children CF$UID - 1402 + 1487 contentType 0 @@ -26740,13 +26469,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1400 + 1485 @@ -26754,20 +26483,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 1404 + 1489 @@ -26775,20 +26504,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 1405 + 1490 @@ -26796,36 +26525,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 1406 + 1491 CF$UID - 57 + 60 CF$UID - 1408 + 1493 @@ -26833,13 +26562,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1407 + 1492 @@ -26847,7 +26576,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -26858,13 +26587,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -26872,20 +26601,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1410 + 1495 @@ -26893,17 +26622,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1411 + 1496 CF$UID - 1413 + 1498 @@ -26911,28 +26640,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 1412 + 1497 @@ -26941,28 +26670,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 1414 + 1499 @@ -26971,105 +26700,106 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 171 + 1501 CF$UID - 172 + 175 NS.objects CF$UID - 1416 + 1502 CF$UID - 1417 + 1503 CF$UID - 171 + 1501 + Xcode.IDEKit.Navigator.BatchFind $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -27077,158 +26807,116 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 186 - - - CF$UID - 187 - - - CF$UID - 188 - - - CF$UID - 189 + 1504 CF$UID - 178 + 1505 CF$UID - 190 + 1506 CF$UID - 191 + 1507 CF$UID - 192 + 1508 CF$UID - 193 + 1509 CF$UID - 194 + 1510 NS.objects CF$UID - 45 - - - CF$UID - 1418 - - - CF$UID - 1419 - - - CF$UID - 1420 + 1511 CF$UID - 199 + 60 CF$UID - 45 + 1512 CF$UID - 45 + 1513 CF$UID - 1421 + 60 CF$UID - 1422 + 1514 CF$UID - 45 + 48 + IDEBatchFindNavigatorCollapsedGroups + IDEBatchFindNavigatorFindMode + IDEBatchFindNavigatorSelectedRowIndexes + IDEBatchFindNavigatorReplaceString + IDEBatchFindNavigatorScrollPosition + IDEBatchFindNavigatorFindString + IDEBatchFindNavigatorShowsOptions $class CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 + 1174 - NS.objects - + NSRangeCount + 0 $class CF$UID - 88 + 1176 - NS.objects - + NSRangeCount + 0 + id<ANTLRBaseTree> + createTree $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1424 + 1516 @@ -27236,17 +26924,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1425 + 1517 CF$UID - 1427 + 1519 @@ -27254,28 +26942,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 1426 + 1518 @@ -27284,28 +26972,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 1428 + 1520 @@ -27314,20 +27002,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1430 + 1522 @@ -27335,21 +27023,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1431 + 1523 CF$UID - 1433 + 1525 CF$UID - 1435 + 1527 @@ -27357,88 +27045,88 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 1432 + 1524 - 277 + 629 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 1434 + 1526 - 810 + 953 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 1436 + 1528 @@ -27447,13 +27135,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1379 + 1464 @@ -27461,21 +27149,21 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 1531 CF$UID - 40 + 44 CF$UID - 41 + 43 CF$UID @@ -27483,195 +27171,185 @@ CF$UID - 1439 + 45 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 1532 CF$UID - 1439 + 1585 CF$UID - 1440 + 1531 CF$UID - 20 + 48 CF$UID - 1441 + 19 CF$UID - 1521 + 1586 - IDEWorkspaceTabController_E89174C7-252B-475D-9A02-F71427918439 - {{184, 382}, {600, 646}} + IDEWorkspaceTabController_CBA99461-DAF4-4594-8438-4FBCFC6D29E7 $class CF$UID - 68 + 71 NS.keys CF$UID - 48 - - - CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 1442 - - - CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 1443 + 1533 CF$UID - 1499 + 1566 CF$UID - 1507 + 1571 CF$UID - 1513 + 1577 - NSObject.h $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 1444 + 1534 CF$UID - 1445 + 1535 CF$UID - 1460 + 1550 CF$UID - 1475 + 1554 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 1493 + 1560 CF$UID - 168 + 171 @@ -27679,7 +27357,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -27690,60 +27368,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 1446 + 1536 CF$UID - 1452 + 1542 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 1458 + 1548 CF$UID - 1459 + 1549 @@ -27751,20 +27429,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1447 + 1537 @@ -27772,17 +27450,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1448 + 1538 CF$UID - 1450 + 1540 @@ -27790,28 +27468,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1449 + 1539 @@ -27820,28 +27498,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1451 + 1541 @@ -27850,20 +27528,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1453 + 1543 @@ -27871,17 +27549,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1454 + 1544 CF$UID - 1456 + 1546 @@ -27889,28 +27567,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 1455 + 1545 @@ -27919,28 +27597,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 1457 + 1547 @@ -27949,20 +27627,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -27970,20 +27648,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -27991,7 +27669,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -28001,19 +27679,19 @@ primaryEditorContextNode CF$UID - 1461 + 1551 rootLayoutTreeNode CF$UID - 1473 + 1552 $class CF$UID - 120 + 123 children @@ -28025,67 +27703,53 @@ documentArchivableRepresentation CF$UID - 1462 + 0 orientation 0 parent CF$UID - 1473 + 1552 $class CF$UID - 117 - - DocumentLocation - - CF$UID - 1471 + 123 - DomainIdentifier + children CF$UID - 1463 + 1553 - IdentifierPath + contentType + 0 + documentArchivableRepresentation CF$UID - 1464 + 0 - IndexOfDocumentIdentifier + orientation + 0 + parent CF$UID - 57 + 0 - Xcode.IDENavigableItemDomain.FrameworkFilePath $class CF$UID - 112 + 115 NS.objects CF$UID - 1465 - - - CF$UID - 1466 - - - CF$UID - 1468 - - - CF$UID - 1469 + 1551 @@ -28093,68 +27757,105 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 1442 + 71 + NS.keys + + + CF$UID + 126 + + + NS.objects + + + CF$UID + 1555 + + $class CF$UID - 107 - - Identifier - - CF$UID - 1467 + 71 + NS.keys + + + CF$UID + 128 + + + NS.objects + + + CF$UID + 1556 + + - Foundation.framework $class CF$UID - 107 - - Identifier - - CF$UID - 376 + 87 + NS.keys + + + CF$UID + 130 + + + CF$UID + 131 + + + CF$UID + 132 + + + NS.objects + + + CF$UID + 1557 + + + CF$UID + 60 + + + CF$UID + 1559 + + $class CF$UID - 107 - - Identifier - - CF$UID - 1470 + 115 + NS.objects + + + CF$UID + 1558 + + - MacOSX10.6 $class CF$UID - 116 - - documentURL - - CF$UID - 1472 - - timestamp - - CF$UID - 0 + 71 + NS.keys + + NS.objects + $class @@ -28162,46 +27863,50 @@ CF$UID 115 - NS.string - file://localhost/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSObject.h + NS.objects + + + CF$UID + 162 + + $class CF$UID - 120 - - children - - CF$UID - 1474 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 + 71 + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 1561 + + $class CF$UID - 112 + 91 NS.objects CF$UID - 1461 + 1562 + + + CF$UID + 1564 @@ -28209,92 +27914,96 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 123 + 83 + + + CF$UID + 84 NS.objects CF$UID - 1476 + 166 + + + CF$UID + 1563 + 203 $class CF$UID - 68 + 87 NS.keys CF$UID - 125 + 83 + + + CF$UID + 84 NS.objects CF$UID - 1477 + 169 + + + CF$UID + 1565 + 115 $class CF$UID - 84 + 71 NS.keys CF$UID - 127 + 173 CF$UID - 128 + 1501 CF$UID - 129 + 175 NS.objects CF$UID - 1478 - - - CF$UID - 57 + 1567 CF$UID - 1492 + 1568 - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 1479 + 1501 @@ -28302,68 +28011,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 132 + 177 CF$UID - 133 + 178 CF$UID - 134 + 179 CF$UID - 135 + 180 CF$UID - 136 + 181 CF$UID - 137 + 182 CF$UID - 138 + 183 NS.objects CF$UID - 1442 + 184 CF$UID - 1480 + 48 CF$UID - 1487 + 48 CF$UID - 1442 + 48 CF$UID - 270 + 185 CF$UID - 1490 + 186 CF$UID - 157 + 186 @@ -28371,217 +28080,107 @@ $class CF$UID - 117 - - DocumentLocation - - CF$UID - 1486 - - DomainIdentifier - - CF$UID - 1463 - - IdentifierPath - - CF$UID - 1481 - - IndexOfDocumentIdentifier - - CF$UID - 57 - - - - $class - - CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 1482 - - - CF$UID - 1483 + 1504 CF$UID - 1484 + 1505 CF$UID - 1485 + 1506 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 1442 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 1467 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 376 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 1470 - - - - $class - - CF$UID - 116 - - documentURL - - CF$UID - 1472 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 147 + 1507 CF$UID - 146 + 1508 CF$UID - 148 + 1509 CF$UID - 149 + 1510 NS.objects CF$UID - 1488 + 1569 CF$UID - 45 + 60 CF$UID - 1489 + 1570 CF$UID - 349 + 1513 + + + CF$UID + 60 + + + CF$UID + 1514 + + + CF$UID + 48 - 324417838.38949198 - {0, 935} $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1491 + 1174 + NSRangeCount + 0 - file://localhost/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSObject.h $class CF$UID - 112 + 1176 - NS.objects - - - CF$UID - 159 - - + NSRangeCount + 0 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1494 + 1572 @@ -28589,17 +28188,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1495 + 1573 CF$UID - 1497 + 1575 @@ -28607,96 +28206,102 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 208 CF$UID - 1496 + 1574 - 203 + 389 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 208 CF$UID - 1498 + 1576 - 115 + 211 $class CF$UID - 68 + 71 NS.keys CF$UID - 170 - - - CF$UID - 171 + 80 + + NS.objects + CF$UID - 172 + 1578 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 1500 + 1579 CF$UID - 1501 + 1581 CF$UID - 171 + 1583 @@ -28704,68 +28309,104 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 174 - - - CF$UID - 175 + 83 CF$UID - 176 + 84 + + NS.objects + CF$UID - 177 + 56 CF$UID - 178 + 1580 + + + 629 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 179 + 83 CF$UID - 180 + 84 NS.objects CF$UID - 181 + 55 CF$UID - 45 + 1582 + + + 953 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 45 + 83 CF$UID - 45 + 84 + + NS.objects + CF$UID - 182 + 219 CF$UID - 183 + 1584 + + + 354 + {{45, 336}, {240, 646}} + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 183 + 1531 @@ -28773,92 +28414,130 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 186 + 1588 CF$UID - 187 + 44 CF$UID - 188 + 43 CF$UID - 189 + 42 CF$UID - 178 + 45 CF$UID - 190 + 47 + + NS.objects + CF$UID - 191 + 1589 CF$UID - 192 + 1642 CF$UID - 193 + 1588 CF$UID - 194 + 48 + + + CF$UID + 20 + + + CF$UID + 1643 - NS.objects + + IDEWorkspaceTabController_F5B531A8-A5F4-4360-9351-259E374487A2 + + $class + + CF$UID + 71 + + NS.keys CF$UID - 45 + 52 CF$UID - 1502 + 53 CF$UID - 1503 + 54 CF$UID - 1504 + 55 CF$UID - 199 + 56 CF$UID - 45 + 57 CF$UID - 45 + 58 + + NS.objects + CF$UID - 1505 + 60 CF$UID - 1506 + 48 CF$UID - 45 + 48 + + + CF$UID + 1590 + + + CF$UID + 1623 + + + CF$UID + 1628 + + + CF$UID + 1634 @@ -28866,35 +28545,87 @@ $class CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 + 71 + NS.keys + + + CF$UID + 62 + + + CF$UID + 63 + + + CF$UID + 64 + + + CF$UID + 65 + + + CF$UID + 66 + + + CF$UID + 67 + + + CF$UID + 68 + + + CF$UID + 69 + + NS.objects - + + + CF$UID + 1591 + + + CF$UID + 1592 + + + CF$UID + 1607 + + + CF$UID + 1611 + + + CF$UID + 48 + + + CF$UID + 60 + + + CF$UID + 1617 + + + CF$UID + 171 + + $class CF$UID - 196 + 71 - NS.objects + NS.keys - - - $class - - CF$UID - 196 - NS.objects @@ -28902,29 +28633,81 @@ $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 73 + + + CF$UID + 74 + + + CF$UID + 75 + + + CF$UID + 76 + + + CF$UID + 77 + + + CF$UID + 78 + + NS.objects - + + + CF$UID + 1593 + + + CF$UID + 1599 + + + CF$UID + 98 + + + CF$UID + 98 + + + CF$UID + 1605 + + + CF$UID + 1606 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1508 + 1594 @@ -28932,17 +28715,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1509 + 1595 CF$UID - 1511 + 1597 @@ -28950,80 +28733,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 85 CF$UID - 1510 + 1596 - 377 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 89 CF$UID - 1512 + 1598 - 223 + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 1514 + 1600 @@ -29031,21 +28814,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 1515 - - - CF$UID - 1517 + 1601 CF$UID - 1519 + 1603 @@ -29053,103 +28832,189 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 85 CF$UID - 1516 + 1602 - 586 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 89 CF$UID - 1518 + 1604 - 987 + 301 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 100 + + NS.objects + CF$UID - 81 + 101 - NS.objects + + + $class + + CF$UID + 71 + + NS.keys CF$UID - 216 + 103 + + NS.objects + CF$UID - 1520 + 60 - 354 $class CF$UID - 112 + 124 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 1608 + + rootLayoutTreeNode + + CF$UID + 1609 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 1609 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 1610 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 115 NS.objects CF$UID - 1439 + 1608 @@ -29157,322 +29022,391 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 1523 - - - CF$UID - 1524 + 126 + + NS.objects + CF$UID - 1525 + 1612 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1526 + 128 + + NS.objects + CF$UID - 1527 + 1613 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1528 + 130 CF$UID - 1529 + 131 CF$UID - 1530 + 132 + + NS.objects + CF$UID - 1531 + 1614 CF$UID - 1532 + 60 CF$UID - 1533 + 1616 - NS.objects - - - CF$UID - 1534 - + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 1537 + 1615 + + + + $class + + CF$UID + 71 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 57 + 162 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1538 + 80 + + NS.objects + CF$UID - 45 + 1618 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 1543 + 1619 CF$UID - 1615 + 1621 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1636 + 83 CF$UID - 45 + 84 + + NS.objects + CF$UID - 2450 + 166 CF$UID - 168 + 1620 - ActiveScheme - DocumentWindows - DebuggingWindowBehavior - ActiveRunDestination - MiniDebuggingConsole - DefaultEditorFrameSizeForURLs - RecentEditorDocumentURLs - DefaultEditorStatesForURLs - AppFocusInMiniDebugging - LastCompletedPersistentSchemeBasedActivityReport - BreakpointsActivated + 203 $class CF$UID - 68 + 87 NS.keys CF$UID - 1535 + 83 - - NS.objects - CF$UID - 1536 + 84 - - IDENameString - ANTLRTests - - $class - - CF$UID - 88 - NS.objects CF$UID - 22 - - - CF$UID - 23 + 169 CF$UID - 31 + 1622 + 115 $class CF$UID - 68 + 71 NS.keys CF$UID - 1539 + 173 CF$UID - 1540 + 1501 + + + CF$UID + 175 NS.objects CF$UID - 1541 + 1624 CF$UID - 1542 + 1625 + + + CF$UID + 1501 - IDEDeviceLocation - IDEDeviceArchitecture - dvtdevice-local-computer:localhost - i386 $class CF$UID - 68 + 71 NS.keys CF$UID - 1544 - - - CF$UID - 1546 + 177 CF$UID - 1547 + 178 CF$UID - 1548 + 179 CF$UID - 1549 + 180 CF$UID - 1551 + 181 CF$UID - 1553 + 182 CF$UID - 1554 + 183 + + NS.objects + CF$UID - 1555 + 184 CF$UID - 1556 + 48 CF$UID - 1557 + 48 CF$UID - 1559 + 48 CF$UID - 1561 + 185 CF$UID - 1563 + 186 CF$UID - 1565 + 186 - NS.objects + + + $class + + CF$UID + 71 + + NS.keys CF$UID - 1566 - - - CF$UID - 1571 + 1504 CF$UID - 1574 + 1505 CF$UID - 1577 + 1506 CF$UID - 1580 + 1507 CF$UID - 1583 + 1508 CF$UID - 1588 + 1509 CF$UID - 1591 + 1510 + + NS.objects + CF$UID - 1594 + 1626 CF$UID - 1597 + 60 CF$UID - 1600 + 1627 CF$UID - 1603 + 1513 CF$UID - 1606 + 60 CF$UID - 1609 + 1514 CF$UID - 1612 + 48 @@ -29480,1053 +29414,915 @@ $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1545 - - - x-xcode-log://0CBB9AA9-E42F-400E-9F34-053023A4DD9A - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 423 - - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1491 - - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 767 - - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1550 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/Simplifier.m - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1552 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/TestRewriteRuleTokenStream/TestRewriteRuleTokenStream.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1104 - - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 838 - - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 351 - - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 155 - - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1558 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1560 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/FuzzyLexer.h - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1562 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1564 - - - - $class - - CF$UID - 115 + 1174 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.m + NSRangeCount + 0 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 272 + 1176 + NSRangeCount + 0 $class CF$UID - 84 + 71 NS.keys CF$UID - 1567 + 80 + + NS.objects + CF$UID - 1568 + 1629 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 1569 + 1630 CF$UID - 1570 + 1632 - width - height - 600 - 600 $class CF$UID - 84 + 87 NS.keys CF$UID - 1567 + 83 CF$UID - 1568 + 84 NS.objects CF$UID - 1572 + 208 CF$UID - 1573 + 1631 - 600 - 600 + 389 $class CF$UID - 84 + 87 NS.keys CF$UID - 1567 + 83 CF$UID - 1568 + 84 NS.objects CF$UID - 1575 + 208 CF$UID - 1576 + 1633 - 600 - 600 + 211 $class CF$UID - 84 + 71 NS.keys CF$UID - 1567 + 80 + + NS.objects + CF$UID - 1568 + 1635 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 1578 + 1636 CF$UID - 1579 + 1638 + + + CF$UID + 1640 - 600 - 578 $class CF$UID - 84 + 87 NS.keys CF$UID - 1567 + 83 CF$UID - 1568 + 84 NS.objects CF$UID - 1581 + 56 CF$UID - 1582 + 1637 - 600 - 600 + 630 $class CF$UID - 84 + 87 NS.keys CF$UID - 1584 + 83 CF$UID - 1585 + 84 NS.objects CF$UID - 1586 + 55 CF$UID - 1587 + 1639 - width - height - 859 - 901 + 952 $class CF$UID - 84 + 87 NS.keys CF$UID - 1567 + 83 CF$UID - 1568 + 84 NS.objects CF$UID - 1589 + 219 CF$UID - 1590 + 1641 + + + + 354 + {{182, 359}, {240, 646}} + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 1588 - 600 - 600 $class CF$UID - 84 + 71 NS.keys CF$UID - 1567 + 42 CF$UID - 1568 + 43 + + + CF$UID + 44 + + + CF$UID + 45 + + + CF$UID + 1645 + + + CF$UID + 47 NS.objects CF$UID - 1592 + 48 CF$UID - 1593 + 1645 + + + CF$UID + 1646 + + + CF$UID + 21 + + + CF$UID + 1647 + + + CF$UID + 1703 - 600 - 600 + IDEWorkspaceTabController_06062238-A35F-4397-A2EB-12BF21080894 + {{35, 336}, {240, 646}} $class CF$UID - 84 + 71 NS.keys CF$UID - 1567 + 52 CF$UID - 1568 + 53 + + + CF$UID + 54 + + + CF$UID + 55 + + + CF$UID + 56 + + + CF$UID + 57 + + + CF$UID + 58 NS.objects CF$UID - 1595 + 60 CF$UID - 1596 + 48 + + + CF$UID + 48 + + + CF$UID + 1648 + + + CF$UID + 1681 + + + CF$UID + 1689 + + + CF$UID + 1695 - 600 - 600 $class CF$UID - 84 + 71 NS.keys CF$UID - 1567 + 62 CF$UID - 1568 + 63 + + + CF$UID + 64 + + + CF$UID + 65 + + + CF$UID + 66 + + + CF$UID + 67 + + + CF$UID + 68 + + + CF$UID + 69 NS.objects CF$UID - 1598 + 1649 CF$UID - 1599 + 1650 + + + CF$UID + 1665 + + + CF$UID + 1669 + + + CF$UID + 48 + + + CF$UID + 60 + + + CF$UID + 1675 + + + CF$UID + 171 - 600 - 600 $class CF$UID - 84 + 71 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 1567 + 73 CF$UID - 1568 + 74 + + + CF$UID + 75 + + + CF$UID + 76 + + + CF$UID + 77 + + + CF$UID + 78 NS.objects CF$UID - 1601 + 1651 CF$UID - 1602 + 1657 + + + CF$UID + 98 + + + CF$UID + 98 + + + CF$UID + 1663 + + + CF$UID + 1664 - 600 - 600 $class CF$UID - 84 + 71 NS.keys CF$UID - 1567 + 80 + + NS.objects + CF$UID - 1568 + 1652 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 1604 + 1653 CF$UID - 1605 + 1655 - 600 - 600 $class CF$UID - 84 + 87 NS.keys CF$UID - 1567 + 83 CF$UID - 1568 + 84 NS.objects CF$UID - 1607 + 85 CF$UID - 1608 + 1654 - 600 - 600 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 1584 + 83 CF$UID - 1585 + 84 NS.objects CF$UID - 1610 + 89 CF$UID - 1611 + 1656 - 1381 - 852 + 301 $class CF$UID - 84 + 71 NS.keys CF$UID - 1567 - - - CF$UID - 1568 + 80 NS.objects CF$UID - 1613 - - - CF$UID - 1614 + 1658 - 600 - 600 $class CF$UID - 88 + 91 NS.objects CF$UID - 1616 + 1659 CF$UID - 1618 + 1661 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1620 + 83 CF$UID - 1622 + 84 + + NS.objects + CF$UID - 1624 + 85 CF$UID - 1626 + 1660 + + + 298 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1628 + 83 CF$UID - 1630 + 84 + + NS.objects + CF$UID - 1632 + 89 CF$UID - 1634 + 1662 + 301 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1617 + 71 + NS.keys + + + CF$UID + 100 + + + NS.objects + + + CF$UID + 101 + + - x-xcode-log://F19A5CB8-78A0-4CF4-A5FE-2BEF1EE89A15 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1619 + 71 + NS.keys + + + CF$UID + 103 + + + NS.objects + + + CF$UID + 60 + + - x-xcode-log://BA37136E-2B72-41A6-A0EB-8BAAB0E8D021 $class CF$UID - 156 + 124 - NS.base + geniusEditorContextNode CF$UID 0 - NS.relative - - CF$UID - 1621 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTree.m - - $class - - CF$UID - 156 - - NS.base + primaryEditorContextNode CF$UID - 0 + 1666 - NS.relative + rootLayoutTreeNode CF$UID - 1623 + 1667 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTree.h $class CF$UID - 156 + 123 - NS.base + children CF$UID 0 - NS.relative - - CF$UID - 1625 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h - - $class - - CF$UID - 156 - - NS.base + contentType + 1 + documentArchivableRepresentation CF$UID 0 - NS.relative + orientation + 0 + parent CF$UID - 1627 + 1667 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h $class CF$UID - 156 + 123 - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1629 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeTest.m - - $class + children CF$UID - 156 + 1668 - NS.base + contentType + 0 + documentArchivableRepresentation CF$UID 0 - NS.relative - - CF$UID - 1631 - - - x-xcode-log://7D8856DE-8916-4197-8688-DF180978C5CE - - $class - - CF$UID - 156 - - NS.base + orientation + 0 + parent CF$UID 0 - NS.relative - - CF$UID - 1633 - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.m $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1635 + 115 + NS.objects + + + CF$UID + 1666 + + - x-xcode-log://D4A61382-B7E4-44E8-B415-D1A5BB97A2DF $class CF$UID - 68 + 71 NS.keys CF$UID - 1637 - - - CF$UID - 1638 - - - CF$UID - 157 - - - CF$UID - 1639 - - - CF$UID - 440 + 126 NS.objects CF$UID - 1640 - - - CF$UID - 1649 - - - CF$UID - 1699 - - - CF$UID - 2363 - - - CF$UID - 2390 + 1670 - IDEQuickLookEditor.Editor - Xcode.Xcode3ProjectSupport.EditorDocument.Xcode3Project - Xcode.IDEKit.EditorDocument.DebuggerLogDocument $class CF$UID - 68 + 71 NS.keys CF$UID - 1641 + 128 NS.objects CF$UID - 1643 + 1671 @@ -30534,46 +30330,36 @@ $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1642 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/Library/Developer/Xcode/DerivedData/ANTLR-awfvqfoybjihuiaoxllmwcgxqxnm/Build/Products/Debug/Fuzzy - - - $class - - CF$UID - 68 + 87 NS.keys CF$UID - 437 + 130 + + + CF$UID + 131 + + + CF$UID + 132 NS.objects CF$UID - 1644 + 1672 + + + CF$UID + 60 + + + CF$UID + 1674 @@ -30581,13 +30367,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 1645 + 1673 @@ -30595,54 +30381,45 @@ $class CF$UID - 1648 - - IDEQuickLookPageNumber - - CF$UID - 57 + 71 - documentURL - - CF$UID - 1646 - - timestamp + NS.keys + + NS.objects + + + + $class CF$UID - 1647 + 115 - - file://localhost/Users/acondit/Library/Developer/Xcode/DerivedData/ANTLR-awfvqfoybjihuiaoxllmwcgxqxnm/Build/Products/Debug/Fuzzy - 323996585.291471 - - $classes + NS.objects - IDEQuickLookDocumentLocation - DVTDocumentLocation - NSObject + + CF$UID + 162 + - $classname - IDEQuickLookDocumentLocation $class CF$UID - 68 + 71 NS.keys CF$UID - 1650 + 80 NS.objects CF$UID - 1652 + 1676 @@ -30650,97 +30427,114 @@ $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1651 - - - - $class - - CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/ + NS.objects + + + CF$UID + 1677 + + + CF$UID + 1679 + + $class CF$UID - 68 + 87 NS.keys CF$UID - 1653 + 83 CF$UID - 1654 + 84 + + NS.objects + CF$UID - 1655 + 166 CF$UID - 1656 + 1678 + + + + 203 + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 83 CF$UID - 1657 + 84 NS.objects CF$UID - 1658 + 169 CF$UID - 1671 + 1680 + + + 115 + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1687 + 173 CF$UID - 1688 + 174 CF$UID - 1689 + 175 - - Xcode3ProjectEditorSelectedDocumentLocations - Xcode3ProjectEditor_Xcode3BuildPhasesEditor - Xcode3ProjectEditorPreviousTargetEditorClass - Xcode3ProjectEditorPreviousProjectEditorClass - Xcode3ProjectEditor.sourceList.splitview - - $class - - CF$UID - 112 - NS.objects CF$UID - 1659 + 1682 + + + CF$UID + 1683 + + + CF$UID + 174 @@ -30748,188 +30542,170 @@ $class CF$UID - 1670 - - documentURL - - CF$UID - 1660 - - selection - - CF$UID - 1662 - - timestamp - - CF$UID - 1661 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/ - 324441603.04016101 - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 1663 + 177 CF$UID - 1664 + 178 CF$UID - 1665 + 179 - - NS.objects - CF$UID - 1666 + 180 CF$UID - 1668 + 181 CF$UID - 1669 + 182 - - - Xcode3BuildPhasesEditorLocations - Target - Editor - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 1667 + 183 - - - $class - - CF$UID - 68 - - NS.keys - NS.objects - - - ANTLR - Xcode3BuildPhasesEditor - - $classes - Xcode3ProjectDocumentLocation - DVTDocumentLocation - NSObject + + CF$UID + 184 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 185 + + + CF$UID + 186 + + + CF$UID + 186 + - $classname - Xcode3ProjectDocumentLocation $class CF$UID - 68 + 71 NS.keys CF$UID - 1672 + 189 CF$UID - 1673 + 190 CF$UID - 1674 + 191 CF$UID - 1675 + 192 CF$UID - 1676 + 181 CF$UID - 1677 + 193 CF$UID - 1678 + 194 + + + CF$UID + 195 + + + CF$UID + 196 + + + CF$UID + 197 NS.objects CF$UID - 1679 + 48 CF$UID - 1680 + 1684 CF$UID - 1681 + 1685 CF$UID - 1682 + 1686 CF$UID - 1683 + 202 CF$UID - 1685 + 48 CF$UID - 1686 + 48 + + + CF$UID + 1687 + + + CF$UID + 1688 + + + CF$UID + 48 - kXcode3BuildPhasesEditorScrollPointKey - 1AE72315134E860B001C3F35 - 1AE72317134E860B001C3F35 - 1AE72314134E860B001C3F35 - Xcode3BuildPhasesEditorDisclosedNamesKey - 1AE72313134E860B001C3F35 - 1AE72316134E860B001C3F35 - {0, 826} $class CF$UID - 68 + 199 - NS.keys - NS.objects @@ -30937,10 +30713,8 @@ $class CF$UID - 68 + 199 - NS.keys - NS.objects @@ -30948,10 +30722,8 @@ $class CF$UID - 68 + 199 - NS.keys - NS.objects @@ -30959,25 +30731,8 @@ $class CF$UID - 88 - - NS.objects - - - CF$UID - 1684 - - - - Compile Sources - - $class - - CF$UID - 68 + 199 - NS.keys - NS.objects @@ -30985,52 +30740,47 @@ $class CF$UID - 68 + 91 - NS.keys - NS.objects - Xcode3BuildPhasesEditor - Xcode3ProjectInfoEditor $class CF$UID - 68 + 71 NS.keys CF$UID - 1690 + 80 NS.objects CF$UID - 1691 + 1690 - DVTSplitViewItems $class CF$UID - 88 + 91 NS.objects CF$UID - 1692 + 1691 CF$UID - 1697 + 1693 @@ -31038,1367 +30788,2550 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 83 CF$UID - 1694 + 84 NS.objects CF$UID - 1695 + 208 CF$UID - 1696 + 1692 - DVTIdentifier - DVTViewMagnitude - - 541 + 389 $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 83 CF$UID - 1694 + 84 NS.objects CF$UID - 1695 + 208 CF$UID - 1698 + 1694 - 441 + 211 $class CF$UID - 68 + 71 NS.keys CF$UID - 1700 + 80 + + NS.objects + CF$UID - 1702 + 1696 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 1704 + 1697 CF$UID - 1706 + 1699 CF$UID - 1708 + 1701 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1710 + 83 CF$UID - 1712 + 84 + + NS.objects + CF$UID - 1714 + 56 CF$UID - 1716 + 1698 + + + 277 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1718 + 83 CF$UID - 1720 + 84 + + NS.objects + CF$UID - 1722 + 55 CF$UID - 1724 + 1700 + + + 810 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1726 + 83 CF$UID - 1728 + 84 + + NS.objects + CF$UID - 1551 + 219 CF$UID - 1730 + 1702 + + + 354 + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 1732 + 1645 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1734 + 472 CF$UID - 1736 + 473 CF$UID - 1738 + 474 CF$UID - 1740 + 475 CF$UID - 1742 + 1705 CF$UID - 1744 + 477 + + NS.objects + CF$UID - 1746 + 48 CF$UID - 1748 + 1705 CF$UID - 1750 + 1706 CF$UID - 1752 + 22 CF$UID - 1754 + 1707 CF$UID - 1756 + 1786 + + + IDEWorkspaceTabController_A8605124-DF69-4621-B7EB-52B137DAB6ED + {{226, 149}, {1443, 833}} + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1758 + 480 CF$UID - 1760 + 481 CF$UID - 1762 + 482 CF$UID - 1764 + 483 CF$UID - 1766 + 484 CF$UID - 1768 + 485 CF$UID - 1770 + 486 CF$UID - 1772 + 487 + + NS.objects + CF$UID - 1774 + 1708 CF$UID - 1776 + 60 CF$UID - 1778 + 48 CF$UID - 1780 + 48 CF$UID - 1782 + 1709 CF$UID - 1784 + 1765 CF$UID - 1786 + 1772 CF$UID - 1788 + 1778 + + + ANTLRLexerRuleReturnScope.m + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1790 + 490 CF$UID - 1792 + 491 CF$UID - 1794 + 492 CF$UID - 1796 + 493 CF$UID - 1798 + 494 CF$UID - 1800 + 495 CF$UID - 1802 + 496 CF$UID - 1804 + 497 + + NS.objects + CF$UID - 1806 + 1710 CF$UID - 1808 + 1711 CF$UID - 1810 + 1726 CF$UID - 1812 + 1739 CF$UID - 1814 + 48 CF$UID - 1816 + 60 CF$UID - 1818 + 1759 CF$UID - 1820 + 171 + + + + $class + + CF$UID + 71 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1822 + 500 CF$UID - 1824 + 501 CF$UID - 1826 + 502 CF$UID - 1828 + 503 CF$UID - 1830 + 504 CF$UID - 1832 + 505 + + NS.objects + CF$UID - 1834 + 1712 CF$UID - 1836 + 1718 CF$UID - 1838 + 98 CF$UID - 1840 + 98 CF$UID - 1842 + 1724 CF$UID - 1844 + 1725 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1846 + 507 + + NS.objects + CF$UID - 1848 + 1713 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 1850 + 1714 CF$UID - 1852 + 1716 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1854 + 510 CF$UID - 1856 + 511 + + NS.objects + CF$UID - 1858 + 512 CF$UID - 1860 + 1715 + + + 717 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1862 + 510 CF$UID - 1864 + 511 + + NS.objects + CF$UID - 1866 + 515 CF$UID - 1868 + 1717 + + + 725 + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1870 + 507 + + NS.objects + CF$UID - 1872 + 1719 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 1874 + 1720 CF$UID - 1876 + 1722 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1878 + 510 CF$UID - 1880 + 511 + + NS.objects + CF$UID - 1882 + 512 CF$UID - 1884 + 1721 + + + 717 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1886 + 510 CF$UID - 1888 + 511 + + NS.objects + CF$UID - 1890 + 515 CF$UID - 1892 + 1723 + + + 725 + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1894 + 524 + + NS.objects + CF$UID - 1896 + 101 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1898 + 526 + + NS.objects + CF$UID - 1900 + 60 + + + + $class + + CF$UID + 124 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 1727 + + rootLayoutTreeNode + + CF$UID + 1737 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 1728 + + orientation + 0 + parent + + CF$UID + 1737 + + + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 1735 + + DomainIdentifier + + CF$UID + 530 + + IdentifierPath + + CF$UID + 1729 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 1902 + 1730 CF$UID - 1904 + 1732 CF$UID - 1906 + 1733 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 1731 + + + ANTLRLexerRuleReturnScope.m + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 535 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 1734 + + + ANTLR + + $class + + CF$UID + 119 + + documentURL + + CF$UID + 1736 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRLexerRuleReturnScope.m + + + $class + + CF$UID + 123 + + children + + CF$UID + 1738 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 1908 + 1727 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1910 + 543 + + NS.objects + CF$UID - 1563 + 1740 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 1912 + 545 + + NS.objects + CF$UID - 1914 + 1741 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 1916 + 547 CF$UID - 1918 + 548 CF$UID - 1920 + 549 + + NS.objects + CF$UID - 1922 + 1742 CF$UID - 1924 + 60 CF$UID - 1926 + 1757 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 1928 + 1743 - NS.objects + + + $class + + CF$UID + 71 + + NS.keys CF$UID - 1930 - - - CF$UID - 1933 - - - CF$UID - 1937 + 552 CF$UID - 1941 + 553 CF$UID - 1945 + 554 CF$UID - 1949 + 555 CF$UID - 1952 + 556 CF$UID - 1955 + 557 CF$UID - 1959 + 558 + + NS.objects + CF$UID - 1963 + 1744 CF$UID - 1967 + 1745 CF$UID - 1970 + 1751 CF$UID - 1978 + 1731 CF$UID - 1982 + 574 CF$UID - 1986 + 1755 CF$UID - 1989 + 577 + + + -getStart + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 1735 + + DomainIdentifier + + CF$UID + 530 + + IdentifierPath + + CF$UID + 1746 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 1992 + 1747 CF$UID - 1995 + 1748 CF$UID - 1999 + 1749 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 1731 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 535 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 1750 + + + ANTLR + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2003 + 567 CF$UID - 2007 + 568 CF$UID - 2010 + 569 CF$UID - 2013 + 570 + + NS.objects + CF$UID - 2016 + 1752 CF$UID - 2020 + 48 CF$UID - 2024 + 1753 CF$UID - 2028 + 1754 + + + 324441055.65792698 + {78, 2018} + {1759, 0} + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 1756 + + + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRLexerRuleReturnScope.m + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 2032 + 1758 + + + {{0, 0}, {1443, 787}} + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2036 + 507 + + NS.objects + CF$UID - 2040 + 1760 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 2044 + 1761 CF$UID - 2048 + 1763 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2052 + 510 CF$UID - 2056 + 511 + + NS.objects + CF$UID - 2059 + 583 CF$UID - 2062 + 1762 + + + 203 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2066 + 510 CF$UID - 2069 + 511 + + NS.objects + CF$UID - 2073 + 586 CF$UID - 2076 + 1764 + + + 115 + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2079 + 589 CF$UID - 2082 + 591 CF$UID - 2086 + 1164 + + NS.objects + CF$UID - 2090 + 1766 CF$UID - 2094 + 1164 CF$UID - 2098 + 1769 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2101 + 593 CF$UID - 2105 + 594 CF$UID - 2109 + 595 CF$UID - 2113 + 596 CF$UID - 2117 + 597 CF$UID - 2120 + 598 CF$UID - 2123 + 599 + + NS.objects + CF$UID - 2127 + 1767 CF$UID - 2130 + 48 CF$UID - 2133 + 48 CF$UID - 2137 + 48 CF$UID - 2140 + 1768 CF$UID - 2144 + 186 CF$UID - 2148 + 186 + + + + $class + + CF$UID + 115 + + NS.objects + + + {{0, 0}, {259, 832}} + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2151 + 1166 CF$UID - 2155 + 1167 CF$UID - 2159 + 1168 CF$UID - 2162 + 1169 CF$UID - 2166 + 1170 CF$UID - 2170 + 1171 CF$UID - 2174 + 1172 + + NS.objects + CF$UID - 2177 + 1770 CF$UID - 2181 + 60 CF$UID - 2185 + 1771 CF$UID - 2189 + 622 CF$UID - 2193 + 60 CF$UID - 2197 + 1178 CF$UID - 2200 + 48 + + + + $class + + CF$UID + 1174 + + NSRangeCount + 0 + + + $class + + CF$UID + 1176 + + NSRangeCount + 0 + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2204 + 507 + + NS.objects + CF$UID - 2207 + 1773 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 2211 + 1774 CF$UID - 2214 + 1776 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2218 + 510 CF$UID - 2221 + 511 + + NS.objects + CF$UID - 2225 + 622 CF$UID - 2229 + 1775 + + + 576 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2233 + 510 CF$UID - 2237 + 511 + + NS.objects + CF$UID - 2241 + 622 CF$UID - 2245 + 1777 + + + 211 + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2249 + 507 + + NS.objects + CF$UID - 2253 + 1779 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 2256 + 1780 CF$UID - 2260 + 1782 CF$UID - 2264 + 1784 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2267 + 510 CF$UID - 2271 + 511 + + NS.objects + CF$UID - 2275 + 485 CF$UID - 2279 + 1781 + + + 260 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2283 + 510 CF$UID - 2287 + 511 + + NS.objects + CF$UID - 2291 + 484 CF$UID - 2295 + 1783 + + + 982 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2299 + 510 CF$UID - 2302 + 511 + + NS.objects + CF$UID - 2306 + 633 CF$UID - 2310 + 1785 + + + 340 + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 2314 - - - CF$UID - 2317 + 1705 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2321 + 42 CF$UID - 2325 + 43 CF$UID - 2329 + 44 CF$UID - 2333 + 45 CF$UID - 2337 + 1788 CF$UID - 2340 + 47 + + NS.objects + CF$UID - 2343 + 48 CF$UID - 2347 + 1788 CF$UID - 2351 + 1789 CF$UID - 2354 + 23 CF$UID - 2357 + 1790 CF$UID - 2359 + 1870 + IDEWorkspaceTabController_E89174C7-252B-475D-9A02-F71427918439 + {{184, 382}, {600, 646}} $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1701 + 71 + NS.keys + + + CF$UID + 51 + + + CF$UID + 52 + + + CF$UID + 53 + + + CF$UID + 54 + + + CF$UID + 55 + + + CF$UID + 56 + + + CF$UID + 57 + + + CF$UID + 58 + + + NS.objects + + + CF$UID + 1791 + + + CF$UID + 60 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 1792 + + + CF$UID + 1848 + + + CF$UID + 1856 + + + CF$UID + 1862 + + + NSObject.h $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/Main.java + NS.keys + + + CF$UID + 62 + + + CF$UID + 63 + + + CF$UID + 64 + + + CF$UID + 65 + + + CF$UID + 66 + + + CF$UID + 67 + + + CF$UID + 68 + + + CF$UID + 69 + + + NS.objects + + + CF$UID + 1793 + + + CF$UID + 1794 + + + CF$UID + 1809 + + + CF$UID + 1824 + + + CF$UID + 48 + + + CF$UID + 60 + + + CF$UID + 1842 + + + CF$UID + 171 + + $class CF$UID - 156 + 71 - NS.base + NS.keys + + NS.objects + + + + $class CF$UID - 0 + 71 - NS.relative + NS.keys + + + CF$UID + 73 + + + CF$UID + 74 + + + CF$UID + 75 + + + CF$UID + 76 + + + CF$UID + 77 + + + CF$UID + 78 + + + NS.objects + + + CF$UID + 1795 + + + CF$UID + 1801 + + + CF$UID + 98 + + + CF$UID + 98 + + + CF$UID + 1807 + + + CF$UID + 1808 + + + + + $class CF$UID - 1703 + 71 + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 1796 + + $class CF$UID - 115 + 91 - NS.string - file://localhost/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSAppleScript.h + NS.objects + + + CF$UID + 1797 + + + CF$UID + 1799 + + $class CF$UID - 156 + 87 - NS.base + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 85 + + + CF$UID + 1798 + + + + 298 + + $class CF$UID - 0 + 87 - NS.relative + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 89 + + + CF$UID + 1800 + + + + 301 + + $class CF$UID - 1705 + 71 + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 1802 + + $class CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/Simplifier.m + NS.objects + + + CF$UID + 1803 + + + CF$UID + 1805 + + $class CF$UID - 156 + 87 - NS.base + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 85 + + + CF$UID + 1804 + + + + 298 + + $class CF$UID - 0 + 87 - NS.relative + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 89 + + + CF$UID + 1806 + + + + 301 + + $class CF$UID - 1707 + 71 + NS.keys + + + CF$UID + 100 + + + NS.objects + + + CF$UID + 101 + + $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.h + NS.keys + + + CF$UID + 103 + + + NS.objects + + + CF$UID + 60 + + $class CF$UID - 156 + 124 - NS.base + geniusEditorContextNode CF$UID 0 - NS.relative + primaryEditorContextNode CF$UID - 1709 + 1810 - - - $class + rootLayoutTreeNode CF$UID - 115 + 1822 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyLexer.h $class CF$UID - 156 + 123 - NS.base + children CF$UID 0 - NS.relative + contentType + 1 + documentArchivableRepresentation CF$UID - 1711 + 1811 - - - $class + orientation + 0 + parent CF$UID - 115 + 1822 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangLexer.h $class CF$UID - 156 + 120 - NS.base + DocumentLocation CF$UID - 0 + 1820 - NS.relative + DomainIdentifier + + CF$UID + 1812 + + IdentifierPath + + CF$UID + 1813 + + IndexOfDocumentIdentifier CF$UID - 1713 + 60 + Xcode.IDENavigableItemDomain.FrameworkFilePath $class CF$UID 115 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRecognizerSharedState.h + NS.objects + + + CF$UID + 1814 + + + CF$UID + 1815 + + + CF$UID + 1817 + + + CF$UID + 1818 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 + 110 - NS.relative + Identifier CF$UID - 1715 + 1791 $class CF$UID - 115 + 110 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeIterator.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1717 - - - - $class + Identifier CF$UID - 115 + 1816 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonToken.h + Foundation.framework $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1719 + 110 - - - $class + Identifier CF$UID - 115 + 379 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRParseTree.h $class CF$UID - 156 - - NS.base - - CF$UID - 0 + 110 - NS.relative + Identifier CF$UID - 1721 + 1819 + MacOSX10.6 $class CF$UID - 115 + 119 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyParser.h - - - $class + documentURL CF$UID - 156 + 1821 - NS.base + timestamp CF$UID 0 - NS.relative - - CF$UID - 1723 - $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1725 - + file://localhost/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSObject.h $class CF$UID - 115 + 123 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.m - - - $class + children CF$UID - 156 + 1823 - NS.base + contentType + 0 + documentArchivableRepresentation CF$UID 0 - NS.relative + orientation + 0 + parent CF$UID - 1727 + 0 @@ -32407,51 +33340,92 @@ CF$UID 115 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteLexer.h + NS.objects + + + CF$UID + 1810 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1729 + 71 + NS.keys + + + CF$UID + 126 + + + NS.objects + + + CF$UID + 1825 + + $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/output1/TreeRewriteLexer.h + NS.keys + + + CF$UID + 128 + + + NS.objects + + + CF$UID + 1826 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1731 + 87 + NS.keys + + + CF$UID + 130 + + + CF$UID + 131 + + + CF$UID + 132 + + + NS.objects + + + CF$UID + 1827 + + + CF$UID + 60 + + + CF$UID + 1841 + + $class @@ -32459,40 +33433,135 @@ CF$UID 115 - NS.string - file://localhost/var/folders/g7/g7-mBaqj2RaJUU+F71D0SU+++TI/-Tmp-/objc_msgSend_disassembly_0x9881dedb.nasm + NS.objects + + + CF$UID + 1828 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1733 + 71 + NS.keys + + + CF$UID + 135 + + + CF$UID + 136 + + + CF$UID + 137 + + + CF$UID + 138 + + + CF$UID + 139 + + + CF$UID + 140 + + + CF$UID + 141 + + + NS.objects + + + CF$UID + 142 + + + CF$UID + 1791 + + + CF$UID + 1829 + + + CF$UID + 1791 + + + CF$UID + 269 + + + CF$UID + 1832 + + + CF$UID + 1834 + + $class CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m + NS.keys + + + CF$UID + 146 + + + CF$UID + 145 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 1830 + + + CF$UID + 48 + + + CF$UID + 1831 + + + CF$UID + 358 + + + 324417838.38949198 + {0, 935} $class CF$UID - 156 + 155 NS.base @@ -32502,59 +33571,35 @@ NS.relative CF$UID - 1735 - - - - $class - - CF$UID - 115 + 1833 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h + file://localhost/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSObject.h $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1737 + 120 - - - $class + DocumentLocation CF$UID - 115 + 1840 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeTest.m - - - $class + DomainIdentifier CF$UID - 156 + 1812 - NS.base + IdentifierPath CF$UID - 0 + 1835 - NS.relative + IndexOfDocumentIdentifier CF$UID - 1739 + 60 @@ -32563,129 +33608,90 @@ CF$UID 115 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/input + NS.objects + + + CF$UID + 1836 + + + CF$UID + 1837 + + + CF$UID + 1838 + + + CF$UID + 1839 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1741 + 110 - - - $class + Identifier CF$UID - 115 + 1791 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/input $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1743 + 110 - - - $class + Identifier CF$UID - 115 + 1816 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/input $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1745 + 110 - - - $class + Identifier CF$UID - 115 + 379 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m $class CF$UID - 156 - - NS.base - - CF$UID - 0 + 110 - NS.relative + Identifier CF$UID - 1747 + 1819 $class CF$UID - 115 + 119 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonToken.m - - - $class + documentURL CF$UID - 156 + 1821 - NS.base + timestamp CF$UID 0 - NS.relative - - CF$UID - 1749 - $class @@ -32693,586 +33699,1227 @@ CF$UID 115 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + NS.objects + + + CF$UID + 162 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1751 + 71 + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 1843 + + $class CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/Simplifier.h + NS.objects + + + CF$UID + 1844 + + + CF$UID + 1846 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1753 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 166 + + + CF$UID + 1845 + + + 203 $class CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRFastQueue.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1755 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/LL-star/main.m + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 169 + + + CF$UID + 1847 + + + 115 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1757 + 71 + NS.keys + + + CF$UID + 173 + + + CF$UID + 174 + + + CF$UID + 175 + + + NS.objects + + + CF$UID + 1849 + + + CF$UID + 1850 + + + CF$UID + 174 + + $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/hoistedPredicates/main.m + NS.keys + + + CF$UID + 177 + + + CF$UID + 178 + + + CF$UID + 179 + + + CF$UID + 180 + + + CF$UID + 181 + + + CF$UID + 182 + + + CF$UID + 183 + + + NS.objects + + + CF$UID + 184 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 185 + + + CF$UID + 186 + + + CF$UID + 186 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1759 + 71 + NS.keys + + + CF$UID + 189 + + + CF$UID + 190 + + + CF$UID + 191 + + + CF$UID + 192 + + + CF$UID + 181 + + + CF$UID + 193 + + + CF$UID + 194 + + + CF$UID + 195 + + + CF$UID + 196 + + + CF$UID + 197 + + + NS.objects + + + CF$UID + 48 + + + CF$UID + 1851 + + + CF$UID + 1852 + + + CF$UID + 1853 + + + CF$UID + 202 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 1854 + + + CF$UID + 1855 + + + CF$UID + 48 + + $class CF$UID - 115 + 199 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/main.m + NS.objects + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1761 + 199 + NS.objects + $class CF$UID - 115 + 199 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLookaheadStream.m + NS.objects + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1763 + 199 + NS.objects + $class CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/main.m + NS.objects + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1765 + 71 + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 1857 + + $class CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/main.m + NS.objects + + + CF$UID + 1858 + + + CF$UID + 1860 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1767 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 208 + + + CF$UID + 1859 + + + 377 $class CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/FuzzyLexer.h + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 208 + + + CF$UID + 1861 + + + 223 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1769 + 71 + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 1863 + + $class CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/main.m + NS.objects + + + CF$UID + 1864 + + + CF$UID + 1866 + + + CF$UID + 1868 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1771 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 56 + + + CF$UID + 1865 + + + 586 $class CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/combined/main.m + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 55 + + + CF$UID + 1867 + + + 987 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1773 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 219 + + + CF$UID + 1869 + + + 354 $class CF$UID 115 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/main.m + NS.objects + + + CF$UID + 1788 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1775 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/lexertest-simple/main.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1777 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.h - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1779 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseMapElement.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1781 + 71 + NS.keys + + + CF$UID + 1872 + + + CF$UID + 1873 + + + CF$UID + 1874 + + + CF$UID + 1875 + + + CF$UID + 1876 + + + CF$UID + 1877 + + + CF$UID + 1878 + + + CF$UID + 1879 + + + CF$UID + 1880 + + + CF$UID + 1881 + + + CF$UID + 1882 + + + NS.objects + + + CF$UID + 1883 + + + CF$UID + 1915 + + + CF$UID + 60 + + + CF$UID + 1916 + + + CF$UID + 48 + + + CF$UID + 1921 + + + CF$UID + 2001 + + + CF$UID + 2022 + + + CF$UID + 48 + + + CF$UID + 171 + + + CF$UID + 3028 + + + LastCompletedPersistentSchemeBasedActivityReport + DocumentWindows + DebuggingWindowBehavior + ActiveRunDestination + MiniDebuggingConsole + DefaultEditorFrameSizeForURLs + RecentEditorDocumentURLs + DefaultEditorStatesForURLs + AppFocusInMiniDebugging + BreakpointsActivated + ActiveScheme $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.m + NS.keys + + + CF$UID + 1884 + + + CF$UID + 1885 + + + CF$UID + 1886 + + + NS.objects + + + CF$UID + 1887 + + + CF$UID + 1888 + + + CF$UID + 1914 + + + IDEActivityReportTitle + IDEActivityReportCompletionSummaryStringSegments + IDEActivityReportOptions + ANTLR $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1783 + 91 + NS.objects + + + CF$UID + 1889 + + + CF$UID + 1896 + + + CF$UID + 1900 + + + CF$UID + 1905 + + $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRecognizerSharedState.m + NS.keys + + + CF$UID + 1890 + + + CF$UID + 1891 + + + CF$UID + 1892 + + + NS.objects + + + CF$UID + 1893 + + + CF$UID + 1894 + + + CF$UID + 1895 + + + IDEActivityReportStringSegmentBackSeparator + IDEActivityReportStringSegmentPriority + IDEActivityReportStringSegmentStringValue + + 2 + Build $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1785 + 71 + NS.keys + + + CF$UID + 1890 + + + CF$UID + 1891 + + + CF$UID + 1892 + + + NS.objects + + + CF$UID + 1897 + + + CF$UID + 1898 + + + CF$UID + 1899 + + + : + 4 + ANTLR $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m + NS.keys + + + CF$UID + 1890 + + + CF$UID + 1891 + + + CF$UID + 1892 + + + NS.objects + + + CF$UID + 1901 + + + CF$UID + 1902 + + + CF$UID + 1903 + + + + 1 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1787 + 1904 + NS.data + + YnBsaXN0MDDUAQIDBAUIPT5UJHRvcFgkb2JqZWN0c1gkdmVyc2lv + blkkYXJjaGl2ZXLRBgdUcm9vdIABrQkKERIcHR4mJy0zNjlVJG51 + bGzTCwwNDg8QXE5TQXR0cmlidXRlc1YkY2xhc3NYTlNTdHJpbmeA + A4AMgAJZU3VjY2VlZGVk0xMUDBUYG1pOUy5vYmplY3RzV05TLmtl + eXOiFheABoAJohkagASABYALVk5TRm9udFdOU0NvbG9y1B8gDCEi + IyQlVk5TU2l6ZVZOU05hbWVYTlNmRmxhZ3MjQCYAAAAAAACAB4AI + EQ0QXxARTHVjaWRhR3JhbmRlLUJvbGTSKCkqK1gkY2xhc3Nlc1ok + Y2xhc3NuYW1loissVk5TRm9udFhOU09iamVjdNMuLwwwMTJXTlNX + aGl0ZVxOU0NvbG9yU3BhY2VCMAAQA4AK0igpNDWiNSxXTlNDb2xv + ctIoKTc4ojgsXE5TRGljdGlvbmFyedIoKTo8ojssXxASTlNBdHRy + aWJ1dGVkU3RyaW5nXxASTlNBdHRyaWJ1dGVkU3RyaW5nEgABhqBf + EA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwASgBQ + AFcAZABrAHQAdgB4AHoAhACLAJYAngChAKMApQCoAKoArACuALUA + vQDGAM0A1ADdAOYA6ADqAO0BAQEGAQ8BGgEdASQBLQE0ATwBSQFM + AU4BUAFVAVgBYAFlAWgBdQF6AX0BkgGnAawAAAAAAAACAQAAAAAA + AAA/AAAAAAAAAAAAAAAAAAABvg== + - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrBuffer.m + $classes + + NSMutableData + NSData + NSObject + + $classname + NSMutableData $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1789 + 71 + NS.keys + + + CF$UID + 1892 + + + CF$UID + 1906 + + + CF$UID + 1891 + + + CF$UID + 1907 + + + CF$UID + 1908 + + + CF$UID + 1909 + + + NS.objects + + + CF$UID + 1910 + + + CF$UID + 98 + + + CF$UID + 1911 + + + CF$UID + 98 + + + CF$UID + 98 + + + CF$UID + 1912 + + + IDEActivityReportStringSegmentDateStyle + IDEActivityReportStringSegmentType + IDEActivityReportStringSegmentTimeStyle + IDEActivityReportStringSegmentDate + Today at 7:27 PM + 3 $class CF$UID - 115 + 1913 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/SymbolTableLexer.h + NS.time + 324440863.47144002 - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1791 - + $classes + + NSDate + NSObject + + $classname + NSDate + 106 $class CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDoubleKeyMap.m + NS.objects + + + CF$UID + 13 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1793 + 71 + NS.keys + + + CF$UID + 1917 + + + CF$UID + 1918 + + + NS.objects + + + CF$UID + 1919 + + + CF$UID + 1920 + + + IDEDeviceLocation + IDEDeviceArchitecture + dvtdevice-local-computer:localhost + i386 $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeNodeStream.h + NS.keys + + + CF$UID + 1922 + + + CF$UID + 1924 + + + CF$UID + 1925 + + + CF$UID + 1926 + + + CF$UID + 1927 + + + CF$UID + 1929 + + + CF$UID + 1931 + + + CF$UID + 1932 + + + CF$UID + 1933 + + + CF$UID + 1934 + + + CF$UID + 1935 + + + CF$UID + 1937 + + + CF$UID + 1938 + + + CF$UID + 1940 + + + CF$UID + 1942 + + + CF$UID + 1943 + + + CF$UID + 1944 + + + NS.objects + + + CF$UID + 1946 + + + CF$UID + 1951 + + + CF$UID + 1954 + + + CF$UID + 1957 + + + CF$UID + 1960 + + + CF$UID + 1963 + + + CF$UID + 1968 + + + CF$UID + 1971 + + + CF$UID + 1974 + + + CF$UID + 1977 + + + CF$UID + 1980 + + + CF$UID + 1983 + + + CF$UID + 1986 + + + CF$UID + 1989 + + + CF$UID + 1992 + + + CF$UID + 1995 + + + CF$UID + 1998 + + $class CF$UID - 156 + 155 NS.base @@ -33282,23 +34929,15 @@ NS.relative CF$UID - 1795 - - - - $class - - CF$UID - 115 + 1923 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.m + x-xcode-log://0CBB9AA9-E42F-400E-9F34-053023A4DD9A $class CF$UID - 156 + 155 NS.base @@ -33308,23 +34947,14 @@ NS.relative CF$UID - 1797 - - - - $class - - CF$UID - 115 + 426 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.h $class CF$UID - 156 + 155 NS.base @@ -33334,23 +34964,14 @@ NS.relative CF$UID - 1799 - - - - $class - - CF$UID - 115 + 1833 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/TreeRewrite.g $class CF$UID - 156 + 155 NS.base @@ -33360,23 +34981,14 @@ NS.relative CF$UID - 1801 - - - - $class - - CF$UID - 115 + 929 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.m $class CF$UID - 156 + 155 NS.base @@ -33386,23 +34998,15 @@ NS.relative CF$UID - 1803 + 1928 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/Simplifier.m $class CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.m - - - $class - - CF$UID - 156 + 155 NS.base @@ -33412,23 +35016,23 @@ NS.relative CF$UID - 1805 + 1930 $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/output + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m $class CF$UID - 156 + 155 NS.base @@ -33438,23 +35042,14 @@ NS.relative CF$UID - 1807 - - - - $class - - CF$UID - 115 + 1367 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTree.m $class CF$UID - 156 + 155 NS.base @@ -33464,23 +35059,14 @@ NS.relative CF$UID - 1809 - - - - $class - - CF$UID - 115 + 1011 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRInputStream.m $class CF$UID - 156 + 155 NS.base @@ -33490,23 +35076,14 @@ NS.relative CF$UID - 1811 - - - - $class - - CF$UID - 115 + 360 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreePatternParser.h $class CF$UID - 156 + 155 NS.base @@ -33516,23 +35093,14 @@ NS.relative CF$UID - 1813 - - - - $class - - CF$UID - 115 + 154 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.h $class CF$UID - 156 + 155 NS.base @@ -33542,23 +35110,15 @@ NS.relative CF$UID - 1815 - - - - $class - - CF$UID - 115 + 1936 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrStack.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h $class CF$UID - 156 + 155 NS.base @@ -33568,23 +35128,14 @@ NS.relative CF$UID - 1817 - - - - $class - - CF$UID - 115 + 1736 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleElementStream.h $class CF$UID - 156 + 155 NS.base @@ -33594,23 +35145,15 @@ NS.relative CF$UID - 1819 - - - - $class - - CF$UID - 115 + 1939 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/FuzzyLexer.h $class CF$UID - 156 + 155 NS.base @@ -33620,23 +35163,15 @@ NS.relative CF$UID - 1821 - - - - $class - - CF$UID - 115 + 1941 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTokenStream.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h $class CF$UID - 156 + 155 NS.base @@ -33646,23 +35181,14 @@ NS.relative CF$UID - 1823 - - - - $class - - CF$UID - 115 + 539 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.h $class CF$UID - 156 + 155 NS.base @@ -33672,23 +35198,14 @@ NS.relative CF$UID - 1825 - - - - $class - - CF$UID - 115 + 271 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRParseTree.m $class CF$UID - 156 + 155 NS.base @@ -33698,205 +35215,604 @@ NS.relative CF$UID - 1827 + 1945 $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1829 - + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.h $class CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUniqueIDMap.m + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1949 + + + CF$UID + 1950 + + + width + height + 600 + 600 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1831 + 87 + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1952 + + + CF$UID + 1953 + + + 600 + 600 $class CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.h + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1955 + + + CF$UID + 1956 + + + 600 + 600 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1833 + 87 + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1958 + + + CF$UID + 1959 + + + 600 + 578 $class CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1961 + + + CF$UID + 1962 + + + 600 + 600 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1835 + 87 + NS.keys + + + CF$UID + 1964 + + + CF$UID + 1965 + + + NS.objects + + + CF$UID + 1966 + + + CF$UID + 1967 + + + width + height + 1095 + 720 $class CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeVisitor.m - + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1969 + + + CF$UID + 1970 + + + + 600 + 600 $class CF$UID - 156 - - NS.base - - CF$UID - 0 + 87 - NS.relative + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1972 + + + CF$UID + 1973 + + + + 600 + 600 + + $class CF$UID - 1837 + 87 + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1975 + + + CF$UID + 1976 + + + 600 + 600 $class CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleNodeStream.m + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1978 + + + CF$UID + 1979 + + + 600 + 600 $class CF$UID - 156 + 87 - NS.base + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1981 + + + CF$UID + 1982 + + + + 600 + 600 + + $class CF$UID - 0 + 87 - NS.relative + NS.keys + + + CF$UID + 1964 + + + CF$UID + 1965 + + + NS.objects + + + CF$UID + 1984 + + + CF$UID + 1985 + + + + 1443 + 787 + + $class CF$UID - 1839 + 87 + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1987 + + + CF$UID + 1988 + + + 600 + 600 $class CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeWizard.m + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1990 + + + CF$UID + 1991 + + + 600 + 600 $class CF$UID - 156 + 87 - NS.base + NS.keys + + + CF$UID + 1964 + + + CF$UID + 1965 + + + NS.objects + + + CF$UID + 1993 + + + CF$UID + 1994 + + + + 1127 + 717 + + $class CF$UID - 0 + 87 - NS.relative + NS.keys + + + CF$UID + 1947 + + + CF$UID + 1948 + + + NS.objects + + + CF$UID + 1996 + + + CF$UID + 1997 + + + + 600 + 600 + + $class CF$UID - 1841 + 87 + NS.keys + + + CF$UID + 1964 + + + CF$UID + 1965 + + + NS.objects + + + CF$UID + 1999 + + + CF$UID + 2000 + + + 899 + 859 $class CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCWalker.h + NS.objects + + + CF$UID + 2002 + + + CF$UID + 2004 + + + CF$UID + 2006 + + + CF$UID + 2008 + + + CF$UID + 2010 + + + CF$UID + 2012 + + + CF$UID + 2014 + + + CF$UID + 2016 + + + CF$UID + 2018 + + + CF$UID + 2020 + + $class CF$UID - 156 + 155 NS.base @@ -33906,23 +35822,15 @@ NS.relative CF$UID - 1843 - - - - $class - - CF$UID - 115 + 2003 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.h + x-xcode-log://128D3AC5-F4C6-4508-8BEA-E26CF7377619 $class CF$UID - 156 + 155 NS.base @@ -33932,23 +35840,15 @@ NS.relative CF$UID - 1845 - - - - $class - - CF$UID - 115 + 2005 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRLexerRuleReturnScope.m $class CF$UID - 156 + 155 NS.base @@ -33958,23 +35858,15 @@ NS.relative CF$UID - 1847 + 2007 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRLexerRuleReturnScope.h $class CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.h - - - $class - - CF$UID - 156 + 155 NS.base @@ -33984,23 +35876,15 @@ NS.relative CF$UID - 1849 - - - - $class - - CF$UID - 115 + 2009 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.h + x-xcode-log://DF871C4F-2A91-4770-B164-12F2B22E77CB $class CF$UID - 156 + 155 NS.base @@ -34010,23 +35894,15 @@ NS.relative CF$UID - 1851 - - - - $class - - CF$UID - 115 + 2011 - NS.string - file://localhost/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSObject.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeRewriter.m $class CF$UID - 156 + 155 NS.base @@ -34036,23 +35912,15 @@ NS.relative CF$UID - 1853 - - - - $class - - CF$UID - 115 + 2013 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTree.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m $class CF$UID - 156 + 155 NS.base @@ -34062,23 +35930,15 @@ NS.relative CF$UID - 1855 + 2015 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.m $class CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/sets/ANTLRBitSetTest.m - - - $class - - CF$UID - 156 + 155 NS.base @@ -34088,23 +35948,15 @@ NS.relative CF$UID - 1857 - - - - $class - - CF$UID - 115 + 2017 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.h $class CF$UID - 156 + 155 NS.base @@ -34114,23 +35966,15 @@ NS.relative CF$UID - 1859 - - - - $class - - CF$UID - 115 + 2019 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h + x-xcode-log://CD03766F-8B5F-414D-84B4-BECC59F190F5 $class CF$UID - 156 + 155 NS.base @@ -34140,23 +35984,92 @@ NS.relative CF$UID - 1861 + 2021 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.m $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.h + NS.keys + + + CF$UID + 2023 + + + CF$UID + 2024 + + + CF$UID + 142 + + + CF$UID + 2025 + + + CF$UID + 434 + + + NS.objects + + + CF$UID + 2026 + + + CF$UID + 2035 + + + CF$UID + 2288 + + + CF$UID + 2943 + + + CF$UID + 2961 + + + + IDEQuickLookEditor.Editor + Xcode.Xcode3ProjectSupport.EditorDocument.Xcode3Project + Xcode.IDEKit.EditorDocument.DebuggerLogDocument + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 2027 + + + NS.objects + + + CF$UID + 2029 + + $class CF$UID - 156 + 155 NS.base @@ -34166,34 +36079,38 @@ NS.relative CF$UID - 1863 + 2028 $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRNodeMapElement.h + file://localhost/Users/acondit/Library/Developer/Xcode/DerivedData/ANTLR-awfvqfoybjihuiaoxllmwcgxqxnm/Build/Products/Debug/Fuzzy $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1865 + 71 + NS.keys + + + CF$UID + 436 + + + NS.objects + + + CF$UID + 2030 + + $class @@ -34201,66 +36118,74 @@ CF$UID 115 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseRecognizer.m + NS.objects + + + CF$UID + 2031 + + $class CF$UID - 156 + 2034 - NS.base + IDEQuickLookPageNumber CF$UID - 0 + 60 - NS.relative + documentURL CF$UID - 1867 + 2032 - - - $class + timestamp CF$UID - 115 + 2033 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangParser.m + file://localhost/Users/acondit/Library/Developer/Xcode/DerivedData/ANTLR-awfvqfoybjihuiaoxllmwcgxqxnm/Build/Products/Debug/Fuzzy + 323996585.291471 - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1869 - + $classes + + IDEQuickLookDocumentLocation + DVTDocumentLocation + NSObject + + $classname + IDEQuickLookDocumentLocation $class CF$UID - 115 + 71 - NS.string - file://localhost/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSString.h + NS.keys + + + CF$UID + 2036 + + + NS.objects + + + CF$UID + 2038 + + $class CF$UID - 156 + 155 NS.base @@ -34270,4931 +36195,8398 @@ NS.relative CF$UID - 1871 + 2037 $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeRewriter.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/ $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1873 + 71 + NS.keys + + + CF$UID + 2039 + + + CF$UID + 2040 + + + CF$UID + 2041 + + + CF$UID + 2042 + + + CF$UID + 2043 + + + CF$UID + 2044 + + + CF$UID + 2045 + + + CF$UID + 2046 + + + CF$UID + 2047 + + + NS.objects + + + CF$UID + 2048 + + + CF$UID + 2076 + + + CF$UID + 2077 + + + CF$UID + 2078 + + + CF$UID + 2079 + + + CF$UID + 2080 + + + CF$UID + 2081 + + + CF$UID + 2087 + + + CF$UID + 2095 + + + Xcode3ProjectEditor_Xcode3BuildPhasesEditor + Xcode3ProjectEditor_Xcode3InfoEditor + Xcode3ProjectEditor_Xcode3ProjectInfoEditor + Xcode3ProjectEditor_Xcode3BuildSettingsEditor + Xcode3ProjectEditor_Xcode3BuildRulesEditor + Xcode3ProjectEditorPreviousProjectEditorClass + Xcode3ProjectEditor.sourceList.splitview + Xcode3ProjectEditorSelectedDocumentLocations + Xcode3ProjectEditorPreviousTargetEditorClass $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrStack.m + NS.keys + + + CF$UID + 2049 + + + CF$UID + 2050 + + + CF$UID + 2051 + + + CF$UID + 2052 + + + CF$UID + 2053 + + + CF$UID + 2054 + + + CF$UID + 2055 + + + CF$UID + 2056 + + + CF$UID + 2057 + + + CF$UID + 2058 + + + CF$UID + 2059 + + + CF$UID + 2060 + + + CF$UID + 2061 + + + NS.objects + + + CF$UID + 2062 + + + CF$UID + 358 + + + CF$UID + 2063 + + + CF$UID + 2066 + + + CF$UID + 2067 + + + CF$UID + 2068 + + + CF$UID + 2069 + + + CF$UID + 2071 + + + CF$UID + 208 + + + CF$UID + 2072 + + + CF$UID + 2073 + + + CF$UID + 2074 + + + CF$UID + 2075 + + + 1AE7232C134E860B001C3F35 + kXcode3BuildPhasesEditorScrollPointKey + 1AE72315134E860B001C3F35 + 1AE72328134E860B001C3F35 + 1AE7232B134E860B001C3F35 + 1AE72317134E860B001C3F35 + Xcode3BuildPhasesEditorDisclosedNamesKey + 1AE72313134E860B001C3F35 + Xcode3BuildPhasesEditorFilterKey + 1AE72314134E860B001C3F35 + 1AE72316134E860B001C3F35 + 1AE7232A134E860B001C3F35 + 1AE72329134E860B001C3F35 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1875 + 71 + NS.keys + + NS.objects + $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTokenStream.h + NS.keys + + + CF$UID + 2064 + + + NS.objects + + + CF$UID + 2065 + + + Xcode3HeadersBuildPhaseDisclosedIndexes $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1877 + 1176 + NSLength + 1 + NSLocation + 0 + NSRangeCount + 1 $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerRuleReturnScope.m + NS.keys + + NS.objects + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1879 + 71 + NS.keys + + NS.objects + $class CF$UID - 115 + 71 - NS.string - file://localhost/var/folders/g7/g7-mBaqj2RaJUU+F71D0SU+++TI/-Tmp-/mach_msg_trap_disassembly_0x972a209a.nasm + NS.keys + + NS.objects + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1881 + 91 + NS.objects + + + CF$UID + 2070 + + + Link Binary With Libraries $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRStringStream.m + NS.keys + + NS.objects + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1883 + 71 + NS.keys + + NS.objects + $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.m + NS.keys + + NS.objects + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1885 + 71 + NS.keys + + NS.objects + $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreePatternParser.m + NS.keys + + NS.objects + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1887 + 71 + NS.keys + + NS.objects + $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLookaheadStream.h + NS.keys + + NS.objects + $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1889 + 71 + NS.keys + + NS.objects + $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDFA.m + NS.keys + + NS.objects + + Xcode3ProjectInfoEditor $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1891 + 71 + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 2082 + + $class CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeWizard.h + NS.objects + + + CF$UID + 2083 + + + CF$UID + 2085 + + $class CF$UID - 156 - - NS.base - - CF$UID - 0 + 87 - NS.relative - - CF$UID - 1893 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.h - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1895 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1897 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/SymbolTable.g - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1899 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRMap.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1901 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1903 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrBuffer.h - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1905 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangParser.h - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1907 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeRewriter.h - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1909 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1911 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1913 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.h - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1915 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/LL-star/SimpleCLexer.h - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1917 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.h - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1919 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleNodeStream.h - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1921 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.m - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1923 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/hoistedPredicates/TLexer.h - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1925 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseStack.h + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 208 + + + CF$UID + 2084 + + + 371 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1927 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 208 + + + CF$UID + 2086 + + + 415 $class CF$UID 115 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.m + NS.objects + + + CF$UID + 2088 + + $class CF$UID - 156 + 2287 - NS.base + documentURL CF$UID - 0 + 2089 - NS.relative + selection CF$UID - 1929 + 2091 - - - $class + timestamp CF$UID - 115 + 2090 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRecognitionException.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/ + 324364227.89618599 $class CF$UID - 68 + 71 NS.keys CF$UID - 146 - - - CF$UID - 147 + 2092 CF$UID - 148 + 2093 CF$UID - 149 + 2094 NS.objects CF$UID - 45 + 2095 CF$UID - 1931 + 114 CF$UID - 1932 + 2096 + + + Editor + Target + Xcode3BuildSettingsEditorLocations + Xcode3BuildSettingsEditor + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 349 + 2097 - 323994196.47168499 - {0, 694} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 2098 CF$UID - 147 + 2099 CF$UID - 148 + 2100 CF$UID - 149 + 2101 - - NS.objects + + CF$UID + 2102 + + + CF$UID + 2103 + + + NS.objects CF$UID - 45 + 60 CF$UID - 1934 + 60 CF$UID - 1935 + 60 CF$UID - 1936 + 2104 + + + CF$UID + 2105 + + + CF$UID + 60 - 324409866.92811 - {0, 2523} - {1904, 0} + Xcode3BuildPropertyNameDisplayMode + Xcode3BuildPropertyValueDisplayMode + Xcode3BuildSettingsEditorDisplayMode + Selected Build Properties + Collapsed Build Property Categories + Xcode3BuildSettingsEditorMode $class CF$UID - 68 + 91 - NS.keys + NS.objects + + + + $class + + CF$UID + 91 + + NS.objects CF$UID - 146 + 2106 CF$UID - 147 + 2107 CF$UID - 148 + 2108 CF$UID - 149 + 2109 - - NS.objects - CF$UID - 45 + 2110 CF$UID - 1938 + 2111 CF$UID - 1939 + 2112 CF$UID - 1940 + 2113 - - - 323992265.70342797 - {15643, 725} - {16364, 0} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2114 CF$UID - 147 + 2115 CF$UID - 148 + 2116 CF$UID - 149 + 2117 - - NS.objects - CF$UID - 45 + 2118 CF$UID - 1942 + 2119 CF$UID - 1943 + 2120 CF$UID - 1944 + 2121 - - - 324431688.50582999 - {0, 2923} - {1661, 0} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2122 CF$UID - 147 + 2123 CF$UID - 148 + 2124 CF$UID - 149 + 2125 - - NS.objects - CF$UID - 45 + 2126 CF$UID - 1946 + 2127 CF$UID - 1947 + 2128 CF$UID - 1948 + 2129 - - - 323991920.336025 - {0, 951} - {247, 0} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2130 CF$UID - 147 + 2131 CF$UID - 148 + 2132 CF$UID - 149 + 2133 - - NS.objects - CF$UID - 45 + 2134 CF$UID - 1950 + 2135 CF$UID - 1951 + 2136 CF$UID - 1948 + 2137 - - - 323998977.39440101 - {0, 1393} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2138 CF$UID - 147 + 2139 CF$UID - 148 + 2140 CF$UID - 149 + 2141 - - NS.objects - CF$UID - 45 + 2142 CF$UID - 1953 + 2143 CF$UID - 1954 + 2144 CF$UID - 349 + 2145 - - - 324400472.07226503 - {0, 3189} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2146 CF$UID - 147 + 2147 CF$UID - 148 + 2148 CF$UID - 149 + 2149 - - NS.objects - CF$UID - 45 + 2150 CF$UID - 1956 + 2151 CF$UID - 1957 + 2152 CF$UID - 1958 + 2153 - - - 323916640.42540002 - {3272, 1581} - {4662, 20} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2154 CF$UID - 147 + 2155 CF$UID - 148 + 2156 CF$UID - 149 + 2157 - - NS.objects - CF$UID - 45 + 2158 CF$UID - 1960 + 2159 CF$UID - 1961 + 2160 CF$UID - 1962 + 2161 - - - 324429732.66660303 - {3267, 2188} - {3258, 0} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2162 CF$UID - 147 + 2163 CF$UID - 148 + 2164 CF$UID - 149 + 2165 - - NS.objects - CF$UID - 45 + 2166 CF$UID - 1964 + 2167 CF$UID - 1965 + 2168 CF$UID - 1966 + 2169 - - - 324426667.94757599 - {0, 2638} - {2084, 0} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2170 CF$UID - 147 + 2171 CF$UID - 148 + 2172 CF$UID - 149 + 2173 - - NS.objects - CF$UID - 45 + 2174 CF$UID - 1968 + 2175 CF$UID - 1969 + 2176 CF$UID - 1948 + 2177 - - - 323991925.66436201 - {0, 737} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 1971 + 2178 CF$UID - 1972 + 2179 CF$UID - 1973 + 2180 CF$UID - 1974 + 2181 - - NS.objects - CF$UID - 45 + 2182 CF$UID - 1975 + 2183 CF$UID - 1976 + 2184 CF$UID - 1977 + 2185 - - - HideAllIssues - PrimaryDocumentTimestamp - PrimaryDocumentVisibleCharacterRange - PrimaryDocumentSelectedCharacterRange - 324445271.07381701 - {326, 1815} - {6665, 0} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2186 CF$UID - 147 + 2187 CF$UID - 148 + 2188 CF$UID - 149 + 2189 - - NS.objects - CF$UID - 45 + 2190 CF$UID - 1979 + 2191 CF$UID - 1980 + 2192 CF$UID - 1981 + 2193 - - - 323918775.21388799 - {825, 1664} - {3364, 0} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2194 CF$UID - 147 + 2195 CF$UID - 148 + 2196 CF$UID - 149 + 2197 - - NS.objects - CF$UID - 45 + 2198 CF$UID - 1983 + 2199 CF$UID - 1984 + 2200 CF$UID - 1985 + 2201 - - - 323991958.93438703 - {0, 947} - {243, 0} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2202 CF$UID - 147 + 2203 CF$UID - 148 + 2204 CF$UID - 149 + 2205 - - NS.objects - CF$UID - 45 + 2206 CF$UID - 1987 + 2207 CF$UID - 1988 + 2208 CF$UID - 349 + 2209 - - - 323995435.26982701 - {0, 904} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 1971 + 2210 CF$UID - 1972 + 2211 CF$UID - 1973 + 2212 CF$UID - 1974 + 2213 - - NS.objects - CF$UID - 45 + 2214 CF$UID - 1990 + 2215 CF$UID - 1991 + 2216 CF$UID - 349 + 2217 - - - 324445437.79051298 - {2459, 2857} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2218 CF$UID - 147 + 2219 CF$UID - 148 + 2220 CF$UID - 149 + 2221 - - NS.objects - CF$UID - 45 + 2222 CF$UID - 1993 + 2223 CF$UID - 1994 + 2224 CF$UID - 349 + 2225 - - - 323963868.237019 - {0, 1445} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2226 CF$UID - 147 + 2227 CF$UID - 148 + 2228 CF$UID - 149 + 2229 - - NS.objects - CF$UID - 45 + 2230 CF$UID - 1996 + 2231 CF$UID - 1997 + 2232 CF$UID - 1998 - - - - 324414176.27392399 - {11291, 1545} - {12802, 0} - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 + 2233 CF$UID - 149 + 2234 - - NS.objects - CF$UID - 45 + 2235 CF$UID - 2000 + 2236 CF$UID - 2001 + 2237 CF$UID - 2002 + 2238 - - - 324401544.86127102 - {0, 2259} - {1883, 0} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 1971 + 2239 CF$UID - 1972 + 2240 CF$UID - 1973 + 2241 CF$UID - 1974 + 2242 - - NS.objects - CF$UID - 45 + 2243 CF$UID - 2004 + 2244 CF$UID - 2005 + 2245 CF$UID - 2006 + 2246 - - - 324445220.84545499 - {7724, 1392} - {8914, 9} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2247 CF$UID - 147 + 2248 CF$UID - 148 + 2249 CF$UID - 149 + 2250 - - NS.objects - CF$UID - 45 + 2251 CF$UID - 2008 + 2252 CF$UID - 2009 + 2253 CF$UID - 349 + 2254 - - - 323993804.56084901 - {0, 118} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2255 CF$UID - 147 + 2256 CF$UID - 148 + 2257 CF$UID - 149 + 2258 - - NS.objects - CF$UID - 45 + 2259 CF$UID - 2011 + 2260 CF$UID - 2012 + 2261 CF$UID - 349 + 2262 - - - 323994255.81979299 - {0, 7} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2263 CF$UID - 147 + 2264 CF$UID - 148 + 2265 CF$UID - 149 + 2266 - - NS.objects - CF$UID - 45 + 2267 CF$UID - 2014 + 2268 CF$UID - 2015 + 2269 CF$UID - 349 + 2270 - - - 323995809.48964798 - {0, 97} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 1971 + 2271 CF$UID - 1972 + 2272 CF$UID - 1973 + 2273 CF$UID - 1974 + 2274 - - NS.objects - CF$UID - 45 + 2275 CF$UID - 2017 + 2276 CF$UID - 2018 + 2277 CF$UID - 2019 + 2278 - - - 324441420.01133698 - {1874, 2024} - {2244, 0} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 146 + 2279 CF$UID - 147 + 2280 CF$UID - 148 + 2281 CF$UID - 149 + 2282 - - NS.objects - CF$UID - 45 + 2283 CF$UID - 2021 + 2284 CF$UID - 2022 + 2285 CF$UID - 2023 + 2286 - 324432938.69757497 - {394, 2191} - {9292, 0} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 1971 - - - CF$UID - 1972 - - - CF$UID - 1973 - - - CF$UID - 1974 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2025 - - - CF$UID - 2026 - - - CF$UID - 2027 - - + NS.string + Architectures||ADDITIONAL_SDKS - 324445225.37932003 - {4094, 1519} - {4957, 0} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2029 - - - CF$UID - 2030 - - - CF$UID - 2031 - - + NS.string + Architectures||ARCHS - 323991935.93480003 - {0, 902} - {253, 0} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2033 - - - CF$UID - 2034 - - - CF$UID - 2035 - - + NS.string + Architectures||ONLY_ACTIVE_ARCH - 324412765.68417799 - {2555, 1260} - {3290, 0} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2037 - - - CF$UID - 2038 - - - CF$UID - 2039 - - + NS.string + Architectures||SDKROOT - 323997773.22955102 - {0, 1098} - {190, 239} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2041 - - - CF$UID - 2042 - - - CF$UID - 2043 - - + NS.string + Architectures||SUPPORTED_PLATFORMS - 323997633.580167 - {0, 1074} - {200, 0} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2045 - - - CF$UID - 2046 - - - CF$UID - 2047 - - + NS.string + Architectures||VALID_ARCHS - 323998098.80162501 - {0, 1691} - {390, 249} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2049 - - - CF$UID - 2050 - - - CF$UID - 2051 - - + NS.string + Build Locations||OBJROOT - 324413128.654562 - {3, 2278} - {1887, 0} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2053 - - - CF$UID - 2054 - - - CF$UID - 2055 - - + NS.string + Build Locations||SHARED_PRECOMPS_DIR - 323998229.417656 - {0, 2002} - {960, 242} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2057 - - - CF$UID - 2058 - - - CF$UID - 349 - - + NS.string + Build Locations||SYMROOT - 323998272.29509199 - {0, 1289} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2060 - - - CF$UID - 2061 - - - CF$UID - 1948 - - + NS.string + Build Options||BUILD_VARIANTS - 323993444.857252 - {0, 1036} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2063 - - - CF$UID - 2064 - - - CF$UID - 2065 - - + NS.string + Build Options||ENABLE_OPENMP_SUPPORT - 323997879.67560601 - {0, 1109} - {197, 238} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2067 - - - CF$UID - 2068 - - - CF$UID - 349 - - + NS.string + Build Options||GENERATE_PROFILING_CODE - 323996597.73368597 - {0, 748} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2070 - - - CF$UID - 2071 - - - CF$UID - 2072 - - + NS.string + Build Options||PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR - 323997564.08925098 - {0, 955} - {211, 0} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2074 - - - CF$UID - 2075 - - - CF$UID - 349 - - + NS.string + Build Options||RUN_CLANG_STATIC_ANALYZER - 323997740.41328001 - {0, 631} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2077 - - - CF$UID - 2078 - - - CF$UID - 269 - - + NS.string + Build Options||SCAN_ALL_SOURCE_FILES_FOR_INCLUDES - 323991956.51889098 - {0, 821} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2080 - - - CF$UID - 2081 - - - CF$UID - 349 - - + NS.string + Build Options||VALIDATE_PRODUCT - 323914776.143372 - {0, 2221} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2083 - - - CF$UID - 2084 - - - CF$UID - 2085 - - + NS.string + Code Signing||CODE_SIGN_ENTITLEMENTS - 324431511.42497897 - {0, 2454} - {2246, 11} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2087 - - - CF$UID - 2088 - - - CF$UID - 2089 - - + NS.string + Code Signing||CODE_SIGN_IDENTITY - 324400607.254843 - {1283, 2182} - {6261, 1} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2091 - - - CF$UID - 2092 - - - CF$UID - 2093 - - + NS.string + Code Signing||CODE_SIGN_RESOURCE_RULES_PATH - 324436274.26169902 - {7238, 2038} - {8431, 0} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - + NS.string + Code Signing||OTHER_CODE_SIGN_FLAGS + + + $class + + CF$UID + 118 + + NS.string + Compiler Version||GCC_VERSION + + + $class + + CF$UID + 118 + + NS.string + Deployment||ALTERNATE_GROUP + + + $class + + CF$UID + 118 + + NS.string + Deployment||ALTERNATE_MODE + + + $class + + CF$UID + 118 + + NS.string + Deployment||ALTERNATE_OWNER + + + $class + + CF$UID + 118 + + NS.string + Deployment||ALTERNATE_PERMISSIONS_FILES + + + $class + + CF$UID + 118 + + NS.string + Deployment||COMBINE_HIDPI_IMAGES + + + $class + + CF$UID + 118 + + NS.string + Deployment||DEPLOYMENT_LOCATION + + + $class + + CF$UID + 118 + + NS.string + Deployment||DEPLOYMENT_POSTPROCESSING + + + $class + + CF$UID + 118 + + NS.string + Deployment||DSTROOT + + + $class + + CF$UID + 118 + + NS.string + Deployment||INSTALL_GROUP + + + $class + + CF$UID + 118 + + NS.string + Deployment||INSTALL_MODE_FLAG + + + $class + + CF$UID + 118 + + NS.string + Deployment||INSTALL_OWNER + + + $class + + CF$UID + 118 + + NS.string + Deployment||INSTALL_PATH + + + $class + + CF$UID + 118 + + NS.string + Deployment||MACOSX_DEPLOYMENT_TARGET + + + $class + + CF$UID + 118 + + NS.string + Deployment||SEPARATE_STRIP + + + $class + + CF$UID + 118 + + NS.string + Deployment||SKIP_INSTALL + + + $class + + CF$UID + 118 + + NS.string + Deployment||STRIPFLAGS + + + $class + + CF$UID + 118 + + NS.string + Deployment||STRIP_INSTALLED_PRODUCT + + + $class + + CF$UID + 118 + + NS.string + Deployment||STRIP_STYLE + + + $class + + CF$UID + 118 + + NS.string + Kernel Module||MODULE_NAME + + + $class + + CF$UID + 118 + + NS.string + Kernel Module||MODULE_START + + + $class + + CF$UID + 118 + + NS.string + Kernel Module||MODULE_STOP + + + $class + + CF$UID + 118 + + NS.string + Kernel Module||MODULE_VERSION + + + $class + + CF$UID + 118 + + NS.string + Linking||BUNDLE_LOADER + + + $class + + CF$UID + 118 + + NS.string + Linking||DEAD_CODE_STRIPPING + + + $class + + CF$UID + 118 + + NS.string + Linking||DYLIB_COMPATIBILITY_VERSION + + + $class + + CF$UID + 118 + + NS.string + Linking||DYLIB_CURRENT_VERSION + + + $class + + CF$UID + 118 + + NS.string + Linking||EXPORTED_SYMBOLS_FILE + + + $class + + CF$UID + 118 + + NS.string + Linking||GENERATE_MASTER_OBJECT_FILE + + + $class + + CF$UID + 118 + + NS.string + Linking||INIT_ROUTINE + + + $class + + CF$UID + 118 + + NS.string + Linking||KEEP_PRIVATE_EXTERNS + + + $class + + CF$UID + 118 + + NS.string + Linking||LD_DYLIB_INSTALL_NAME + + + $class + + CF$UID + 118 + + NS.string + Linking||LD_GENERATE_MAP_FILE + + + $class + + CF$UID + 118 + + NS.string + Linking||LD_OPENMP_FLAGS + + + $class + + CF$UID + 118 + + NS.string + Linking||LD_RUNPATH_SEARCH_PATHS + + + $class + + CF$UID + 118 + + NS.string + Linking||LINKER_DISPLAYS_MANGLED_NAMES + + + $class + + CF$UID + 118 + + NS.string + Linking||LINK_WITH_STANDARD_LIBRARIES + + + $class + + CF$UID + 118 + + NS.string + Linking||MACH_O_TYPE + + + $class + + CF$UID + 118 + + NS.string + Linking||ORDER_FILE + + + $class + + CF$UID + 118 + + NS.string + Linking||OTHER_LDFLAGS + + + $class + + CF$UID + 118 + + NS.string + Linking||PRELINK_FLAGS + + + $class + + CF$UID + 118 + + NS.string + Linking||PRELINK_LIBS + + + $class + + CF$UID + 118 + + NS.string + Linking||PRESERVE_DEAD_CODE_INITS_AND_TERMS + + + $class + + CF$UID + 118 + + NS.string + Linking||SECTORDER_FLAGS + + + $class + + CF$UID + 118 + + NS.string + Linking||SEPARATE_SYMBOL_EDIT + + + $class + + CF$UID + 118 + + NS.string + Linking||STANDARD_C_PLUS_PLUS_LIBRARY_TYPE + + + $class + + CF$UID + 118 + + NS.string + Linking||UNEXPORTED_SYMBOLS_FILE + + + $class + + CF$UID + 118 + + NS.string + Linking||WARNING_LDFLAGS + + + $class + + CF$UID + 118 + + NS.string + Packaging||APPLY_RULES_IN_COPY_FILES + + + $class + + CF$UID + 118 + + NS.string + Packaging||COPYING_PRESERVES_HFS_DATA + + + $class + + CF$UID + 118 + + NS.string + Packaging||EXECUTABLE_EXTENSION + + + $class + + CF$UID + 118 + + NS.string + Packaging||EXECUTABLE_PREFIX + + + $class + + CF$UID + 118 + + NS.string + Packaging||FRAMEWORK_VERSION + + + $class + + CF$UID + 118 + + NS.string + Packaging||GENERATE_PKGINFO_FILE + + + $class + + CF$UID + 118 + + NS.string + Packaging||INFOPLIST_EXPAND_BUILD_SETTINGS + + + $class + + CF$UID + 118 + + NS.string + Packaging||INFOPLIST_FILE + + + $class + + CF$UID + 118 + + NS.string + Packaging||INFOPLIST_OTHER_PREPROCESSOR_FLAGS + + + $class + + CF$UID + 118 + + NS.string + Packaging||INFOPLIST_OUTPUT_FORMAT + + + $class + + CF$UID + 118 + + NS.string + Packaging||INFOPLIST_PREFIX_HEADER + + + $class + + CF$UID + 118 + + NS.string + Packaging||INFOPLIST_PREPROCESS + + + $class + + CF$UID + 118 + + NS.string + Packaging||INFOPLIST_PREPROCESSOR_DEFINITIONS + + + $class + + CF$UID + 118 + + NS.string + Packaging||PLIST_FILE_OUTPUT_FORMAT + + + $class + + CF$UID + 118 + + NS.string + Packaging||PRIVATE_HEADERS_FOLDER_PATH + + + $class + + CF$UID + 118 + + NS.string + Packaging||PRODUCT_NAME + + + $class + + CF$UID + 118 + + NS.string + Packaging||PUBLIC_HEADERS_FOLDER_PATH + + + $class + + CF$UID + 118 + + NS.string + Packaging||STRINGS_FILE_OUTPUT_ENCODING + + + $class + + CF$UID + 118 + + NS.string + Packaging||WRAPPER_EXTENSION + + + $class + + CF$UID + 118 + + NS.string + Search Paths||ALWAYS_SEARCH_USER_PATHS + + + $class + + CF$UID + 118 + + NS.string + Search Paths||EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES + + + $class + + CF$UID + 118 + + NS.string + Search Paths||FRAMEWORK_SEARCH_PATHS + + + $class + + CF$UID + 118 + + NS.string + Search Paths||HEADER_SEARCH_PATHS + + + $class + + CF$UID + 118 + + NS.string + Search Paths||INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES + + + $class + + CF$UID + 118 + + NS.string + Search Paths||LIBRARY_SEARCH_PATHS + + + $class + + CF$UID + 118 + + NS.string + Search Paths||REZ_SEARCH_PATHS + + + $class + + CF$UID + 118 + + NS.string + Search Paths||USER_HEADER_SEARCH_PATHS + + + $class + + CF$UID + 118 + + NS.string + Unit Testing||OTHER_TEST_FLAGS + + + $class + + CF$UID + 118 + + NS.string + Unit Testing||TEST_AFTER_BUILD + + + $class + + CF$UID + 118 + + NS.string + Unit Testing||TEST_HOST + + + $class + + CF$UID + 118 + + NS.string + Unit Testing||TEST_RIG + + + $class + + CF$UID + 118 + + NS.string + Versioning||CURRENT_PROJECT_VERSION + + + $class + + CF$UID + 118 + + NS.string + Versioning||VERSIONING_SYSTEM + + + $class + + CF$UID + 118 + + NS.string + Versioning||VERSION_INFO_BUILDER + + + $class + + CF$UID + 118 + + NS.string + Versioning||VERSION_INFO_EXPORT_DECL + + + $class + + CF$UID + 118 + + NS.string + Versioning||VERSION_INFO_FILE + + + $class + + CF$UID + 118 + + NS.string + Versioning||VERSION_INFO_PREFIX + + + $class + + CF$UID + 118 + + NS.string + Versioning||VERSION_INFO_SUFFIX + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_DYNAMIC_NO_PIC + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_ENABLE_KERNEL_DEVELOPMENT + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_ENABLE_OBJC_GC + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_ENABLE_SSE3_EXTENSIONS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_ENABLE_SSE41_EXTENSIONS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_ENABLE_SSE42_EXTENSIONS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_FAST_MATH + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_FAST_OBJC_DISPATCH + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_GENERATE_DEBUGGING_SYMBOLS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_INLINES_ARE_PRIVATE_EXTERN + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_NO_COMMON_BLOCKS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_REUSE_STRINGS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_STRICT_ALIASING + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_SYMBOLS_PRIVATE_EXTERN + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_THREADSAFE_STATICS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||GCC_UNROLL_LOOPS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Code Generation||LLVM_LTO + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_CHAR_IS_UNSIGNED_CHAR + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_CW_ASM_SYNTAX + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_C_LANGUAGE_STANDARD + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_ENABLE_ASM_KEYWORD + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_ENABLE_BUILTIN_FUNCTIONS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_ENABLE_CPP_EXCEPTIONS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_ENABLE_CPP_RTTI + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_ENABLE_FLOATING_POINT_LIBRARY_CALLS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_ENABLE_OBJC_EXCEPTIONS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_ENABLE_PASCAL_STRINGS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_ENABLE_TRIGRAPHS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_FORCE_CPU_SUBTYPE_ALL + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_INCREASE_PRECOMPILED_HEADER_SHARING + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_INPUT_FILETYPE + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_LINK_WITH_DYNAMIC_LIBRARIES + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_PRECOMPILE_PREFIX_HEADER + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_PREFIX_HEADER + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_SHORT_ENUMS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_USE_INDIRECT_FUNCTION_CALLS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_USE_REGISTER_FUNCTION_CALLS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||GCC_USE_STANDARD_INCLUDE_SEARCHING + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||OTHER_CFLAGS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Language||OTHER_CPLUSPLUSFLAGS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Preprocessing||GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_TREAT_WARNINGS_AS_ERRORS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_64_TO_32_BIT_CONVERSION + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_ABOUT_MISSING_NEWLINE + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_ABOUT_MISSING_PROTOTYPES + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_ABOUT_POINTER_SIGNEDNESS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_ABOUT_RETURN_TYPE + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_CHECK_SWITCH_STATEMENTS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_FOUR_CHARACTER_CONSTANTS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_INHIBIT_ALL_WARNINGS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_MISSING_PARENTHESES + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_NON_VIRTUAL_DESTRUCTOR + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_PEDANTIC + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_SHADOW + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_SIGN_COMPARE + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_STRICT_SELECTOR_MATCH + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_TYPECHECK_CALLS_TO_PRINTF + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_UNDECLARED_SELECTOR + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_UNINITIALIZED_AUTOS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_UNKNOWN_PRAGMAS + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_UNUSED_FUNCTION + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_UNUSED_LABEL + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_UNUSED_PARAMETER + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_UNUSED_VALUE + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||GCC_WARN_UNUSED_VARIABLE + + + $class + + CF$UID + 118 + + NS.string + LLVM compiler 2.0 - Warnings||WARNING_CFLAGS + + + $classes + + Xcode3ProjectDocumentLocation + DVTDocumentLocation + NSObject + + $classname + Xcode3ProjectDocumentLocation + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 2289 + + + CF$UID + 2291 + + + CF$UID + 2293 + + + CF$UID + 2295 + + + CF$UID + 2297 + + + CF$UID + 2299 + + + CF$UID + 2301 + + + CF$UID + 2303 + + + CF$UID + 2305 + + + CF$UID + 2307 + + + CF$UID + 2309 + + + CF$UID + 2311 + + + CF$UID + 2313 + + + CF$UID + 2315 + + + CF$UID + 2317 + + + CF$UID + 2319 + + + CF$UID + 2321 + + + CF$UID + 2323 + + + CF$UID + 2325 + + + CF$UID + 2327 + + + CF$UID + 2329 + + + CF$UID + 2331 + + + CF$UID + 2333 + + + CF$UID + 1929 + + + CF$UID + 2335 + + + CF$UID + 2337 + + + CF$UID + 2339 + + + CF$UID + 2341 + + + CF$UID + 2343 + + + CF$UID + 2345 + + + CF$UID + 2347 + + + CF$UID + 2349 + + + CF$UID + 2351 + + + CF$UID + 2353 + + + CF$UID + 2355 + + + CF$UID + 2357 + + + CF$UID + 2359 + + + CF$UID + 2361 + + + CF$UID + 2363 + + + CF$UID + 2365 + + + CF$UID + 2367 + + + CF$UID + 2369 + + + CF$UID + 2371 + + + CF$UID + 2373 + + + CF$UID + 2375 + + + CF$UID + 2377 + + + CF$UID + 2379 + + + CF$UID + 2381 + + + CF$UID + 2383 + + + CF$UID + 2385 + + + CF$UID + 2387 + + + CF$UID + 2389 + + + CF$UID + 2391 + + + CF$UID + 2393 + + + CF$UID + 2395 + + + CF$UID + 2397 + + + CF$UID + 2399 + + + CF$UID + 2401 + + + CF$UID + 2403 + + + CF$UID + 2405 + + + CF$UID + 2407 + + + CF$UID + 2409 + + + CF$UID + 2411 + + + CF$UID + 2413 + + + CF$UID + 2415 + + + CF$UID + 1944 + + + CF$UID + 2417 + + + CF$UID + 2419 + + + CF$UID + 2421 + + + CF$UID + 2423 + + + CF$UID + 2425 + + + CF$UID + 2427 + + + CF$UID + 2429 + + + CF$UID + 2431 + + + CF$UID + 2433 + + + CF$UID + 2435 + + + CF$UID + 2437 + + + CF$UID + 2439 + + + CF$UID + 2441 + + + CF$UID + 2443 + + + CF$UID + 2445 + + + CF$UID + 2447 + + + CF$UID + 2449 + + + CF$UID + 2451 + + + CF$UID + 2453 + + + CF$UID + 2455 + + + CF$UID + 2457 + + + CF$UID + 2459 + + + CF$UID + 1942 + + + CF$UID + 1937 + + + CF$UID + 2461 + + + CF$UID + 2463 + + + CF$UID + 2465 + + + CF$UID + 2467 + + + CF$UID + 2469 + + + CF$UID + 2471 + + + CF$UID + 2473 + + + CF$UID + 2475 + + + CF$UID + 2477 + + + CF$UID + 2479 + + + CF$UID + 2481 + + + CF$UID + 2483 + + + CF$UID + 2485 + + + CF$UID + 2487 + + + CF$UID + 2489 + + + CF$UID + 2491 + + + CF$UID + 2492 + + + CF$UID + 2494 + + + CF$UID + 2496 + + + CF$UID + 2498 + + + CF$UID + 2500 + + + CF$UID + 2502 + + + CF$UID + 2504 + + + CF$UID + 2506 + + + CF$UID + 2508 + + + CF$UID + 2510 + + + CF$UID + 2512 + + + NS.objects + + + CF$UID + 2514 + + + CF$UID + 2517 + + + CF$UID + 2521 + + + CF$UID + 2525 + + + CF$UID + 2529 + + + CF$UID + 2533 + + + CF$UID + 2536 + + + CF$UID + 2539 + + + CF$UID + 2543 + + + CF$UID + 2547 + + + CF$UID + 2551 + + + CF$UID + 2554 + + + CF$UID + 2558 + + + CF$UID + 2562 + + + CF$UID + 2566 + + + CF$UID + 2569 + + + CF$UID + 2572 + + + CF$UID + 2576 + + + CF$UID + 2580 + + + CF$UID + 2583 + + + CF$UID + 2586 + + + CF$UID + 2589 + + + CF$UID + 2593 + + + CF$UID + 2597 + + + CF$UID + 2601 + + + CF$UID + 2605 + + + CF$UID + 2609 + + + CF$UID + 2613 + + + CF$UID + 2617 + + + CF$UID + 2621 + + + CF$UID + 2625 + + + CF$UID + 2629 + + + CF$UID + 2633 + + + CF$UID + 2636 + + + CF$UID + 2639 + + + CF$UID + 2643 + + + CF$UID + 2646 + + + CF$UID + 2650 + + + CF$UID + 2653 + + + CF$UID + 2656 + + + CF$UID + 2659 + + + CF$UID + 2663 + + + CF$UID + 2667 + + + CF$UID + 2671 + + + CF$UID + 2675 + + + CF$UID + 2678 + + + CF$UID + 2682 + + + CF$UID + 2686 + + + CF$UID + 2690 + + + CF$UID + 2694 + + + CF$UID + 2697 + + + CF$UID + 2700 + + + CF$UID + 2704 + + + CF$UID + 2707 + + + CF$UID + 2710 + + CF$UID - 147 + 2714 CF$UID - 148 + 2717 CF$UID - 149 + 2721 - - NS.objects - CF$UID - 45 + 2725 CF$UID - 2095 + 2728 CF$UID - 2096 + 2732 CF$UID - 2097 + 2736 + + + CF$UID + 2739 + + + CF$UID + 2743 + + + CF$UID + 2747 + + + CF$UID + 2751 + + + CF$UID + 2755 + + + CF$UID + 2759 + + + CF$UID + 2763 + + + CF$UID + 2767 + + + CF$UID + 2771 + + + CF$UID + 2775 + + + CF$UID + 2778 + + + CF$UID + 2782 + + + CF$UID + 2785 + + + CF$UID + 2789 + + + CF$UID + 2792 + + + CF$UID + 2796 + + + CF$UID + 2799 + + + CF$UID + 2803 + + + CF$UID + 2807 + + + CF$UID + 2811 + + + CF$UID + 2815 + + + CF$UID + 2819 + + + CF$UID + 2823 + + + CF$UID + 2827 + + + CF$UID + 2831 + + + CF$UID + 2834 + + + CF$UID + 2838 + + + CF$UID + 2842 + + + CF$UID + 2846 + + + CF$UID + 2850 + + + CF$UID + 2853 + + + CF$UID + 2857 + + + CF$UID + 2861 + + + CF$UID + 2865 + + + CF$UID + 2869 + + + CF$UID + 2873 + + + CF$UID + 2877 + + + CF$UID + 2880 + + + CF$UID + 2883 + + + CF$UID + 2887 + + + CF$UID + 2891 + + + CF$UID + 2895 + + + CF$UID + 2898 + + + CF$UID + 2902 + + + CF$UID + 2905 + + + CF$UID + 2909 + + + CF$UID + 2913 + + + CF$UID + 2917 + + + CF$UID + 2920 + + + CF$UID + 2923 + + + CF$UID + 2927 + + + CF$UID + 2931 + + + CF$UID + 2934 + + + CF$UID + 2937 + + + CF$UID + 2939 - 323917736.789765 - {5708, 1546} - {6321, 0} $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2290 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/Main.java + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2292 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSAppleScript.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2294 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/Simplifier.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2296 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2298 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyLexer.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2300 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangLexer.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2302 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRecognizerSharedState.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2304 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeIterator.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2306 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonToken.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2308 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRParseTree.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2310 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyParser.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2312 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2314 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2316 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteLexer.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2318 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/output1/TreeRewriteLexer.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2320 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/var/folders/g7/g7-mBaqj2RaJUU+F71D0SU+++TI/-Tmp-/objc_msgSend_disassembly_0x9881dedb.nasm + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2322 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2324 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2326 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/input + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2328 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/input + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2330 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/input + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2332 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2334 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonToken.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2336 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2338 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/Simplifier.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2340 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRFastQueue.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2342 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/LL-star/main.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2344 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/hoistedPredicates/main.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2346 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/main.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2348 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLookaheadStream.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2350 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/main.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2352 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/main.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2354 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/FuzzyLexer.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2356 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/main.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2358 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/combined/main.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2360 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/main.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2362 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/lexertest-simple/main.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2364 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2366 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseMapElement.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2368 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2370 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRecognizerSharedState.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2372 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2374 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrBuffer.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2376 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/SymbolTableLexer.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2378 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDoubleKeyMap.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2380 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeNodeStream.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2382 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2384 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2386 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/TreeRewrite.g + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2388 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2390 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2392 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/output + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2394 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTree.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2396 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRInputStream.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2398 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreePatternParser.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2400 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2402 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrStack.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2404 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleElementStream.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2406 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2408 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTokenStream.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2410 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2412 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRParseTree.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2414 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2416 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUniqueIDMap.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2418 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2420 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeVisitor.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2422 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleNodeStream.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2424 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeWizard.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2426 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCWalker.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2428 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2430 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2432 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2434 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2436 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSObject.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2438 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTree.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2440 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/sets/ANTLRBitSetTest.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2442 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2444 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2446 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2448 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRNodeMapElement.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2450 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseRecognizer.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2452 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangParser.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2454 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSString.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2456 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeRewriter.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2458 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrStack.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2460 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTokenStream.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2462 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRStringStream.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2464 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2466 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreePatternParser.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2468 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLookaheadStream.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2470 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDFA.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2472 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeWizard.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2474 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2476 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2099 - - - CF$UID - 2100 - - - CF$UID - 1985 - - - 323995781.52013803 - {0, 909} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2102 - - - CF$UID - 2103 - - - CF$UID - 2104 - - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRLexerRuleReturnScope.h - 323917645.241445 - {0, 1288} - {127, 0} $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2478 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2106 - - - CF$UID - 2107 - - - CF$UID - 2108 - - - 324431658.89625299 - {0, 2174} - {1817, 0} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2110 - - - CF$UID - 2111 - - - CF$UID - 2112 - - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2480 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/SymbolTable.g + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2482 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRMap.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2484 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2486 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrBuffer.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2488 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangParser.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2490 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeRewriter.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 1136 + + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2493 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2495 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2497 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2499 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/LL-star/SimpleCLexer.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2501 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.h + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2503 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleNodeStream.h - 323998717.00971699 - {46491, 2812} - {24064, 0} $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2505 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2114 - - - CF$UID - 2115 - - - CF$UID - 2116 - - - 323991960.92231297 - {0, 849} - {254, 0} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2118 - - - CF$UID - 2119 - - - CF$UID - 349 - - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.m - 323995447.02758801 - {0, 195} $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2507 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2121 - - - CF$UID - 2122 - - - CF$UID - 349 - - - 324432009.839122 - {0, 2419} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2124 - - - CF$UID - 2125 - - - CF$UID - 2126 - - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/hoistedPredicates/TLexer.h - 324422636.81480199 - {4578, 1748} - {5858, 0} $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2509 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2128 - - - CF$UID - 2129 - - - CF$UID - 349 - - - 323993798.49312198 - {0, 233} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 1971 - - - CF$UID - 1972 - - - CF$UID - 1973 - - - CF$UID - 1974 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2131 - - - CF$UID - 2132 - - - CF$UID - 349 - - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseStack.h - 324445393.46662003 - {1568, 885} $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2511 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2134 - - - CF$UID - 2135 - - - CF$UID - 2136 - - - 323917693.27358299 - {0, 1837} - {1836, 0} $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 146 - - - CF$UID - 147 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 45 - - - CF$UID - 2138 - - - CF$UID - 2139 - - - CF$UID - 349 - - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.m + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2513 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRecognitionException.h - 324422407.05101901 - {0, 2563} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2141 + 2515 CF$UID - 2142 + 2516 CF$UID - 2143 + 358 - 324426155.38032198 - {2376, 2026} - {1582, 0} + 323994196.47168499 + {0, 694} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2145 + 2518 CF$UID - 2146 + 2519 CF$UID - 2147 + 2520 - 323917102.30272698 - {0, 1158} - {543, 0} + 324409866.92811 + {0, 2523} + {1904, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2149 + 2522 CF$UID - 2150 + 2523 CF$UID - 349 + 2524 - 323916228.22060299 - {0, 3469} + 323992265.70342797 + {15643, 725} + {16364, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 1971 + 145 CF$UID - 1972 + 146 CF$UID - 1973 + 147 CF$UID - 1974 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2152 + 2526 CF$UID - 2153 + 2527 CF$UID - 2154 + 2528 - 324441264.15675002 - {0, 2834} - {251, 0} + 324431688.50582999 + {0, 2923} + {1661, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2156 + 2530 CF$UID - 2157 + 2531 CF$UID - 2158 + 2532 - 324409948.76730502 - {1181, 1454} - {2325, 0} + 323991920.336025 + {0, 951} + {247, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2160 + 2534 CF$UID - 2161 + 2535 CF$UID - 349 + 2532 - 323916551.38835502 - {0, 2730} + 323998977.39440101 + {0, 1393} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2163 + 2537 CF$UID - 2164 + 2538 CF$UID - 2165 + 358 - 324426418.68622297 - {0, 2343} - {1931, 13} + 324400472.07226503 + {0, 3189} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2167 + 2540 CF$UID - 2168 + 2541 CF$UID - 2169 + 2542 - 324412735.31168002 - {1359, 1828} - {2852, 0} + 323916640.42540002 + {3272, 1581} + {4662, 20} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2171 + 2544 CF$UID - 2172 + 2545 CF$UID - 2173 + 2546 - 324414185.99766701 - {2616, 1311} - {3656, 0} + 324429732.66660303 + {3267, 2188} + {3258, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 1971 + 145 CF$UID - 1972 + 146 CF$UID - 1973 + 147 CF$UID - 1974 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2175 + 2548 CF$UID - 2176 + 2549 CF$UID - 349 + 2550 - 324441758.42052102 - {0, 1988} + 324426667.94757599 + {0, 2638} + {2084, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 1972 + 145 CF$UID - 1971 + 146 CF$UID - 1973 + 147 CF$UID - 1974 + 148 NS.objects CF$UID - 2178 + 48 CF$UID - 45 + 2552 CF$UID - 2179 + 2553 CF$UID - 2180 + 2532 - 324442176.87105 - {3242, 1515} - {4428, 0} + 323991925.66436201 + {0, 737} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2182 + 2555 CF$UID - 2183 + 2556 CF$UID - 2184 + 2557 - 324431765.90748399 - {1492, 2008} - {2875, 0} + 324432773.92324698 + {2871, 1937} + {3733, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2186 + 2559 CF$UID - 2187 + 2560 CF$UID - 2188 + 2561 - 323996535.758793 - {380, 2043} - {2367, 0} + 323918775.21388799 + {825, 1664} + {3364, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2190 + 2563 CF$UID - 2191 + 2564 CF$UID - 2192 + 2565 - 324436864.92715198 - {0, 1684} - {4936, 0} + 323991958.93438703 + {0, 947} + {243, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2194 + 2567 CF$UID - 2195 + 2568 CF$UID - 2196 + 358 - 323991883.09180599 - {0, 775} - {256, 0} + 323995435.26982701 + {0, 904} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2198 + 2570 CF$UID - 2199 + 2571 CF$UID - 1985 + 358 - 323991947.84153402 - {0, 755} + 323963868.237019 + {0, 1445} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2201 + 2573 CF$UID - 2202 + 2574 CF$UID - 2203 + 2575 - 323991940.85978901 - {0, 895} - {250, 0} + 324414176.27392399 + {11291, 1545} + {12802, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2205 + 2577 CF$UID - 2202 + 2578 CF$UID - 2206 + 2579 - 323991949.74583501 - {239, 0} + 324401544.86127102 + {0, 2259} + {1883, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2208 + 2581 CF$UID - 2209 + 2582 CF$UID - 2210 + 358 - 323993442.86846501 - {584, 1666} - {233, 0} + 323993804.56084901 + {0, 118} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2212 + 2584 CF$UID - 2213 + 2585 CF$UID - 349 + 358 - 324417873.568241 - {0, 1255} + 323994255.81979299 + {0, 7} $class CF$UID - 68 + 71 NS.keys CF$UID - 1971 + 145 CF$UID - 1972 + 146 CF$UID - 1973 + 147 CF$UID - 1974 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2215 + 2587 CF$UID - 2216 + 2588 CF$UID - 2217 + 358 - 324445313.56750298 - {2412, 1364} - {3770, 0} + 323995809.48964798 + {0, 97} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2219 + 2590 CF$UID - 2220 + 2591 CF$UID - 349 + 2592 - 323968006.69858402 - {0, 923} + 324437798.21673 + {3553, 2268} + {3868, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2222 + 2594 CF$UID - 2223 + 2595 CF$UID - 2224 + 2596 - 324431829.74965 - {5540, 1396} - {6662, 0} + 324432938.69757497 + {394, 2191} + {9292, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 567 CF$UID - 147 + 568 CF$UID - 148 + 569 CF$UID - 149 + 570 NS.objects CF$UID - 45 + 2598 CF$UID - 2226 + 48 CF$UID - 2227 + 2599 CF$UID - 2228 + 2600 - 324437401.74129099 - {0, 3346} - {1797, 0} + 324440456.98038799 + {2869, 1679} + {3716, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2230 + 2602 CF$UID - 2231 + 2603 CF$UID - 2232 + 2604 - 324421435.024073 - {102, 2861} - {193, 0} + 324436297.57894599 + {4094, 2581} + {4957, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2234 + 2606 CF$UID - 2235 + 2607 CF$UID - 2236 + 2608 - 324426394.96874899 - {0, 2146} - {1639, 0} + 323991935.93480003 + {0, 902} + {253, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2238 + 2610 CF$UID - 2239 + 2611 CF$UID - 2240 + 2612 - 324436606.93009198 - {3687, 1874} - {4722, 0} + 324412765.68417799 + {2555, 1260} + {3290, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2242 + 2614 CF$UID - 2243 + 2615 CF$UID - 2244 + 2616 - 323999071.56422198 - {12932, 1171} - {13981, 0} + 323997773.22955102 + {0, 1098} + {190, 239} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2246 + 2618 CF$UID - 2247 + 2619 CF$UID - 2248 + 2620 - 323995848.84945101 - {21965, 1757} - {22896, 95} + 323997633.580167 + {0, 1074} + {200, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2250 + 2622 CF$UID - 2251 + 2623 CF$UID - 2252 + 2624 - 324415593.73750901 - {5439, 1874} - {7064, 0} + 323998098.80162501 + {0, 1691} + {390, 249} $class CF$UID - 68 + 71 NS.keys + + CF$UID + 145 + CF$UID 146 @@ -39207,4771 +44599,4589 @@ CF$UID 148 - - CF$UID - 149 - NS.objects CF$UID - 45 + 48 CF$UID - 2254 + 2626 CF$UID - 2255 + 2627 CF$UID - 349 + 2628 - 323917117.24232203 - {2409, 1259} + 324413128.654562 + {3, 2278} + {1887, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2257 + 2630 CF$UID - 2258 + 2631 CF$UID - 2259 + 2632 - 324410006.29558802 - {1940, 2182} - {3080, 0} + 323998229.417656 + {0, 2002} + {960, 242} $class CF$UID - 68 + 71 NS.keys CF$UID - 1972 + 145 CF$UID - 1971 + 146 CF$UID - 1973 + 147 CF$UID - 1974 + 148 NS.objects CF$UID - 2261 + 48 CF$UID - 45 + 2634 CF$UID - 2262 + 2635 CF$UID - 2263 + 358 - 324441650.16121 - {0, 2121} - {1853, 0} + 323998272.29509199 + {0, 1289} $class CF$UID - 68 + 71 NS.keys CF$UID - 1972 + 145 CF$UID - 1971 + 146 CF$UID - 1973 + 147 CF$UID - 1974 + 148 NS.objects CF$UID - 2265 + 48 CF$UID - 45 + 2637 CF$UID - 2266 + 2638 CF$UID - 349 + 2532 - 324442178.46839499 - {0, 158} + 323993444.857252 + {0, 1036} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2268 + 2640 CF$UID - 2269 + 2641 CF$UID - 2270 + 2642 - 323917830.14173597 - {6240, 2512} - {7297, 0} + 323997879.67560601 + {0, 1109} + {197, 238} $class CF$UID - 68 + 71 NS.keys CF$UID - 1972 + 145 CF$UID - 1971 + 146 CF$UID - 1973 + 147 CF$UID - 1974 + 148 NS.objects CF$UID - 2272 + 48 CF$UID - 45 + 2644 CF$UID - 2273 + 2645 CF$UID - 2274 + 358 - 324445118.20157599 - {10719, 1182} - {11249, 9} + 323996597.73368597 + {0, 748} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2276 + 2647 CF$UID - 2277 + 2648 CF$UID - 2278 + 2649 - 324431995.00957501 - {3979, 1931} - {4147, 0} + 323997564.08925098 + {0, 955} + {211, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2280 + 2651 CF$UID - 2281 + 2652 CF$UID - 2282 + 358 - 324413092.90767199 - {341, 2680} - {2305, 34} + 323997740.41328001 + {0, 631} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2284 + 2654 CF$UID - 2285 + 2655 CF$UID - 2286 + 268 - 324399293.830338 - {6483, 1894} - {7621, 0} + 323991956.51889098 + {0, 821} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2288 + 2657 CF$UID - 2289 + 2658 CF$UID - 2290 + 358 - 324422940.22563303 - {3038, 2830} - {5494, 0} + 323914776.143372 + {0, 2221} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2292 + 2660 CF$UID - 2293 + 2661 CF$UID - 2294 + 2662 - 323998972.84941399 - {0, 1716} - {236, 19} + 324431511.42497897 + {0, 2454} + {2246, 11} $class CF$UID - 68 + 71 NS.keys CF$UID - 1972 + 145 CF$UID - 1971 + 146 CF$UID - 1973 + 147 CF$UID - 1974 + 148 NS.objects CF$UID - 2296 + 48 CF$UID - 45 + 2664 CF$UID - 2297 + 2665 CF$UID - 2298 + 2666 - 324442099.79692 - {3755, 864} - {4229, 0} + 324400607.254843 + {1283, 2182} + {6261, 1} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2300 + 2668 CF$UID - 2301 + 2669 CF$UID - 349 + 2670 - 323995798.68886 - {0, 587} + 324436274.26169902 + {7238, 2038} + {8431, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2303 + 2672 CF$UID - 2304 + 2673 CF$UID - 2305 + 2674 - 324426367.06206697 - {739, 1744} - {1634, 0} + 323917736.789765 + {5708, 1546} + {6321, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2307 + 2676 CF$UID - 2308 + 2677 CF$UID - 2309 + 2565 - 323919665.61871201 - {2253, 1777} - {3066, 0} + 323995781.52013803 + {0, 909} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2311 + 2679 CF$UID - 2312 + 2680 CF$UID - 2313 + 2681 - 323917746.03652102 - {1269, 1981} - {3133, 0} + 323917645.241445 + {0, 1288} + {127, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2315 + 2683 CF$UID - 2316 + 2684 CF$UID - 1948 + 2685 - 323999027.071006 - {0, 1113} + 324431658.89625299 + {0, 2174} + {1817, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2318 + 2687 CF$UID - 2319 + 2688 CF$UID - 2320 + 2689 - 324415638.39336997 - {524, 2814} - {2988, 0} + 323998717.00971699 + {46491, 2812} + {24064, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 1971 + 145 CF$UID - 1972 + 146 CF$UID - 1973 + 147 CF$UID - 1974 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2322 + 2691 CF$UID - 2323 + 2692 CF$UID - 2324 + 2693 - 324441722.023588 - {0, 2056} - {2029, 0} + 323991960.92231297 + {0, 849} + {254, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2326 + 2695 CF$UID - 2327 + 2696 CF$UID - 2328 + 358 - 323999335.35239202 - {2017, 2058} - {3482, 0} + 323995447.02758801 + {0, 195} $class CF$UID - 68 + 71 NS.keys CF$UID - 1971 + 145 CF$UID - 1972 + 146 CF$UID - 1973 + 147 CF$UID - 1974 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2330 + 2698 CF$UID - 2331 + 2699 CF$UID - 2332 + 358 - 324445437.79075301 - {1657, 1977} - {2905, 0} + 324432009.839122 + {0, 2419} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2334 + 2701 CF$UID - 2335 + 2702 CF$UID - 2336 + 2703 - 324421603.58039403 - {2413, 2126} - {3075, 0} + 324422636.81480199 + {4578, 1748} + {5858, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2338 + 2705 CF$UID - 2339 + 2706 CF$UID - 2206 + 358 - 323991938.742567 - {0, 905} + 323993798.49312198 + {0, 233} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2341 + 2708 CF$UID - 2342 + 2709 CF$UID - 2206 + 358 - 323991951.46779501 - {0, 920} + 324436728.64446801 + {0, 1681} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2344 + 2711 CF$UID - 2345 + 2712 CF$UID - 2346 + 2713 - 324402854.21050298 - {0, 2222} - {559, 0} + 323917693.27358299 + {0, 1837} + {1836, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2348 + 2715 CF$UID - 2349 + 2716 CF$UID - 2350 + 358 - 324400673.29259199 - {1813, 941} - {2099, 0} + 324422407.05101901 + {0, 2563} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2352 + 2718 CF$UID - 2353 + 2719 CF$UID - 2210 + 2720 - 323991962.84279197 - {0, 924} + 324426155.38032198 + {2376, 2026} + {1582, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2355 + 2722 CF$UID - 2356 + 2723 CF$UID - 349 + 2724 - 324400461.89105803 - {0, 2382} + 323917102.30272698 + {0, 1158} + {543, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2358 + 2726 CF$UID - 764 + 2727 CF$UID - 765 + 358 - 323991202.52781898 + 323916228.22060299 + {0, 3469} $class CF$UID - 68 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2360 + 2729 CF$UID - 2361 + 2730 CF$UID - 2362 + 2731 - 324422018.73711902 - {0, 2893} - {1632, 0} + 323963859.82644898 + {2834, 1401} + {3758, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 2364 + 145 CF$UID - 1618 + 146 CF$UID - 2366 + 147 CF$UID - 2368 + 148 + + NS.objects + CF$UID - 1630 + 48 CF$UID - 1634 + 2733 CF$UID - 2370 + 2734 CF$UID - 1616 + 2735 - NS.objects + + 324409948.76730502 + {1181, 1454} + {2325, 0} + + $class + + CF$UID + 71 + + NS.keys CF$UID - 2372 + 145 CF$UID - 2375 + 146 CF$UID - 2378 + 147 CF$UID - 2380 + 148 + + NS.objects + CF$UID - 2382 + 48 CF$UID - 2384 + 2737 CF$UID - 2386 + 2738 CF$UID - 2388 + 358 + 323916551.38835502 + {0, 2730} $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2365 - - - x-xcode-log://F5EF2CEA-3A6E-4CE0-88F1-CD36958A1A8E - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2367 - - - x-xcode-log://4C3C7F23-F763-4ED2-A9D1-2D50EAB289F4 - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2369 - - - x-xcode-log://D77EB64F-D96E-4EE1-9AD5-C2E8CC6078D1 - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2371 - - - x-xcode-log://2CCA3A1A-094A-4C2D-8C04-BDB027FCB6DA - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2373 + 145 - - NS.objects - CF$UID - 2374 + 146 - - - DBGConsoleLogEditorScrollRange - {0, 2227} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 2376 + 147 - - NS.objects - CF$UID - 2377 + 148 - - DBGConsoleLogEditorScrollRange - {9693, 2819} - - $class - - CF$UID - 68 - - NS.keys + NS.objects CF$UID - 2373 + 48 - - NS.objects - CF$UID - 2379 + 2740 - - - {745, 2156} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 2373 + 2741 - - NS.objects - CF$UID - 2381 + 2742 - {7913, 4599} + 324426418.68622297 + {0, 2343} + {1931, 13} $class CF$UID - 68 + 71 NS.keys CF$UID - 2376 + 145 - - NS.objects - CF$UID - 2383 + 146 - - - {4897, 3189} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 2376 + 147 - - NS.objects - CF$UID - 2385 + 148 - - {0, 2227} - - $class - - CF$UID - 68 - - NS.keys + NS.objects CF$UID - 2373 + 48 - - NS.objects - CF$UID - 2387 + 2744 - - - {11436, 1351} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 2376 + 2745 - - NS.objects - CF$UID - 2389 + 2746 - {0, 2576} + 324412735.31168002 + {1359, 1828} + {2852, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 2391 + 145 CF$UID - 1546 + 146 CF$UID - 2393 + 147 CF$UID - 2394 + 148 + + NS.objects + CF$UID - 2396 + 48 CF$UID - 2398 + 2748 CF$UID - 2400 + 2749 CF$UID - 2402 + 2750 + + + 324414185.99766701 + {2616, 1311} + {3656, 0} + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2404 + 567 CF$UID - 2406 + 568 CF$UID - 2408 + 569 CF$UID - 2410 + 570 NS.objects CF$UID - 2412 + 2752 CF$UID - 2413 + 48 CF$UID - 2414 + 2753 CF$UID - 2415 + 2754 + + + 324440370.639184 + {0, 2023} + {1752, 83} + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2423 + 145 CF$UID - 2428 + 146 CF$UID - 2433 + 147 CF$UID - 2434 + 148 + + NS.objects + CF$UID - 2439 + 48 CF$UID - 2444 + 2756 CF$UID - 2447 + 2757 CF$UID - 2448 + 2758 + 324437798.219513 + {9059, 2872} + {9164, 0} $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2392 - - - x-xcode-log://CF5FF470-4F4A-4184-96B3-5B2F8B4DADFF - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1545 - - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2395 - - - x-xcode-log://C56D6006-8D04-4E05-8056-E1B0EAE370EC - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2397 - - - x-xcode-log://F12883C6-1F90-4A68-A7B2-A84A97A444FF - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2399 - - - x-xcode-log://86811926-3971-46D4-A0DD-2A6798C8B85F - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2401 - - - x-xcode-log://35FB82FA-7610-48F5-AA8F-444EB49C032E - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2403 - - - x-xcode-log://F062C011-F180-4D28-8936-769801EA2730 - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2405 - - - x-xcode-log://0C4538B8-C5BC-4D32-AEC7-BC703EA08568 - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2407 - - - x-xcode-log://4B1732E0-4B96-4015-94F9-C167BBAAE89D - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2409 - - - x-xcode-log://935AF1AA-6982-47AB-B679-13A9D4F93CE6 - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2411 - - - x-xcode-log://05E70548-90C2-4A75-8004-E10200549FDC - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 437 + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 181 + 48 + + + CF$UID + 2760 + + + CF$UID + 2761 + + + CF$UID + 2762 + 324431765.90748399 + {1492, 2008} + {2875, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 437 + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 181 + 48 + + + CF$UID + 2764 + + + CF$UID + 2765 + + + CF$UID + 2766 + 323996535.758793 + {380, 2043} + {2367, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 437 + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 181 + 48 + + + CF$UID + 2768 + + + CF$UID + 2769 + + + CF$UID + 2770 + 324436864.92715198 + {0, 1684} + {4936, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 437 + 145 + + + CF$UID + 146 + + + CF$UID + 147 - - NS.objects - CF$UID - 2416 + 148 - - - $class - - CF$UID - 112 - NS.objects CF$UID - 2417 + 48 + + + CF$UID + 2772 + + + CF$UID + 2773 + + + CF$UID + 2774 + 323991883.09180599 + {0, 775} + {256, 0} $class CF$UID - 2422 - - documentURL - - CF$UID - 2395 - - expandTranscript - - indexPath - - CF$UID - 2418 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 2421 - - NSIndexPathData - - CF$UID - 2419 - - NSIndexPathLength - 2 - - - $class - - CF$UID - 2420 + 71 - NS.data - - AAI= - - - - $classes - - NSMutableData - NSData - NSObject - - $classname - NSMutableData - - - $classes + NS.keys - NSIndexPath - NSObject + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + - $classname - NSIndexPath - - - $classes + NS.objects - IDELogDocumentLocation - DVTDocumentLocation - NSObject + + CF$UID + 48 + + + CF$UID + 2776 + + + CF$UID + 2777 + + + CF$UID + 2565 + - $classname - IDELogDocumentLocation + 323991947.84153402 + {0, 755} $class CF$UID - 68 + 71 NS.keys CF$UID - 437 + 145 + + + CF$UID + 146 - - NS.objects - CF$UID - 2424 + 147 + + + CF$UID + 148 - - - $class - - CF$UID - 112 - NS.objects CF$UID - 2425 + 48 + + + CF$UID + 2779 + + + CF$UID + 2780 + + + CF$UID + 2781 + 323991940.85978901 + {0, 895} + {250, 0} $class CF$UID - 2422 - - documentURL - - CF$UID - 2397 - - expandTranscript - - indexPath - - CF$UID - 2426 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 2421 - - NSIndexPathData - - CF$UID - 2427 - - NSIndexPathLength - 2 - - - $class - - CF$UID - 2420 - - NS.data - - AQE= - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 437 + 145 - - NS.objects - CF$UID - 2429 + 146 + + + CF$UID + 147 + + + CF$UID + 148 - - - $class - - CF$UID - 112 - NS.objects CF$UID - 2430 + 48 + + + CF$UID + 2783 + + + CF$UID + 2780 + + + CF$UID + 2784 + 323991949.74583501 + {239, 0} $class CF$UID - 2422 - - documentURL - - CF$UID - 2399 - - expandTranscript - - indexPath - - CF$UID - 2431 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 2421 - - NSIndexPathData - - CF$UID - 2432 - - NSIndexPathLength - 2 - - - $class - - CF$UID - 2420 - - NS.data - - AL8B - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 437 + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 181 + 48 + + + CF$UID + 2786 + + + CF$UID + 2787 + + + CF$UID + 2788 + 323993442.86846501 + {584, 1666} + {233, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 437 + 145 - - NS.objects - CF$UID - 2435 + 146 + + + CF$UID + 147 + + + CF$UID + 148 - - - $class - - CF$UID - 112 - NS.objects CF$UID - 2436 + 48 + + + CF$UID + 2790 + + + CF$UID + 2791 + + + CF$UID + 358 + 324417873.568241 + {0, 1255} $class CF$UID - 2422 - - documentURL - - CF$UID - 2403 - - expandTranscript - - indexPath - - CF$UID - 2437 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 2421 - - NSIndexPathData - - CF$UID - 2438 - - NSIndexPathLength - 2 - - - $class - - CF$UID - 2420 - - NS.data - - AAA= - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 437 + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 2440 + 48 + + + CF$UID + 2793 + + + CF$UID + 2794 + + + CF$UID + 2795 + 324425413.43702298 + {0, 3283} + {1739, 0} $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + NS.objects CF$UID - 2441 + 48 + + + CF$UID + 2797 + + + CF$UID + 2798 + + + CF$UID + 358 + 323968006.69858402 + {0, 923} $class CF$UID - 2422 - - documentURL - - CF$UID - 2405 - - expandTranscript - - indexPath - - CF$UID - 2442 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 2421 - - NSIndexPathData - - CF$UID - 2443 - - NSIndexPathLength - 3 - - - $class - - CF$UID - 2420 - - NS.data - - AQMA - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 437 + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 2445 + 48 + + + CF$UID + 2800 + + + CF$UID + 2801 + + + CF$UID + 2802 + 324431829.74965 + {5540, 1396} + {6662, 0} $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + NS.objects CF$UID - 2446 + 48 + + + CF$UID + 2804 + + + CF$UID + 2805 + + + CF$UID + 2806 + 324437401.74129099 + {0, 3346} + {1797, 0} $class CF$UID - 2422 - - documentURL - - CF$UID - 2407 - - expandTranscript - - indexPath - - CF$UID - 2426 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 437 + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 181 + 48 + + + CF$UID + 2808 + + + CF$UID + 2809 + + + CF$UID + 2810 + 324421435.024073 + {102, 2861} + {193, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 2449 + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 181 + 48 + + + CF$UID + 2812 + + + CF$UID + 2813 + + + CF$UID + 2814 - SelectedDocumentLocations + 324426394.96874899 + {0, 2146} + {1639, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 2451 + 145 CF$UID - 2452 + 146 CF$UID - 2453 + 147 + + + CF$UID + 148 NS.objects CF$UID - 1668 + 48 CF$UID - 2454 + 2816 CF$UID - 2479 + 2817 + + + CF$UID + 2818 - IDEActivityReportTitle - IDEActivityReportCompletionSummaryStringSegments - IDEActivityReportOptions + 324436606.93009198 + {3687, 1874} + {4722, 0} $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + NS.objects CF$UID - 2455 + 48 CF$UID - 2462 + 2820 CF$UID - 2466 + 2821 CF$UID - 2470 + 2822 + 323999071.56422198 + {12932, 1171} + {13981, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 2456 + 145 CF$UID - 2457 + 146 CF$UID - 2458 + 147 + + + CF$UID + 148 NS.objects CF$UID - 2459 + 48 + + + CF$UID + 2824 CF$UID - 2460 + 2825 CF$UID - 2461 + 2826 - IDEActivityReportStringSegmentBackSeparator - IDEActivityReportStringSegmentPriority - IDEActivityReportStringSegmentStringValue - - 2 - Build + 323995848.84945101 + {21965, 1757} + {22896, 95} $class CF$UID - 68 + 71 NS.keys CF$UID - 2456 + 145 + + + CF$UID + 146 CF$UID - 2457 + 147 CF$UID - 2458 + 148 NS.objects CF$UID - 2463 + 48 CF$UID - 2464 + 2828 CF$UID - 2465 + 2829 + + + CF$UID + 2830 - : - 4 - ANTLRTests + 324415593.73750901 + {5439, 1874} + {7064, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 2456 + 145 CF$UID - 2457 + 146 + + + CF$UID + 147 CF$UID - 2458 + 148 NS.objects CF$UID - 2467 + 48 CF$UID - 2468 + 2832 CF$UID - 2469 + 2833 + + + CF$UID + 358 - - 1 - - $class - - CF$UID - 2420 - - NS.data - - YnBsaXN0MDDUAQIDBAUIPT5UJHRvcFgkb2JqZWN0c1gkdmVyc2lv - blkkYXJjaGl2ZXLRBgdUcm9vdIABrQkKERIcHR4mJy0zNjlVJG51 - bGzTCwwNDg8QXE5TQXR0cmlidXRlc1YkY2xhc3NYTlNTdHJpbmeA - A4AMgAJZU3VjY2VlZGVk0xMUDBUYG1pOUy5vYmplY3RzV05TLmtl - eXOiFheABoAJohkagASABYALVk5TRm9udFdOU0NvbG9y1B8gDCEi - IyQlVk5TU2l6ZVZOU05hbWVYTlNmRmxhZ3MjQCYAAAAAAACAB4AI - EQ0QXxARTHVjaWRhR3JhbmRlLUJvbGTSKCkqK1gkY2xhc3Nlc1ok - Y2xhc3NuYW1loissVk5TRm9udFhOU09iamVjdNMuLwwwMTJXTlNX - aGl0ZVxOU0NvbG9yU3BhY2VCMAAQA4AK0igpNDWiNSxXTlNDb2xv - ctIoKTc4ojgsXE5TRGljdGlvbmFyedIoKTo8ojssXxASTlNBdHRy - aWJ1dGVkU3RyaW5nXxASTlNBdHRyaWJ1dGVkU3RyaW5nEgABhqBf - EA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwASgBQ - AFcAZABrAHQAdgB4AHoAhACLAJYAngChAKMApQCoAKoArACuALUA - vQDGAM0A1ADdAOYA6ADqAO0BAQEGAQ8BGgEdASQBLQE0ATwBSQFM - AU4BUAFVAVgBYAFlAWgBdQF6AX0BkgGnAawAAAAAAAACAQAAAAAA - AAA/AAAAAAAAAAAAAAAAAAABvg== - - + 323917117.24232203 + {2409, 1259} $class CF$UID - 68 + 71 NS.keys CF$UID - 2458 + 145 CF$UID - 2471 + 146 CF$UID - 2457 + 147 CF$UID - 2472 + 148 + + NS.objects + CF$UID - 2473 + 48 + + + CF$UID + 2835 + + + CF$UID + 2836 CF$UID - 2474 + 2837 - NS.objects + + 324410006.29558802 + {1940, 2182} + {3080, 0} + + $class + + CF$UID + 71 + + NS.keys CF$UID - 2475 + 567 CF$UID - 95 + 568 CF$UID - 2476 + 569 CF$UID - 95 + 570 + + NS.objects + CF$UID - 95 + 2839 CF$UID - 2477 + 48 + + + CF$UID + 2840 + + + CF$UID + 2841 - IDEActivityReportStringSegmentDateStyle - IDEActivityReportStringSegmentType - IDEActivityReportStringSegmentTimeStyle - IDEActivityReportStringSegmentDate - Today at 8:42 PM - 3 + 324440890.34305298 + {3432, 2012} + {4860, 0} $class CF$UID - 2478 + 71 - NS.time - 324445375.93550199 - - - $classes + NS.keys - NSDate - NSObject + + CF$UID + 567 + + + CF$UID + 568 + + + CF$UID + 569 + + + CF$UID + 570 + + + NS.objects + + + CF$UID + 2843 + + + CF$UID + 48 + + + CF$UID + 2844 + + + CF$UID + 2845 + - $classname - NSDate - 106 + 324440890.34319198 + {78, 2018} + {1759, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 469 + 145 CF$UID - 2481 + 146 CF$UID - 2482 + 147 CF$UID - 2483 + 148 + + NS.objects + CF$UID - 2484 + 48 CF$UID - 42 + 2847 CF$UID - 2485 + 2848 CF$UID - 2486 + 2849 - NS.objects + + 323917830.14173597 + {6240, 2512} + {7297, 0} + + $class + + CF$UID + 71 + + NS.keys CF$UID - 2487 + 145 CF$UID - 3428 + 146 CF$UID - 3429 + 147 CF$UID - 3689 + 148 + + NS.objects + CF$UID - 2483 + 48 CF$UID - 22 + 2851 CF$UID - 3857 + 2852 CF$UID - 168 + 151 - IDEWindowFrame - IDEWorkspaceTabController_F18AFCAA-0B06-4A4A-B3A3-172BB6FE3FF0 - IDEWorkspaceTabController_0E300015-F55C-40BA-9D74-6F096B3B8016 - IDEActiveWorkspaceTabController - IDEOrderedWorkspaceTabControllers - IDEWindowToolbarIsVisible + 324431694.36976302 + {0, 2678} $class CF$UID - 68 + 71 NS.keys CF$UID - 48 + 145 CF$UID - 49 + 146 CF$UID - 50 + 147 CF$UID - 51 + 148 + + NS.objects + CF$UID - 52 + 48 CF$UID - 53 + 2854 CF$UID - 54 + 2855 CF$UID - 55 + 2856 - NS.objects + + 324431995.00957501 + {3979, 1931} + {4147, 0} + + $class + + CF$UID + 71 + + NS.keys CF$UID - 2488 + 145 CF$UID - 57 + 146 CF$UID - 168 + 147 CF$UID - 45 + 148 + + NS.objects + CF$UID - 2489 + 48 CF$UID - 2586 + 2858 CF$UID - 3414 + 2859 CF$UID - 3420 + 2860 - ANTLRTreeAdaptor.m + 324413092.90767199 + {341, 2680} + {2305, 34} $class CF$UID - 68 + 71 NS.keys CF$UID - 59 - - - CF$UID - 60 + 145 CF$UID - 61 + 146 CF$UID - 62 + 147 CF$UID - 63 + 148 + + NS.objects + CF$UID - 64 + 48 CF$UID - 474 + 2862 CF$UID - 65 + 2863 CF$UID - 66 + 2864 - NS.objects + + 324399293.830338 + {6483, 1894} + {7621, 0} + + $class + + CF$UID + 71 + + NS.keys CF$UID - 2490 - - - CF$UID - 2491 + 145 CF$UID - 2506 + 146 CF$UID - 2517 + 147 CF$UID - 45 + 148 + + NS.objects + CF$UID - 57 + 48 CF$UID - 2536 + 2866 CF$UID - 2580 + 2867 CF$UID - 168 + 2868 + 324422940.22563303 + {3038, 2830} + {5494, 0} $class CF$UID - 68 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 70 - - - CF$UID - 71 - - - CF$UID - 72 + 145 CF$UID - 73 + 146 CF$UID - 74 + 147 CF$UID - 75 + 148 NS.objects CF$UID - 2492 - - - CF$UID - 2498 - - - CF$UID - 95 + 48 CF$UID - 95 + 2870 CF$UID - 2504 + 2871 CF$UID - 2505 + 2872 + 323998972.84941399 + {0, 1716} + {236, 19} $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 567 - - NS.objects - CF$UID - 2493 + 568 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 2494 + 569 CF$UID - 2496 + 570 - - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 80 + 2874 CF$UID - 81 + 48 - - NS.objects - CF$UID - 82 + 2875 CF$UID - 2495 + 2876 - 309 + 324440838.34989101 + {0, 1840} + {1601, 0} $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 145 CF$UID - 81 + 146 - - NS.objects - CF$UID - 86 + 147 CF$UID - 2497 + 148 - - 459 - - $class - - CF$UID - 68 - - NS.keys + NS.objects CF$UID - 77 + 48 - - NS.objects - CF$UID - 2499 + 2878 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 2500 + 2879 CF$UID - 2502 + 358 + 323916742.91389602 + {0, 3071} $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 145 CF$UID - 81 + 146 - - NS.objects - CF$UID - 82 + 147 CF$UID - 2501 + 148 - - 309 - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 80 + 48 CF$UID - 81 + 2881 - - NS.objects - CF$UID - 86 + 2882 CF$UID - 2503 + 358 - 459 + 323995798.68886 + {0, 587} $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 145 - - NS.objects - CF$UID - 57 + 146 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 100 + 147 + + + CF$UID + 148 NS.objects CF$UID - 57 + 48 + + + CF$UID + 2884 + + + CF$UID + 2885 + + + CF$UID + 2886 + 324426367.06206697 + {739, 1744} + {1634, 0} $class CF$UID - 121 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 2507 - - rootLayoutTreeNode - - CF$UID - 2515 - - - - $class - - CF$UID - 120 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 2508 - - orientation - 0 - parent - - CF$UID - 2515 - - - - $class - - CF$UID - 117 - - DocumentLocation - - CF$UID - 2513 - - DomainIdentifier - - CF$UID - 104 - - IdentifierPath - - CF$UID - 2509 - - IndexOfDocumentIdentifier - - CF$UID - 57 - - - - $class - - CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 2510 + 145 CF$UID - 2511 + 146 CF$UID - 2512 + 147 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 2488 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 109 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 111 - - - - $class - - CF$UID - 116 - - documentURL - - CF$UID - 2514 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m - - - $class - - CF$UID - 120 - - children - - CF$UID - 2516 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 - - - - $class - - CF$UID - 112 - + + CF$UID + 148 + + NS.objects CF$UID - 2507 + 48 + + + CF$UID + 2888 + + + CF$UID + 2889 + + + CF$UID + 2890 + 323919665.61871201 + {2253, 1777} + {3066, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 2518 + 48 + + + CF$UID + 2892 + + + CF$UID + 2893 + + + CF$UID + 2894 + 323917746.03652102 + {1269, 1981} + {3133, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 2519 + 48 + + + CF$UID + 2896 + + + CF$UID + 2897 + + + CF$UID + 2532 + 323999027.071006 + {0, 1113} $class CF$UID - 84 + 71 NS.keys CF$UID - 127 + 145 CF$UID - 128 + 146 CF$UID - 129 + 147 + + + CF$UID + 148 NS.objects CF$UID - 2520 + 48 CF$UID - 57 + 2899 CF$UID - 2534 + 2900 + + + CF$UID + 2901 + 324415638.39336997 + {524, 2814} + {2988, 0} $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 567 + + + CF$UID + 568 + + + CF$UID + 569 + + + CF$UID + 570 + + NS.objects CF$UID - 2521 + 2903 + + + CF$UID + 48 + + + CF$UID + 2904 + + + CF$UID + 358 + 324441058.64298302 + {47, 2017} $class CF$UID - 68 + 71 NS.keys CF$UID - 138 + 145 CF$UID - 132 + 146 CF$UID - 134 + 147 CF$UID - 135 + 148 + + NS.objects + CF$UID - 136 + 48 CF$UID - 137 + 2906 CF$UID - 133 + 2907 + + + CF$UID + 2908 - NS.objects + + 323999335.35239202 + {2017, 2058} + {3482, 0} + + $class + + CF$UID + 71 + + NS.keys CF$UID - 157 + 145 CF$UID - 2522 + 146 CF$UID - 2523 + 147 + + + CF$UID + 148 + + NS.objects + CF$UID - 2488 + 48 CF$UID - 153 + 2910 CF$UID - 2527 + 2911 CF$UID - 2529 + 2912 - -copyNode: + 324437832.25074202 + {1951, 2511} + {2100, 0} $class CF$UID - 84 + 71 NS.keys CF$UID - 146 + 145 CF$UID - 147 + 146 CF$UID - 148 + 147 CF$UID - 149 + 148 NS.objects CF$UID - 45 + 48 CF$UID - 2524 + 2914 CF$UID - 2525 + 2915 CF$UID - 2526 + 2916 - 324436605.33686697 - {6581, 1360} - {3905, 0} - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2528 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m - - $class - - CF$UID - 117 - - DocumentLocation - - CF$UID - 2513 - - DomainIdentifier - - CF$UID - 104 - - IdentifierPath - - CF$UID - 2530 - - IndexOfDocumentIdentifier - - CF$UID - 57 - - + 324421603.58039403 + {2413, 2126} + {3075, 0} $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + NS.objects CF$UID - 2531 + 48 CF$UID - 2532 + 2918 CF$UID - 2533 + 2919 + + + CF$UID + 2784 + 323991938.742567 + {0, 905} $class CF$UID - 107 - - Identifier - - CF$UID - 2488 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 109 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 111 + 71 + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 48 + + + CF$UID + 2921 + + + CF$UID + 2922 + + + CF$UID + 2784 + + + 323991951.46779501 + {0, 920} $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + NS.objects CF$UID - 2535 + 48 + + + CF$UID + 2924 + + + CF$UID + 2925 + + + CF$UID + 2926 - {{0, 0}, {769, 925}} + 324402854.21050298 + {0, 2222} + {559, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 145 CF$UID - 534 + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 2537 + 48 CF$UID - 2579 + 2928 + + + CF$UID + 2929 + + + CF$UID + 2930 + 324400673.29259199 + {1813, 941} + {2099, 0} $class CF$UID - 68 + 71 NS.keys CF$UID - 536 + 145 CF$UID - 125 + 146 + + + CF$UID + 147 + + + CF$UID + 148 NS.objects CF$UID - 2538 + 48 CF$UID - 2561 + 2932 + + + CF$UID + 2933 + + + CF$UID + 2788 + 323991962.84279197 + {0, 924} $class CF$UID - 84 + 71 NS.keys CF$UID - 127 + 145 CF$UID - 128 + 146 CF$UID - 129 + 147 + + + CF$UID + 148 NS.objects CF$UID - 2539 + 48 CF$UID - 57 + 2935 CF$UID - 2559 + 2936 + + + CF$UID + 358 + 324400461.89105803 + {0, 2382} $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + NS.objects CF$UID - 2540 + 48 + + + CF$UID + 2938 + + + CF$UID + 926 + + + CF$UID + 927 + 323991202.52781898 $class CF$UID - 68 + 71 NS.keys CF$UID - 132 + 145 CF$UID - 133 + 146 CF$UID - 134 + 147 + + + CF$UID + 148 + + NS.objects + CF$UID - 135 + 48 CF$UID - 136 + 2940 CF$UID - 137 + 2941 CF$UID - 138 + 2942 - NS.objects + + 324422018.73711902 + {0, 2893} + {1632, 0} + + $class + + CF$UID + 71 + + NS.keys CF$UID - 2541 + 2944 CF$UID - 2542 + 2946 CF$UID - 2553 + 2948 CF$UID - 2545 + 2950 + + NS.objects + CF$UID - 270 + 2952 CF$UID - 2557 + 2955 + + + CF$UID + 2957 CF$UID - 157 + 2959 - -createTree: $class CF$UID - 117 + 155 - DocumentLocation + NS.base CF$UID - 2551 + 0 - DomainIdentifier + NS.relative CF$UID - 0 + 2945 - IdentifierPath + + x-xcode-log://D77EB64F-D96E-4EE1-9AD5-C2E8CC6078D1 + + $class CF$UID - 2543 + 155 - IndexOfDocumentIdentifier + NS.base CF$UID - 57 + 0 - - - $class + NS.relative CF$UID - 112 + 2947 - NS.objects - - - CF$UID - 2544 - - - CF$UID - 2546 - - - CF$UID - 2547 - - - CF$UID - 2549 - - + x-xcode-log://F5EF2CEA-3A6E-4CE0-88F1-CD36958A1A8E $class CF$UID - 107 + 155 - Identifier + NS.base + + CF$UID + 0 + + NS.relative CF$UID - 2545 + 2949 - ANTLRTreeAdaptor.h + x-xcode-log://4C3C7F23-F763-4ED2-A9D1-2D50EAB289F4 $class CF$UID - 107 + 155 - Identifier + NS.base + + CF$UID + 0 + + NS.relative CF$UID - 109 + 2951 + x-xcode-log://2CCA3A1A-094A-4C2D-8C04-BDB027FCB6DA $class CF$UID - 68 + 71 NS.keys CF$UID - 508 - - - CF$UID - 2548 + 2953 NS.objects CF$UID - 111 - - - CF$UID - 104 + 2954 - manualDomainIdentifier + DBGConsoleLogEditorScrollRange + {7913, 4599} $class CF$UID - 68 + 71 NS.keys CF$UID - 511 + 2953 NS.objects CF$UID - 2550 + 2956 - Xcode.IDEKit.GeniusCategory.Manual + {0, 2227} $class CF$UID - 116 - - documentURL - - CF$UID - 2552 - - timestamp - - CF$UID - 0 + 71 + NS.keys + + + CF$UID + 2953 + + + NS.objects + + + CF$UID + 2958 + + + {745, 2156} $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + NS.keys + + + CF$UID + 2953 + + + NS.objects + + + CF$UID + 2960 + + + {11436, 1351} $class CF$UID - 84 + 71 NS.keys CF$UID - 146 - - - CF$UID - 147 + 2962 CF$UID - 148 + 1924 CF$UID - 149 + 2964 - - NS.objects - CF$UID - 45 + 2018 CF$UID - 2554 + 2002 CF$UID - 2555 + 2965 CF$UID - 2556 + 2967 - - - 324412008.05183703 - {2872, 2448} - {1770, 14} - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 2558 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 2560 + 2969 - - - {{0, 0}, {727, 891}} - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 127 + 2971 CF$UID - 128 + 2008 CF$UID - 129 + 2973 - - NS.objects - CF$UID - 2562 + 2975 CF$UID - 57 + 2977 CF$UID - 2577 + 2979 - - - $class - - CF$UID - 112 - NS.objects CF$UID - 2563 - - - - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 132 + 2981 CF$UID - 133 + 2982 CF$UID - 134 + 2983 CF$UID - 135 + 2984 CF$UID - 136 + 2992 CF$UID - 137 + 2993 CF$UID - 138 + 2998 - - NS.objects - CF$UID - 2564 + 3003 CF$UID - 2565 + 3004 CF$UID - 2572 + 3009 CF$UID - 2488 + 3014 CF$UID - 153 + 3019 CF$UID - 2576 + 3024 CF$UID - 157 + 3027 - -newTreeWithTokenType: $class CF$UID - 117 + 155 - DocumentLocation + NS.base CF$UID - 2570 + 0 - DomainIdentifier + NS.relative CF$UID - 104 + 2963 - IdentifierPath + + x-xcode-log://CF5FF470-4F4A-4184-96B3-5B2F8B4DADFF + + $class CF$UID - 2566 + 155 - IndexOfDocumentIdentifier + NS.base CF$UID - 57 + 0 - - - $class + NS.relative CF$UID - 112 + 1923 - NS.objects - - - CF$UID - 2567 - - - CF$UID - 2568 - - - CF$UID - 2569 - - $class CF$UID - 107 + 155 - Identifier + NS.base CF$UID - 2488 + 0 + + NS.relative + + CF$UID + 2966 + x-xcode-log://F12883C6-1F90-4A68-A7B2-A84A97A444FF $class CF$UID - 107 + 155 - Identifier + NS.base + + CF$UID + 0 + + NS.relative CF$UID - 109 + 2968 + x-xcode-log://C56D6006-8D04-4E05-8056-E1B0EAE370EC $class CF$UID - 107 + 155 - Identifier + NS.base + + CF$UID + 0 + + NS.relative CF$UID - 111 + 2970 + x-xcode-log://35FB82FA-7610-48F5-AA8F-444EB49C032E $class CF$UID - 116 + 155 - documentURL + NS.base CF$UID - 2571 + 0 - timestamp + NS.relative CF$UID - 0 + 2972 + x-xcode-log://86811926-3971-46D4-A0DD-2A6798C8B85F $class CF$UID - 115 + 155 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m - - - $class + NS.base CF$UID - 84 + 0 + + NS.relative + + CF$UID + 2974 - NS.keys - - - CF$UID - 147 - - - CF$UID - 146 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 2573 - - - CF$UID - 45 - - - CF$UID - 2574 - - - CF$UID - 2575 - - - 324412008.05151898 - {1608, 1437} - {2146, 0} + x-xcode-log://F062C011-F180-4D28-8936-769801EA2730 $class CF$UID - 156 + 155 NS.base @@ -43981,316 +49191,266 @@ NS.relative CF$UID - 2528 + 2976 + x-xcode-log://0C4538B8-C5BC-4D32-AEC7-BC703EA08568 $class CF$UID - 112 + 155 - NS.objects - - - CF$UID - 2578 - - - - {{0, 0}, {1239, 891}} - 0.41242939233779907 - - $class + NS.base CF$UID - 68 + 0 - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 2581 - - - - - $class + NS.relative CF$UID - 88 + 2978 - NS.objects - - - CF$UID - 2582 - - - CF$UID - 2584 - - + x-xcode-log://4B1732E0-4B96-4015-94F9-C167BBAAE89D $class CF$UID - 84 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 2980 - NS.keys - - - CF$UID - 80 - - - CF$UID - 81 - - - NS.objects - - - CF$UID - 163 - - - CF$UID - 2583 - - - 203 + x-xcode-log://935AF1AA-6982-47AB-B679-13A9D4F93CE6 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 436 NS.objects - - - CF$UID - 166 - + CF$UID - 2585 + 184 - 115 $class CF$UID - 68 + 71 NS.keys CF$UID - 281 - - - CF$UID - 1233 - - - CF$UID - 171 - - - CF$UID - 172 - - - CF$UID - 170 - - - CF$UID - 2587 + 436 NS.objects CF$UID - 2588 - - - CF$UID - 2592 - - - CF$UID - 2596 - - - CF$UID - 171 - - - CF$UID - 3401 - - - CF$UID - 3410 + 184 - Xcode.DebuggerKit.ThreadsStacksNavigator $class CF$UID - 68 + 71 NS.keys CF$UID - 284 - - - CF$UID - 285 - - - CF$UID - 286 - - - CF$UID - 287 + 436 NS.objects CF$UID - 2589 + 184 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2590 + 2985 + + NS.objects + CF$UID - 2591 + 2986 + + + SelectedDocumentLocations + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 45 + 2987 - {{0, 0}, {259, 847}} $class CF$UID - 88 + 2991 + + documentURL + + CF$UID + 2019 + + expandTranscript + + indexPath + + CF$UID + 2988 + + timestamp + + CF$UID + 0 - NS.objects - $class CF$UID - 88 + 2990 - NS.objects - + NSIndexPathData + + CF$UID + 2989 + + NSIndexPathLength + 3 + + + $class + + CF$UID + 1904 + + NS.data + + AFEG + + + + $classes + + NSIndexPath + NSObject + + $classname + NSIndexPath + + + $classes + + IDELogDocumentLocation + DVTDocumentLocation + NSObject + + $classname + IDELogDocumentLocation $class CF$UID - 68 + 71 NS.keys CF$UID - 1236 - - - CF$UID - 1237 - - - CF$UID - 1238 - - - CF$UID - 1239 - - - CF$UID - 1240 - - - CF$UID - 1241 - - - CF$UID - 1242 + 2985 NS.objects CF$UID - 2593 - - - CF$UID - 57 - - - CF$UID - 2594 - - - CF$UID - 1247 + 184 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 57 + 436 + + NS.objects + CF$UID - 2595 + 2994 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 45 + 2995 @@ -44298,111 +49458,69 @@ $class CF$UID - 1244 + 2991 + + documentURL + + CF$UID + 2966 + + expandTranscript + + indexPath + + CF$UID + 2996 + + timestamp + + CF$UID + 0 - NSRangeCount - 0 $class CF$UID - 1246 + 2990 - NSRangeCount - 0 + NSIndexPathData + + CF$UID + 2997 + + NSIndexPathLength + 2 + + + $class + + CF$UID + 1904 + + NS.data + + AQE= + - invalidNode $class CF$UID - 68 + 71 NS.keys CF$UID - 186 - - - CF$UID - 187 - - - CF$UID - 188 - - - CF$UID - 189 - - - CF$UID - 178 - - - CF$UID - 190 - - - CF$UID - 191 - - - CF$UID - 192 - - - CF$UID - 193 - - - CF$UID - 194 + 436 NS.objects CF$UID - 45 - - - CF$UID - 2597 - - - CF$UID - 2604 - - - CF$UID - 3355 - - - CF$UID - 3398 - - - CF$UID - 45 - - - CF$UID - 45 - - - CF$UID - 3399 - - - CF$UID - 3400 - - - CF$UID - 45 + 2999 @@ -44410,234 +49528,118 @@ $class CF$UID - 196 + 115 NS.objects CF$UID - 374 - - - CF$UID - 2598 - - - CF$UID - 334 - - - CF$UID - 2599 - - - CF$UID - 2600 - - - CF$UID - 2601 - - - CF$UID - 2602 - - - CF$UID - 2603 - - - CF$UID - 246 + 3000 - hoistedPredicates - LL-start - scopes - lexertest-simple - Fuzzy - polydiff $class CF$UID - 196 + 2991 + + documentURL + + CF$UID + 2968 + + expandTranscript + + indexPath + + CF$UID + 3001 + + timestamp + + CF$UID + 0 - NS.objects - - - CF$UID - 2605 - - - CF$UID - 2647 - - - CF$UID - 2678 - - - CF$UID - 2700 - - - CF$UID - 2717 - - - CF$UID - 2745 - - - CF$UID - 2774 - - - CF$UID - 2802 - - - CF$UID - 2947 - - - CF$UID - 3056 - - - CF$UID - 3075 - - - CF$UID - 3083 - - - CF$UID - 3089 - - - CF$UID - 3129 - - - CF$UID - 3189 - - - CF$UID - 3213 - - - CF$UID - 3231 - - - CF$UID - 3248 - - - CF$UID - 3263 - - - CF$UID - 3275 - - - CF$UID - 3289 - - - CF$UID - 3312 - - - CF$UID - 3318 - - - CF$UID - 3343 - - $class CF$UID - 68 + 2990 - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - + NSIndexPathData + + CF$UID + 3002 + + NSIndexPathLength + 2 + + + $class + + CF$UID + 1904 + + NS.data + + AAI= + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2610 + 436 NS.objects CF$UID - 2611 - - - CF$UID - 2612 - - - CF$UID - 2643 + 184 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2643 + 436 + + NS.objects + CF$UID - 2644 + 3005 - type - subissues - shortMessage - fullMessage - documentLocations - Semantic Issue $class CF$UID - 88 + 115 NS.objects CF$UID - 2613 - - - CF$UID - 2637 + 3006 @@ -44645,52 +49647,69 @@ $class CF$UID - 68 + 2991 + + documentURL + + CF$UID + 2972 + + expandTranscript + + indexPath + + CF$UID + 3007 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 2990 + + NSIndexPathData + + CF$UID + 3008 + + NSIndexPathLength + 2 + + + $class + + CF$UID + 1904 + + NS.data + + AL8B + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 2985 NS.objects CF$UID - 2611 - - - CF$UID - 2614 - - - CF$UID - 2635 - - - CF$UID - 2635 - - - CF$UID - 2636 + 3010 @@ -44698,21 +49717,13 @@ $class CF$UID - 88 + 115 NS.objects CF$UID - 2615 - - - CF$UID - 2623 - - - CF$UID - 2629 + 3011 @@ -44720,77 +49731,83 @@ $class CF$UID - 68 + 2991 + + documentURL + + CF$UID + 2009 + + expandTranscript + + indexPath + + CF$UID + 3012 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 2990 + + NSIndexPathData + + CF$UID + 3013 + + NSIndexPathLength + 3 + + + $class + + CF$UID + 1904 + + NS.data + + ACwA + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 436 NS.objects CF$UID - 2616 - - - CF$UID - 2617 - - - CF$UID - 2618 - - - CF$UID - 2618 - - - CF$UID - 2619 + 3015 - Uncategorized - - $class - - CF$UID - 88 - - NS.objects - - - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseTreeAdaptor.h:28: $class CF$UID - 112 + 115 NS.objects CF$UID - 2620 + 3016 @@ -44798,25 +49815,20 @@ $class CF$UID - 2622 + 2991 - characterRangeLen - 0 - characterRangeLoc - -1 documentURL CF$UID - 2621 + 2974 + + expandTranscript + + indexPath + + CF$UID + 3017 - endingColumnNumber - -1 - endingLineNumber - 27 - startingColumnNumber - -1 - startingLineNumber - 27 timestamp CF$UID @@ -44827,71 +49839,45 @@ $class CF$UID - 115 + 2990 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + NSIndexPathData + + CF$UID + 3018 + + NSIndexPathLength + 2 - $classes - - DVTTextDocumentLocation - DVTDocumentLocation - NSObject - - $classname - DVTTextDocumentLocation + $class + + CF$UID + 1904 + + NS.data + + AAA= + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 436 NS.objects CF$UID - 2616 - - - CF$UID - 2624 - - - CF$UID - 2625 - - - CF$UID - 2625 - - - CF$UID - 2626 + 3020 @@ -44899,23 +49885,13 @@ $class CF$UID - 88 - - NS.objects - - - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseTreeAdaptor.m:27: - - $class - - CF$UID - 112 + 115 NS.objects CF$UID - 2627 + 3021 @@ -44923,25 +49899,20 @@ $class CF$UID - 2622 + 2991 - characterRangeLen - 0 - characterRangeLoc - -1 documentURL CF$UID - 2628 + 2976 + + expandTranscript + + indexPath + + CF$UID + 3022 - endingColumnNumber - -1 - endingLineNumber - 26 - startingColumnNumber - -1 - startingLineNumber - 26 timestamp CF$UID @@ -44952,61 +49923,45 @@ $class CF$UID - 115 + 2990 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m + NSIndexPathData + + CF$UID + 3023 + + NSIndexPathLength + 3 + + + $class + + CF$UID + 1904 + + NS.data + + AQMA + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 436 NS.objects CF$UID - 2616 - - - CF$UID - 2630 - - - CF$UID - 2631 - - - CF$UID - 2631 - - - CF$UID - 2632 + 3025 @@ -45014,23 +49969,13 @@ $class CF$UID - 88 - - NS.objects - - - Method declared here in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h - - $class - - CF$UID - 112 + 115 NS.objects CF$UID - 2633 + 3026 @@ -45038,25 +49983,20 @@ $class CF$UID - 2622 + 2991 - characterRangeLen - 0 - characterRangeLoc - -1 documentURL CF$UID - 2634 + 2978 + + expandTranscript + + indexPath + + CF$UID + 2996 - endingColumnNumber - 0 - endingLineNumber - 124 - startingColumnNumber - 0 - startingLineNumber - 124 timestamp CF$UID @@ -45067,244 +50007,285 @@ $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + NS.keys + + + CF$UID + 436 + + + NS.objects + + + CF$UID + 184 + + - Method declared here $class CF$UID - 112 + 71 + + NS.keys + + + CF$UID + 3029 + + + NS.objects + + + CF$UID + 3030 + + + + IDENameString + ANTLR + + $class + + CF$UID + 71 + NS.keys + + + CF$UID + 637 + + + CF$UID + 474 + + + CF$UID + 3032 + + + CF$UID + 3033 + + + CF$UID + 473 + + + CF$UID + 45 + + + CF$UID + 477 + + + CF$UID + 472 + + NS.objects CF$UID - 2633 + 3034 + + + CF$UID + 3974 + + + CF$UID + 3975 + + + CF$UID + 4203 + + + CF$UID + 3033 + + + CF$UID + 25 + + + CF$UID + 4324 + + + CF$UID + 171 + IDEWorkspaceTabController_F18AFCAA-0B06-4A4A-B3A3-172BB6FE3FF0 + IDEWorkspaceTabController_0E300015-F55C-40BA-9D74-6F096B3B8016 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 51 CF$UID - 2607 + 52 CF$UID - 2608 + 53 CF$UID - 2609 + 54 CF$UID - 2610 + 55 + + + CF$UID + 56 + + + CF$UID + 57 + + + CF$UID + 58 NS.objects CF$UID - 2611 + 3035 CF$UID - 2638 + 60 CF$UID - 2639 + 171 CF$UID - 2639 + 48 CF$UID - 2640 + 3036 - - - - $class - - CF$UID - 88 - - NS.objects - - - Required for direct or indirect protocol 'ANTLRTreeAdaptor' - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 2641 + 3133 - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2642 - - endingColumnNumber - 0 - endingLineNumber - 31 - startingColumnNumber - 0 - startingLineNumber - 31 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h - - Method in protocol not implemented - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 2645 + 3960 + + + CF$UID + 3966 + ANTLRTreeAdaptor.m $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2646 - - endingColumnNumber - 0 - endingLineNumber - 31 - startingColumnNumber - 0 - startingLineNumber - 31 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 62 CF$UID - 2607 + 63 CF$UID - 2608 + 64 CF$UID - 2609 + 65 CF$UID - 2610 + 66 + + + CF$UID + 67 + + + CF$UID + 642 + + + CF$UID + 68 + + + CF$UID + 69 NS.objects CF$UID - 2611 + 3037 CF$UID - 2648 + 3038 CF$UID - 2671 + 3053 CF$UID - 2672 + 3064 CF$UID - 2673 + 48 + + + CF$UID + 60 + + + CF$UID + 3083 + + + CF$UID + 3127 + + + CF$UID + 171 @@ -45312,66 +50293,71 @@ $class CF$UID - 88 + 71 + NS.keys + NS.objects - - - CF$UID - 2649 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 73 CF$UID - 2607 + 74 CF$UID - 2608 + 75 CF$UID - 2609 + 76 CF$UID - 2610 + 77 + + + CF$UID + 78 NS.objects CF$UID - 2616 + 3039 CF$UID - 2650 + 3045 CF$UID - 2665 + 98 CF$UID - 2665 + 98 CF$UID - 2666 + 3051 + + + CF$UID + 3052 @@ -45379,17 +50365,20 @@ $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 2651 + 80 + + NS.objects + CF$UID - 2658 + 3040 @@ -45397,76 +50386,116 @@ $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 2606 - - - CF$UID - 2607 + 3041 CF$UID - 2608 + 3043 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2609 + 83 CF$UID - 2610 + 84 NS.objects CF$UID - 2616 + 85 CF$UID - 2652 + 3042 + + + 309 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2653 + 83 CF$UID - 2653 + 84 + + + NS.objects + + + CF$UID + 89 CF$UID - 2654 + 3044 + 459 $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 80 + + NS.objects - + + + CF$UID + 3046 + + - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRCommonTokenStream.m:28: $class CF$UID - 112 + 91 NS.objects CF$UID - 2655 + 3047 + + + CF$UID + 3049 @@ -45474,107 +50503,101 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2656 - - endingColumnNumber - -1 - endingLineNumber - 27 - startingColumnNumber - -1 - startingLineNumber - 27 - timestamp - - CF$UID - 2657 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.m - 0.0 - - $class - - CF$UID - 68 + 87 NS.keys CF$UID - 2606 - - - CF$UID - 2607 + 83 CF$UID - 2608 + 84 + + NS.objects + CF$UID - 2609 + 85 CF$UID - 2610 + 3048 - NS.objects + + 309 + + $class + + CF$UID + 87 + + NS.keys CF$UID - 2616 - - - CF$UID - 2659 + 83 CF$UID - 2660 + 84 + + NS.objects + CF$UID - 2660 + 89 CF$UID - 2661 + 3050 + 459 $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 100 + + NS.objects - + + + CF$UID + 60 + + - Previous definition is here in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.h $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 103 + + NS.objects CF$UID - 2662 + 60 @@ -45582,49 +50605,96 @@ $class CF$UID - 2622 + 124 - characterRangeLen + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 3054 + + rootLayoutTreeNode + + CF$UID + 3062 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 3055 + + orientation 0 - characterRangeLoc - -1 - documentURL + parent CF$UID - 2663 + 3062 - endingColumnNumber - 84 - endingLineNumber - 50 - startingColumnNumber - 84 - startingLineNumber - 50 - timestamp + + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 3060 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 3056 + + IndexOfDocumentIdentifier CF$UID - 2664 + 60 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.h - 0.0 - Previous definition is here $class CF$UID - 112 + 115 NS.objects CF$UID - 2667 + 3057 CF$UID - 2669 + 3058 + + + CF$UID + 3059 @@ -45632,192 +50702,122 @@ $class CF$UID - 2622 + 110 - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL + Identifier CF$UID - 2663 + 3035 - endingColumnNumber - 84 - endingLineNumber - 50 - startingColumnNumber - 84 - startingLineNumber - 50 - timestamp + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 112 + + + + $class + + CF$UID + 110 + + Identifier CF$UID - 2668 + 114 - 0.0 $class CF$UID - 2622 + 119 - characterRangeLen - 0 - characterRangeLoc - -1 documentURL CF$UID - 2663 + 3061 - endingColumnNumber - 83 - endingLineNumber - 50 - startingColumnNumber - 73 - startingLineNumber - 50 timestamp CF$UID - 2670 + 0 - 0.0 - Conflicting parameter types in implementation of 'initWithTokenSource:Channel:': 'NSUInteger' - Conflicting parameter types in implementation of 'initWithTokenSource:Channel:': 'NSUInteger' (aka 'unsigned int') vs 'NSInteger' (aka 'int') $class CF$UID - 112 + 118 - NS.objects - - - CF$UID - 2674 - - - CF$UID - 2676 - - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2656 + 123 - endingColumnNumber - 83 - endingLineNumber - 72 - startingColumnNumber - 83 - startingLineNumber - 72 - timestamp + children CF$UID - 2675 + 3063 - - 0.0 - - $class + contentType + 0 + documentArchivableRepresentation CF$UID - 2622 + 0 - characterRangeLen + orientation 0 - characterRangeLoc - -1 - documentURL + parent CF$UID - 2656 + 0 - endingColumnNumber - 82 - endingLineNumber - 72 - startingColumnNumber - 73 - startingLineNumber - 72 - timestamp + + + $class CF$UID - 2677 + 115 + NS.objects + + + CF$UID + 3054 + + - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 126 NS.objects CF$UID - 2611 - - - CF$UID - 2679 - - - CF$UID - 2672 - - - CF$UID - 2672 - - - CF$UID - 2697 + 3065 @@ -45825,13 +50825,20 @@ $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 128 + + NS.objects CF$UID - 2680 + 3066 @@ -45839,52 +50846,36 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 + 130 CF$UID - 2609 + 131 CF$UID - 2610 + 132 NS.objects CF$UID - 2616 - - - CF$UID - 2681 - - - CF$UID - 2665 + 3067 CF$UID - 2665 + 60 CF$UID - 2692 + 3081 @@ -45892,17 +50883,13 @@ $class CF$UID - 88 + 115 NS.objects CF$UID - 2682 - - - CF$UID - 2687 + 3068 @@ -45910,52 +50897,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 141 CF$UID - 2607 + 135 CF$UID - 2608 + 137 CF$UID - 2609 + 138 CF$UID - 2610 + 139 + + + CF$UID + 140 + + + CF$UID + 136 NS.objects CF$UID - 2616 + 3069 CF$UID - 2683 + 142 CF$UID - 2653 + 3074 CF$UID - 2653 + 3035 CF$UID - 2684 + 152 + + + CF$UID + 3078 + + + CF$UID + 3080 @@ -45963,22 +50966,48 @@ $class CF$UID - 88 + 120 + + DocumentLocation + + CF$UID + 3060 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 3070 + + IndexOfDocumentIdentifier + + CF$UID + 60 - NS.objects - $class CF$UID - 112 + 115 NS.objects CF$UID - 2685 + 3071 + + + CF$UID + 3072 + + + CF$UID + 3073 @@ -45986,153 +51015,146 @@ $class CF$UID - 2622 + 110 - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL + Identifier CF$UID - 2656 + 3035 - endingColumnNumber - -1 - endingLineNumber - 27 - startingColumnNumber - -1 - startingLineNumber - 27 - timestamp + + + $class + + CF$UID + 110 + + Identifier CF$UID - 2686 + 112 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 114 - 0.0 $class CF$UID - 68 + 87 NS.keys CF$UID - 2606 - - - CF$UID - 2607 + 145 CF$UID - 2608 + 146 CF$UID - 2609 + 147 CF$UID - 2610 + 148 NS.objects CF$UID - 2616 - - - CF$UID - 2688 + 48 CF$UID - 2660 + 3075 CF$UID - 2660 + 3076 CF$UID - 2689 + 3077 + 324436605.33686697 + {6581, 1360} + {3905, 0} $class CF$UID - 88 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 3079 - NS.objects - + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m + -copyNode: $class CF$UID - 112 + 115 NS.objects CF$UID - 2690 + 3082 + {{0, 0}, {769, 925}} $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2663 - - endingColumnNumber - 84 - endingLineNumber - 50 - startingColumnNumber - 84 - startingLineNumber - 50 - timestamp - - CF$UID - 2691 - - - 0.0 - - $class - - CF$UID - 112 + 71 + NS.keys + + + CF$UID + 126 + + + CF$UID + 702 + + NS.objects CF$UID - 2693 + 3084 CF$UID - 2695 + 3126 @@ -46140,77 +51162,28 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2663 - - endingColumnNumber - 84 - endingLineNumber - 50 - startingColumnNumber - 84 - startingLineNumber - 50 - timestamp - - CF$UID - 2694 - - - 0.0 - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2663 - - endingColumnNumber - 83 - endingLineNumber - 50 - startingColumnNumber - 73 - startingLineNumber - 50 - timestamp - - CF$UID - 2696 - - - 0.0 - - $class - - CF$UID - 112 + 71 + NS.keys + + + CF$UID + 128 + + + CF$UID + 704 + + NS.objects CF$UID - 2698 + 3085 CF$UID - 2699 + 3103 @@ -46218,297 +51191,234 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2656 - - endingColumnNumber - -1 - endingLineNumber - 72 - startingColumnNumber - -1 - startingLineNumber - 72 - timestamp - - CF$UID - 0 + 87 + NS.keys + + + CF$UID + 130 + + + CF$UID + 131 + + + CF$UID + 132 + + + NS.objects + + + CF$UID + 3086 + + + CF$UID + 60 + + + CF$UID + 3101 + + $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2656 - - endingColumnNumber - -1 - endingLineNumber - 72 - startingColumnNumber - -1 - startingLineNumber - 72 - timestamp - - CF$UID - 0 + 115 + NS.objects + + + CF$UID + 3087 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 135 CF$UID - 2607 + 136 CF$UID - 2608 + 137 CF$UID - 2609 + 138 CF$UID - 2610 + 139 + + + CF$UID + 140 + + + CF$UID + 141 NS.objects CF$UID - 2701 + 142 CF$UID - 2702 + 3088 CF$UID - 2715 + 3089 CF$UID - 2715 + 3035 CF$UID - 2716 + 152 - - - Lexical or Preprocessor Issue - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 2703 + 3093 CF$UID - 2709 + 3094 + -newTreeWithTokenType: $class CF$UID - 68 + 87 NS.keys CF$UID - 2606 - - - CF$UID - 2607 + 146 CF$UID - 2608 + 145 CF$UID - 2609 + 147 CF$UID - 2610 + 148 NS.objects CF$UID - 2616 - - - CF$UID - 2704 + 3090 CF$UID - 2705 + 48 CF$UID - 2705 + 3091 CF$UID - 2706 + 3092 + 324412008.05151898 + {1608, 1437} + {2146, 0} $class CF$UID - 88 + 155 - NS.objects - - - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../examples/simplecTreeParser/SimpleCParser.m:46: - - $class + NS.base CF$UID - 112 + 0 + + NS.relative + + CF$UID + 3079 - NS.objects - - - CF$UID - 2707 - - $class CF$UID - 2622 + 120 - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL + DocumentLocation CF$UID - 2708 + 3099 - endingColumnNumber - -1 - endingLineNumber - 45 - startingColumnNumber - -1 - startingLineNumber - 45 - timestamp + DomainIdentifier CF$UID - 0 + 107 - - - $class + IdentifierPath CF$UID - 115 + 3095 + + IndexOfDocumentIdentifier + + CF$UID + 60 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.m $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - NS.objects CF$UID - 2616 - - - CF$UID - 2710 - - - CF$UID - 2711 + 3096 CF$UID - 2711 + 3097 CF$UID - 2712 + 3098 @@ -46516,49 +51426,49 @@ $class CF$UID - 88 + 110 + + Identifier + + CF$UID + 3035 - NS.objects - - 'ANTLR/ANTLR.h' file not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.h $class + + CF$UID + 110 + + Identifier CF$UID 112 - NS.objects - - - CF$UID - 2713 - - $class CF$UID - 2622 + 110 + + Identifier + + CF$UID + 114 + + + + $class + + CF$UID + 119 - characterRangeLen - 0 - characterRangeLoc - -1 documentURL CF$UID - 2714 + 3100 - endingColumnNumber - 8 - endingLineNumber - 6 - startingColumnNumber - 8 - startingLineNumber - 6 timestamp CF$UID @@ -46569,76 +51479,60 @@ $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m - 'ANTLR/ANTLR.h' file not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2713 + 3102 + {{0, 0}, {1239, 891}} $class CF$UID - 68 + 87 NS.keys CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 + 130 CF$UID - 2609 + 131 CF$UID - 2610 + 132 NS.objects CF$UID - 2611 - - - CF$UID - 2718 - - - CF$UID - 2643 + 3104 CF$UID - 2643 + 60 CF$UID - 2742 + 3124 @@ -46646,17 +51540,13 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 2719 - - - CF$UID - 2737 + 3105 @@ -46664,355 +51554,537 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 135 CF$UID - 2607 + 136 CF$UID - 2608 + 137 CF$UID - 2609 + 138 CF$UID - 2610 + 139 + + + CF$UID + 140 + + + CF$UID + 141 NS.objects CF$UID - 2611 + 142 CF$UID - 2720 + 3106 CF$UID - 2635 + 3107 CF$UID - 2635 + 3111 CF$UID - 2736 + 269 + + + CF$UID + 3112 + + + CF$UID + 3114 + -createTree: $class CF$UID - 88 + 87 + NS.keys + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + NS.objects CF$UID - 2721 + 48 CF$UID - 2726 + 3108 CF$UID - 2731 + 3109 + + + CF$UID + 3110 + 324412008.05183703 + {2872, 2448} + {1770, 14} + ANTLRTreeAdaptor.h $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 - NS.keys + NS.relative + + CF$UID + 3113 + + + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 3122 + + DomainIdentifier + + CF$UID + 0 + + IdentifierPath + + CF$UID + 3115 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 + + NS.objects CF$UID - 2606 + 3116 CF$UID - 2607 + 3117 CF$UID - 2608 + 3118 CF$UID - 2609 + 3120 + + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 3111 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 112 + + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 676 CF$UID - 2610 + 3119 NS.objects CF$UID - 2616 - - - CF$UID - 2722 + 114 CF$UID - 2618 + 107 + + + manualDomainIdentifier + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2618 + 679 + + NS.objects + CF$UID - 2723 + 3121 + Xcode.IDEKit.GeniusCategory.Manual $class CF$UID - 88 + 119 + + documentURL + + CF$UID + 3123 + + timestamp + + CF$UID + 0 - NS.objects - $class CF$UID - 112 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + + + $class + + CF$UID + 91 NS.objects CF$UID - 2724 + 3125 + {{0, 0}, {727, 891}} + 0.41242939233779907 $class CF$UID - 2622 + 71 - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 3128 + + + + + $class CF$UID - 2725 + 91 - endingColumnNumber - -1 - endingLineNumber - 27 - startingColumnNumber - -1 - startingLineNumber - 27 - timestamp + NS.objects + + + CF$UID + 3129 + + + CF$UID + 3131 + + + + + $class CF$UID - 0 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 166 + + + CF$UID + 3130 + + + 203 $class CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 169 + + + CF$UID + 3132 + + + 115 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 173 CF$UID - 2607 + 1501 CF$UID - 2608 + 174 CF$UID - 2609 + 175 CF$UID - 2610 + 3134 + + + CF$UID + 286 NS.objects CF$UID - 2616 + 3135 CF$UID - 2727 + 3145 CF$UID - 2625 + 3149 CF$UID - 2625 + 174 CF$UID - 2728 + 3952 - - - - $class - - CF$UID - 88 - - NS.objects - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 2729 + 3956 + Xcode.DebuggerKit.ThreadsStacksNavigator $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2730 - - endingColumnNumber - -1 - endingLineNumber - 26 - startingColumnNumber - -1 - startingLineNumber - 26 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 177 CF$UID - 2607 + 178 CF$UID - 2608 + 179 CF$UID - 2609 + 180 CF$UID - 2610 + 181 + + + CF$UID + 182 + + + CF$UID + 183 NS.objects CF$UID - 2616 + 3136 CF$UID - 2732 + 48 CF$UID - 2631 + 48 CF$UID - 2631 + 48 CF$UID - 2733 + 3138 + + + CF$UID + 186 + + + CF$UID + 3139 @@ -47020,74 +52092,127 @@ $class CF$UID - 88 + 115 NS.objects - + + + CF$UID + 3137 + + $class CF$UID - 112 + 91 NS.objects CF$UID - 2734 + 114 + {{0, 0}, {456, 847}} $class CF$UID - 2622 + 187 - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL + NS.objects + + + CF$UID + 3140 + + + CF$UID + 3141 + + + CF$UID + 3142 + + + CF$UID + 3144 + + + + + $class CF$UID - 2735 + 91 - endingColumnNumber - 0 - endingLineNumber - 38 - startingColumnNumber - 0 - startingLineNumber - 38 - timestamp + NS.objects + + + CF$UID + 114 + + + + + $class CF$UID - 0 + 91 + NS.objects + + + CF$UID + 114 + + + CF$UID + 379 + + $class CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + NS.objects + + + CF$UID + 114 + + + CF$UID + 253 + + + CF$UID + 3143 + + + scopes $class CF$UID - 112 + 91 NS.objects CF$UID - 2734 + 114 + + + CF$UID + 253 @@ -47095,75 +52220,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 1504 CF$UID - 2607 + 1505 CF$UID - 2608 + 1506 CF$UID - 2609 + 1507 CF$UID - 2610 + 1508 + + + CF$UID + 1509 + + + CF$UID + 1510 NS.objects CF$UID - 2611 + 3146 CF$UID - 2738 + 60 CF$UID - 2639 + 3147 CF$UID - 2639 + 1513 CF$UID - 2739 + 60 - - - - $class - - CF$UID - 88 - - NS.objects - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 2740 + 3148 + + + CF$UID + 48 @@ -47171,201 +52289,111 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2741 + 1174 - endingColumnNumber - 0 - endingLineNumber - 31 - startingColumnNumber + NSRangeCount 0 - startingLineNumber - 31 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h - - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 2743 - - $class CF$UID - 2622 + 1176 - characterRangeLen + NSRangeCount 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2744 - - endingColumnNumber - -1 - endingLineNumber - 31 - startingColumnNumber - -1 - startingLineNumber - 31 - timestamp - - CF$UID - 0 - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m + invalidNode $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 189 CF$UID - 2607 + 190 CF$UID - 2608 + 191 CF$UID - 2609 + 192 CF$UID - 2610 + 181 - - NS.objects - CF$UID - 2611 + 193 CF$UID - 2746 + 194 CF$UID - 2767 + 195 CF$UID - 2768 + 196 CF$UID - 2769 + 197 - - - $class - - CF$UID - 88 - NS.objects CF$UID - 2747 - - - - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 2606 + 48 CF$UID - 2607 + 3150 CF$UID - 2608 + 3156 CF$UID - 2609 + 3906 CF$UID - 2610 + 3949 - - NS.objects - CF$UID - 2616 + 48 CF$UID - 2748 + 48 CF$UID - 2665 + 3950 CF$UID - 2665 + 3951 CF$UID - 2762 + 48 @@ -47373,330 +52401,156 @@ $class CF$UID - 88 + 199 NS.objects CF$UID - 2749 - - - CF$UID - 2756 - - - - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 + 251 CF$UID - 2608 + 3151 CF$UID - 2609 + 337 CF$UID - 2610 + 3152 - - NS.objects - CF$UID - 2616 + 3143 CF$UID - 2750 + 3153 CF$UID - 2751 + 3154 CF$UID - 2751 + 3155 CF$UID - 2752 + 377 + hoistedPredicates + LL-start + lexertest-simple + Fuzzy + polydiff $class CF$UID - 88 - - NS.objects - - - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseTree.m:28: - - $class - - CF$UID - 112 + 199 NS.objects CF$UID - 2753 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2754 - - endingColumnNumber - -1 - endingLineNumber - 27 - startingColumnNumber - -1 - startingLineNumber - 27 - timestamp - - CF$UID - 2755 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.m - 0.0 - - $class - - CF$UID - 68 - - NS.keys - + 3157 + CF$UID - 2606 + 3199 CF$UID - 2607 + 3230 CF$UID - 2608 + 3252 CF$UID - 2609 + 3269 CF$UID - 2610 + 3297 - - NS.objects - CF$UID - 2616 + 3326 CF$UID - 2757 + 3354 CF$UID - 2758 + 3499 CF$UID - 2758 + 3608 CF$UID - 2759 + 3627 - - - - $class - - CF$UID - 88 - - NS.objects - - - Previous definition is here in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 2760 + 3635 - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 1562 - - endingColumnNumber - 32 - endingLineNumber - 126 - startingColumnNumber - 32 - startingLineNumber - 126 - timestamp - - CF$UID - 2761 - - - 0.0 - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 2763 + 3641 CF$UID - 2765 + 3681 - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 1562 - - endingColumnNumber - 32 - endingLineNumber - 126 - startingColumnNumber - 32 - startingLineNumber - 126 - timestamp - - CF$UID - 2764 - - - 0.0 - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 1562 - - endingColumnNumber - 30 - endingLineNumber - 126 - startingColumnNumber - 20 - startingLineNumber - 126 - timestamp - - CF$UID - 2766 - - - 0.0 - Conflicting parameter types in implementation of 'deleteChild:': 'NSUInteger' - Conflicting parameter types in implementation of 'deleteChild:': 'NSUInteger' (aka 'unsigned int') vs 'NSInteger' (aka 'int') - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 2770 + 3741 CF$UID - 2772 + 3765 + + + CF$UID + 3783 + + + CF$UID + 3800 + + + CF$UID + 3815 + + + CF$UID + 3826 + + + CF$UID + 3840 + + + CF$UID + 3863 + + + CF$UID + 3869 + + + CF$UID + 3894 @@ -47704,130 +52558,76 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2754 - - endingColumnNumber - 31 - endingLineNumber - 226 - startingColumnNumber - 31 - startingLineNumber - 226 - timestamp - - CF$UID - 2771 - - - 0.0 - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2754 - - endingColumnNumber - 29 - endingLineNumber - 226 - startingColumnNumber - 20 - startingLineNumber - 226 - timestamp - - CF$UID - 2773 - - - 0.0 - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2775 + 3164 CF$UID - 2799 + 3195 CF$UID - 2799 + 3195 CF$UID - 2800 + 3196 + type + subissues + shortMessage + fullMessage + documentLocations + Semantic Issue $class CF$UID - 88 + 91 NS.objects CF$UID - 2776 + 3165 CF$UID - 2794 + 3189 @@ -47835,52 +52635,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2777 + 3166 CF$UID - 2635 + 3187 CF$UID - 2635 + 3187 CF$UID - 2793 + 3188 @@ -47888,21 +52688,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 2778 + 3167 CF$UID - 2783 + 3175 CF$UID - 2788 + 3181 @@ -47910,75 +52710,77 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 2779 + 3169 CF$UID - 2618 + 3170 CF$UID - 2618 + 3170 CF$UID - 2780 + 3171 + Uncategorized $class CF$UID - 88 + 91 NS.objects + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseTreeAdaptor.h:28: $class CF$UID - 112 + 115 NS.objects CF$UID - 2781 + 3172 @@ -47986,7 +52788,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -47995,7 +52797,7 @@ documentURL CF$UID - 2782 + 3173 endingColumnNumber -1 @@ -48015,61 +52817,71 @@ $class CF$UID - 115 + 118 NS.string file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + + $classes + + DVTTextDocumentLocation + DVTDocumentLocation + NSObject + + $classname + DVTTextDocumentLocation + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 2784 + 3176 CF$UID - 2625 + 3177 CF$UID - 2625 + 3177 CF$UID - 2785 + 3178 @@ -48077,22 +52889,23 @@ $class CF$UID - 88 + 91 NS.objects + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseTreeAdaptor.m:27: $class CF$UID - 112 + 115 NS.objects CF$UID - 2786 + 3179 @@ -48100,7 +52913,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -48109,7 +52922,7 @@ documentURL CF$UID - 2787 + 3180 endingColumnNumber -1 @@ -48129,7 +52942,7 @@ $class CF$UID - 115 + 118 NS.string file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m @@ -48138,52 +52951,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 2789 + 3182 CF$UID - 2631 + 3183 CF$UID - 2631 + 3183 CF$UID - 2790 + 3184 @@ -48191,22 +53004,23 @@ $class CF$UID - 88 + 91 NS.objects + Method declared here in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h $class CF$UID - 112 + 115 NS.objects CF$UID - 2791 + 3185 @@ -48214,7 +53028,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -48223,16 +53037,16 @@ documentURL CF$UID - 2792 + 3186 endingColumnNumber 0 endingLineNumber - 38 + 124 startingColumnNumber 0 startingLineNumber - 38 + 124 timestamp CF$UID @@ -48243,22 +53057,23 @@ $class CF$UID - 115 + 118 NS.string file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + Method declared here $class CF$UID - 112 + 115 NS.objects CF$UID - 2791 + 3185 @@ -48266,52 +53081,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2795 + 3190 CF$UID - 2639 + 3191 CF$UID - 2639 + 3191 CF$UID - 2796 + 3192 @@ -48319,22 +53134,23 @@ $class CF$UID - 88 + 91 NS.objects + Required for direct or indirect protocol 'ANTLRTreeAdaptor' $class CF$UID - 112 + 115 NS.objects CF$UID - 2797 + 3193 @@ -48342,7 +53158,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -48351,7 +53167,7 @@ documentURL CF$UID - 2798 + 3194 endingColumnNumber 0 @@ -48371,23 +53187,23 @@ $class CF$UID - 115 + 118 NS.string file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h - Incomplete implementation + Method in protocol not implemented $class CF$UID - 112 + 115 NS.objects CF$UID - 2801 + 3197 @@ -48395,7 +53211,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -48404,16 +53220,16 @@ documentURL CF$UID - 2744 + 3198 endingColumnNumber - -1 + 0 endingLineNumber - 32 + 31 startingColumnNumber - -1 + 0 startingLineNumber - 32 + 31 timestamp CF$UID @@ -48424,174 +53240,146 @@ $class CF$UID - 68 + 118 - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - - NS.objects - - - CF$UID - 2611 - - - CF$UID - 2803 - - - CF$UID - 2799 - - - CF$UID - 2799 - - - CF$UID - 2945 - - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m $class CF$UID - 88 + 71 - NS.objects - - - CF$UID - 2804 - - - CF$UID - 2810 - - - CF$UID - 2815 - - - CF$UID - 2820 - - - CF$UID - 2825 - + NS.keys + CF$UID - 2830 + 3158 CF$UID - 2835 + 3159 CF$UID - 2840 + 3160 CF$UID - 2845 + 3161 CF$UID - 2850 + 3162 + + NS.objects + CF$UID - 2855 + 3163 CF$UID - 2860 + 3200 CF$UID - 2865 + 3223 CF$UID - 2870 + 3224 CF$UID - 2875 + 3225 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 2880 + 3201 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 2885 + 3158 CF$UID - 2890 + 3159 CF$UID - 2895 + 3160 CF$UID - 2900 + 3161 CF$UID - 2905 + 3162 + + NS.objects + CF$UID - 2910 + 3168 CF$UID - 2915 + 3202 CF$UID - 2920 + 3217 CF$UID - 2925 + 3217 CF$UID - 2930 + 3218 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 2935 + 3203 CF$UID - 2940 + 3210 @@ -48599,52 +53387,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2805 + 3204 CF$UID - 2806 + 3205 CF$UID - 2806 + 3205 CF$UID - 2807 + 3206 @@ -48652,23 +53440,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'init' not found + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRCommonTokenStream.m:28: $class CF$UID - 112 + 115 NS.objects CF$UID - 2808 + 3207 @@ -48676,7 +53464,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -48685,73 +53473,74 @@ documentURL CF$UID - 2809 + 3208 endingColumnNumber -1 endingLineNumber - 38 + 27 startingColumnNumber -1 startingLineNumber - 38 + 27 timestamp CF$UID - 0 + 3209 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.m + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2811 + 3211 CF$UID - 2812 + 3212 CF$UID - 2812 + 3212 CF$UID - 2813 + 3213 @@ -48759,23 +53548,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'copyWithZone:' not found + Previous definition is here in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.h $class CF$UID - 112 + 115 NS.objects CF$UID - 2814 + 3214 @@ -48783,7 +53572,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -48792,72 +53581,40 @@ documentURL CF$UID - 2809 + 3215 endingColumnNumber - -1 + 84 endingLineNumber - 40 + 50 startingColumnNumber - -1 + 84 startingLineNumber - 40 + 50 timestamp CF$UID - 0 + 3216 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.h + 0.0 + Previous definition is here $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - NS.objects CF$UID - 2611 - - - CF$UID - 2816 - - - CF$UID - 2817 - - - CF$UID - 2817 + 3219 CF$UID - 2818 + 3221 @@ -48865,23 +53622,79 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3215 + + endingColumnNumber + 84 + endingLineNumber + 50 + startingColumnNumber + 84 + startingLineNumber + 50 + timestamp + + CF$UID + 3220 - NS.objects - - Method definition for 'emptyNode' not found + 0.0 $class CF$UID - 112 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3215 + + endingColumnNumber + 83 + endingLineNumber + 50 + startingColumnNumber + 73 + startingLineNumber + 50 + timestamp + + CF$UID + 3222 + + + 0.0 + Conflicting parameter types in implementation of 'initWithTokenSource:Channel:': 'NSUInteger' + Conflicting parameter types in implementation of 'initWithTokenSource:Channel:': 'NSUInteger' (aka 'unsigned int') vs 'NSInteger' (aka 'int') + + $class + + CF$UID + 115 NS.objects CF$UID - 2819 + 3226 + + + CF$UID + 3228 @@ -48889,7 +53702,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -48898,72 +53711,103 @@ documentURL CF$UID - 2809 + 3208 endingColumnNumber - -1 + 83 endingLineNumber - 42 + 72 startingColumnNumber + 83 + startingLineNumber + 72 + timestamp + + CF$UID + 3227 + + + 0.0 + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc -1 + documentURL + + CF$UID + 3208 + + endingColumnNumber + 82 + endingLineNumber + 72 + startingColumnNumber + 73 startingLineNumber - 42 + 72 timestamp CF$UID - 0 + 3229 + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2821 + 3231 CF$UID - 2822 + 3224 CF$UID - 2822 + 3224 CF$UID - 2823 + 3249 @@ -48971,23 +53815,66 @@ $class CF$UID - 88 + 91 NS.objects - + + + CF$UID + 3232 + + - Method definition for 'errorNode:From:To:Exception:' not found $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 + + NS.objects CF$UID - 2824 + 3168 + + + CF$UID + 3233 + + + CF$UID + 3217 + + + CF$UID + 3217 + + + CF$UID + 3244 @@ -48995,81 +53882,70 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2809 - - endingColumnNumber - -1 - endingLineNumber - 55 - startingColumnNumber - -1 - startingLineNumber - 55 - timestamp - - CF$UID - 0 + 91 + NS.objects + + + CF$UID + 3234 + + + CF$UID + 3239 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2826 + 3235 CF$UID - 2827 + 3205 CF$UID - 2827 + 3205 CF$UID - 2828 + 3236 @@ -49077,23 +53953,22 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'isNil:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2829 + 3237 @@ -49101,7 +53976,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -49110,72 +53985,73 @@ documentURL CF$UID - 2809 + 3208 endingColumnNumber -1 endingLineNumber - 60 + 27 startingColumnNumber -1 startingLineNumber - 60 + 27 timestamp CF$UID - 0 + 3238 + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2831 + 3240 CF$UID - 2832 + 3212 CF$UID - 2832 + 3212 CF$UID - 2833 + 3241 @@ -49183,23 +54059,70 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'dupTree:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2834 + 3242 + + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3215 + + endingColumnNumber + 84 + endingLineNumber + 50 + startingColumnNumber + 84 + startingLineNumber + 50 + timestamp + + CF$UID + 3243 + + + 0.0 + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 3245 + + + CF$UID + 3247 @@ -49207,7 +54130,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -49216,72 +54139,68 @@ documentURL CF$UID - 2809 + 3215 endingColumnNumber + 84 + endingLineNumber + 50 + startingColumnNumber + 84 + startingLineNumber + 50 + timestamp + + CF$UID + 3246 + + + 0.0 + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc -1 + documentURL + + CF$UID + 3215 + + endingColumnNumber + 83 endingLineNumber - 62 + 50 startingColumnNumber - -1 + 73 startingLineNumber - 62 + 50 timestamp CF$UID - 0 + 3248 + 0.0 $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - NS.objects CF$UID - 2611 - - - CF$UID - 2836 - - - CF$UID - 2837 - - - CF$UID - 2837 + 3250 CF$UID - 2838 + 3251 @@ -49289,31 +54208,36 @@ $class CF$UID - 88 + 3174 - NS.objects - - - Method definition for 'dupTree:Parent:' not found - - $class + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL CF$UID - 112 + 3208 + + endingColumnNumber + -1 + endingLineNumber + 72 + startingColumnNumber + -1 + startingLineNumber + 72 + timestamp + + CF$UID + 0 - NS.objects - - - CF$UID - 2839 - - $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -49322,16 +54246,16 @@ documentURL CF$UID - 2809 + 3208 endingColumnNumber -1 endingLineNumber - 68 + 72 startingColumnNumber -1 startingLineNumber - 68 + 72 timestamp CF$UID @@ -49342,76 +54266,71 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3253 CF$UID - 2841 + 3254 CF$UID - 2842 + 3267 CF$UID - 2842 + 3267 CF$UID - 2843 + 3268 + Lexical or Preprocessor Issue $class CF$UID - 88 - - NS.objects - - - Method definition for 'dupNode:' not found - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 2844 + 3255 + + + CF$UID + 3261 @@ -49419,81 +54338,52 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2809 - - endingColumnNumber - -1 - endingLineNumber - 69 - startingColumnNumber - -1 - startingLineNumber - 69 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2846 + 3256 CF$UID - 2847 + 3257 CF$UID - 2847 + 3257 CF$UID - 2848 + 3258 @@ -49501,23 +54391,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'addChild:toTree:' not found + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../examples/simplecTreeParser/SimpleCParser.m:46: $class CF$UID - 112 + 115 NS.objects CF$UID - 2849 + 3259 @@ -49525,7 +54415,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -49534,16 +54424,16 @@ documentURL CF$UID - 2809 + 3260 endingColumnNumber -1 endingLineNumber - 77 + 45 startingColumnNumber -1 startingLineNumber - 77 + 45 timestamp CF$UID @@ -49554,52 +54444,61 @@ $class CF$UID - 68 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.m + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2851 + 3262 CF$UID - 2852 + 3263 CF$UID - 2852 + 3263 CF$UID - 2853 + 3264 @@ -49607,23 +54506,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'becomeRoot:old:' not found + 'ANTLR/ANTLR.h' file not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.h $class CF$UID - 112 + 115 NS.objects CF$UID - 2854 + 3265 @@ -49631,7 +54530,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -49640,16 +54539,16 @@ documentURL CF$UID - 2809 + 3266 endingColumnNumber - -1 + 8 endingLineNumber - 105 + 6 startingColumnNumber - -1 + 8 startingLineNumber - 105 + 6 timestamp CF$UID @@ -49660,52 +54559,76 @@ $class CF$UID - 68 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.h + + 'ANTLR/ANTLR.h' file not found + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 3265 + + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2856 + 3270 CF$UID - 2857 + 3195 CF$UID - 2857 + 3195 CF$UID - 2858 + 3294 @@ -49713,23 +54636,17 @@ $class CF$UID - 88 - - NS.objects - - - Method definition for 'rulePostProcessing:' not found - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 2859 + 3271 + + + CF$UID + 3289 @@ -49737,81 +54654,52 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2809 - - endingColumnNumber - -1 - endingLineNumber - 108 - startingColumnNumber - -1 - startingLineNumber - 108 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2861 + 3272 CF$UID - 2862 + 3187 CF$UID - 2862 + 3187 CF$UID - 2863 + 3288 @@ -49819,23 +54707,21 @@ $class CF$UID - 88 - - NS.objects - - - Method definition for 'becomeRootfromToken:old:' not found - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 2864 + 3273 + + + CF$UID + 3278 + + + CF$UID + 3283 @@ -49843,81 +54729,52 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2809 - - endingColumnNumber - -1 - endingLineNumber - 110 - startingColumnNumber - -1 - startingLineNumber - 110 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2866 + 3274 CF$UID - 2867 + 3170 CF$UID - 2867 + 3170 CF$UID - 2868 + 3275 @@ -49925,23 +54782,22 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'createTree:FromToken:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2869 + 3276 @@ -49949,7 +54805,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -49958,16 +54814,16 @@ documentURL CF$UID - 2809 + 3277 endingColumnNumber -1 endingLineNumber - 112 + 27 startingColumnNumber -1 startingLineNumber - 112 + 27 timestamp CF$UID @@ -49978,52 +54834,61 @@ $class CF$UID - 68 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2871 + 3279 CF$UID - 2872 + 3177 CF$UID - 2872 + 3177 CF$UID - 2873 + 3280 @@ -50031,23 +54896,22 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'createTree:FromToken:Text:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2874 + 3281 @@ -50055,7 +54919,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -50064,16 +54928,16 @@ documentURL CF$UID - 2809 + 3282 endingColumnNumber -1 endingLineNumber - 114 + 26 startingColumnNumber -1 startingLineNumber - 114 + 26 timestamp CF$UID @@ -50084,52 +54948,61 @@ $class CF$UID - 68 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2876 + 3284 CF$UID - 2877 + 3183 CF$UID - 2877 + 3183 CF$UID - 2878 + 3285 @@ -50137,23 +55010,22 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'createTree:Text:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2879 + 3286 @@ -50161,7 +55033,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -50170,16 +55042,16 @@ documentURL CF$UID - 2809 + 3287 endingColumnNumber - -1 + 0 endingLineNumber - 116 + 38 startingColumnNumber - -1 + 0 startingLineNumber - 116 + 38 timestamp CF$UID @@ -50190,52 +55062,75 @@ $class CF$UID - 68 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 3286 + + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2881 + 3290 CF$UID - 2882 + 3191 CF$UID - 2882 + 3191 CF$UID - 2883 + 3291 @@ -50243,23 +55138,22 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'getType:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2884 + 3292 @@ -50267,7 +55161,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -50276,16 +55170,16 @@ documentURL CF$UID - 2809 + 3293 endingColumnNumber - -1 + 0 endingLineNumber - 118 + 31 startingColumnNumber - -1 + 0 startingLineNumber - 118 + 31 timestamp CF$UID @@ -50296,76 +55190,22 @@ $class CF$UID - 68 - - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - - NS.objects - - - CF$UID - 2611 - - - CF$UID - 2886 - - - CF$UID - 2887 - - - CF$UID - 2887 - - - CF$UID - 2888 - - - - - $class - - CF$UID - 88 + 118 - NS.objects - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h - Method definition for 'setType:Type:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2889 + 3295 @@ -50373,7 +55213,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -50382,72 +55222,73 @@ documentURL CF$UID - 2809 + 3296 endingColumnNumber -1 endingLineNumber - 120 + 31 startingColumnNumber -1 startingLineNumber - 120 + 31 timestamp CF$UID 0 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2891 + 3298 CF$UID - 2892 + 3319 CF$UID - 2892 + 3320 CF$UID - 2893 + 3321 @@ -50455,23 +55296,13 @@ $class CF$UID - 88 - - NS.objects - - - Method definition for 'getText:' not found - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 2894 + 3299 @@ -50479,81 +55310,52 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2809 - - endingColumnNumber - -1 - endingLineNumber - 122 - startingColumnNumber - -1 - startingLineNumber - 122 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2896 + 3300 CF$UID - 2897 + 3217 CF$UID - 2897 + 3217 CF$UID - 2898 + 3314 @@ -50561,23 +55363,17 @@ $class CF$UID - 88 - - NS.objects - - - Method definition for 'setText:Text:' not found - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 2899 + 3301 + + + CF$UID + 3308 @@ -50585,81 +55381,52 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2809 - - endingColumnNumber - -1 - endingLineNumber - 124 - startingColumnNumber - -1 - startingLineNumber - 124 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2901 + 3302 CF$UID - 2902 + 3303 CF$UID - 2902 + 3303 CF$UID - 2903 + 3304 @@ -50667,23 +55434,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'getChild:At:' not found + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseTree.m:28: $class CF$UID - 112 + 115 NS.objects CF$UID - 2904 + 3305 @@ -50691,7 +55458,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -50700,72 +55467,74 @@ documentURL CF$UID - 2809 + 3306 endingColumnNumber -1 endingLineNumber - 126 + 27 startingColumnNumber -1 startingLineNumber - 126 + 27 timestamp CF$UID - 0 + 3307 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.m + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2906 + 3309 CF$UID - 2907 + 3310 CF$UID - 2907 + 3310 CF$UID - 2908 + 3311 @@ -50773,23 +55542,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'setChild:At:Child:' not found + Previous definition is here in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h $class CF$UID - 112 + 115 NS.objects CF$UID - 2909 + 3312 @@ -50797,7 +55566,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -50806,72 +55575,38 @@ documentURL CF$UID - 2809 + 1941 endingColumnNumber - -1 + 32 endingLineNumber - 128 + 126 startingColumnNumber - -1 + 32 startingLineNumber - 128 + 126 timestamp CF$UID - 0 + 3313 + 0.0 $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - NS.objects CF$UID - 2611 - - - CF$UID - 2911 - - - CF$UID - 2912 - - - CF$UID - 2912 + 3315 CF$UID - 2913 + 3317 @@ -50879,23 +55614,79 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 1941 + + endingColumnNumber + 32 + endingLineNumber + 126 + startingColumnNumber + 32 + startingLineNumber + 126 + timestamp + + CF$UID + 3316 - NS.objects - - Method definition for 'deleteChild:Index:' not found + 0.0 $class CF$UID - 112 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 1941 + + endingColumnNumber + 30 + endingLineNumber + 126 + startingColumnNumber + 20 + startingLineNumber + 126 + timestamp + + CF$UID + 3318 + + + 0.0 + Conflicting parameter types in implementation of 'deleteChild:': 'NSUInteger' + Conflicting parameter types in implementation of 'deleteChild:': 'NSUInteger' (aka 'unsigned int') vs 'NSInteger' (aka 'int') + + $class + + CF$UID + 115 NS.objects CF$UID - 2914 + 3322 + + + CF$UID + 3324 @@ -50903,7 +55694,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -50912,72 +55703,103 @@ documentURL CF$UID - 2809 + 3306 endingColumnNumber - -1 + 31 endingLineNumber - 130 + 226 startingColumnNumber + 31 + startingLineNumber + 226 + timestamp + + CF$UID + 3323 + + + 0.0 + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc -1 + documentURL + + CF$UID + 3306 + + endingColumnNumber + 29 + endingLineNumber + 226 + startingColumnNumber + 20 startingLineNumber - 130 + 226 timestamp CF$UID - 0 + 3325 + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2916 + 3327 CF$UID - 2917 + 3351 CF$UID - 2917 + 3351 CF$UID - 2918 + 3352 @@ -50985,23 +55807,17 @@ $class CF$UID - 88 - - NS.objects - - - Method definition for 'getChildCount:' not found - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 2919 + 3328 + + + CF$UID + 3346 @@ -51009,81 +55825,52 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2809 - - endingColumnNumber - -1 - endingLineNumber - 132 - startingColumnNumber - -1 - startingLineNumber - 132 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2921 + 3329 CF$UID - 2922 + 3187 CF$UID - 2922 + 3187 CF$UID - 2923 + 3345 @@ -51091,23 +55878,21 @@ $class CF$UID - 88 - - NS.objects - - - Method definition for 'getUniqueID:' not found - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 2924 + 3330 + + + CF$UID + 3335 + + + CF$UID + 3340 @@ -51115,81 +55900,52 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2809 - - endingColumnNumber - -1 - endingLineNumber - 134 - startingColumnNumber - -1 - startingLineNumber - 134 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2926 + 3331 CF$UID - 2927 + 3170 CF$UID - 2927 + 3170 CF$UID - 2928 + 3332 @@ -51197,23 +55953,22 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'getUniqueID' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2929 + 3333 @@ -51221,7 +55976,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -51230,16 +55985,16 @@ documentURL CF$UID - 2809 + 3334 endingColumnNumber -1 endingLineNumber - 144 + 27 startingColumnNumber -1 startingLineNumber - 144 + 27 timestamp CF$UID @@ -51250,52 +56005,61 @@ $class CF$UID - 68 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2931 + 3336 CF$UID - 2932 + 3177 CF$UID - 2932 + 3177 CF$UID - 2933 + 3337 @@ -51303,23 +56067,22 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'createToken:Text:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2934 + 3338 @@ -51327,7 +56090,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -51336,16 +56099,16 @@ documentURL CF$UID - 2809 + 3339 endingColumnNumber -1 endingLineNumber - 160 + 26 startingColumnNumber -1 startingLineNumber - 160 + 26 timestamp CF$UID @@ -51356,52 +56119,61 @@ $class CF$UID - 68 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 2936 + 3341 CF$UID - 2937 + 3183 CF$UID - 2937 + 3183 CF$UID - 2938 + 3342 @@ -51409,23 +56181,22 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'createToken:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2939 + 3343 @@ -51433,7 +56204,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -51442,16 +56213,16 @@ documentURL CF$UID - 2809 + 3344 endingColumnNumber - -1 + 0 endingLineNumber - 162 + 38 startingColumnNumber - -1 + 0 startingLineNumber - 162 + 38 timestamp CF$UID @@ -51462,52 +56233,75 @@ $class CF$UID - 68 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 3343 + + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2941 + 3347 CF$UID - 2942 + 3191 CF$UID - 2942 + 3191 CF$UID - 2943 + 3348 @@ -51515,23 +56309,22 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'newEmptyTree' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2944 + 3349 @@ -51539,7 +56332,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -51548,16 +56341,16 @@ documentURL CF$UID - 2809 + 3350 endingColumnNumber - -1 + 0 endingLineNumber - 36 + 31 startingColumnNumber - -1 + 0 startingLineNumber - 36 + 31 timestamp CF$UID @@ -51568,13 +56361,23 @@ $class CF$UID - 112 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + + Incomplete implementation + + $class + + CF$UID + 115 NS.objects CF$UID - 2946 + 3353 @@ -51582,7 +56385,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -51591,16 +56394,16 @@ documentURL CF$UID - 2744 + 3296 endingColumnNumber -1 endingLineNumber - 31 + 32 startingColumnNumber -1 startingLineNumber - 31 + 32 timestamp CF$UID @@ -51611,52 +56414,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2948 + 3355 CF$UID - 2799 + 3351 CF$UID - 2799 + 3351 CF$UID - 3054 + 3497 @@ -51664,181 +56467,121 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 2949 - - - CF$UID - 2969 + 3356 CF$UID - 2986 + 3362 CF$UID - 3003 + 3367 CF$UID - 3020 + 3372 CF$UID - 3037 + 3377 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 2606 + 3382 CF$UID - 2607 + 3387 CF$UID - 2608 + 3392 CF$UID - 2609 + 3397 CF$UID - 2610 + 3402 - - NS.objects - CF$UID - 2611 + 3407 CF$UID - 2950 + 3412 CF$UID - 2965 + 3417 CF$UID - 2965 + 3422 CF$UID - 2966 + 3427 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 2951 + 3432 CF$UID - 2958 + 3437 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 2606 + 3442 CF$UID - 2607 + 3447 CF$UID - 2608 + 3452 CF$UID - 2609 + 3457 CF$UID - 2610 + 3462 - - NS.objects - CF$UID - 2616 + 3467 CF$UID - 2952 + 3472 CF$UID - 2953 + 3477 CF$UID - 2953 + 3482 CF$UID - 2954 + 3487 - - - - $class - - CF$UID - 88 - - NS.objects - - - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRLexerState.m:27: - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 2955 + 3492 @@ -51846,83 +56589,52 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2956 - - endingColumnNumber - -1 - endingLineNumber - 26 - startingColumnNumber - -1 - startingLineNumber - 26 - timestamp - - CF$UID - 2957 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.m - 0.0 - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 2959 + 3357 CF$UID - 2960 + 3358 CF$UID - 2960 + 3358 CF$UID - 2961 + 3359 @@ -51930,23 +56642,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'getTokenType' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h + Method definition for 'init' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2962 + 3360 @@ -51954,7 +56666,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -51963,119 +56675,73 @@ documentURL CF$UID - 2963 + 3361 endingColumnNumber - 0 - endingLineNumber - 38 - startingColumnNumber - 0 - startingLineNumber - 38 - timestamp - - CF$UID - 2964 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h - 0.0 - Method definition for 'getTokenType' not found - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 2967 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc -1 - documentURL - - CF$UID - 2963 - - endingColumnNumber - 0 endingLineNumber 38 startingColumnNumber - 0 + -1 startingLineNumber 38 timestamp CF$UID - 2968 + 0 - 0.0 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2970 + 3363 CF$UID - 2982 + 3364 CF$UID - 2982 + 3364 CF$UID - 2983 + 3365 @@ -52083,17 +56749,23 @@ $class CF$UID - 88 + 91 + + NS.objects + + + Method definition for 'copyWithZone:' not found + + $class + + CF$UID + 115 NS.objects CF$UID - 2971 - - - CF$UID - 2976 + 3366 @@ -52101,52 +56773,81 @@ $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 40 + startingColumnNumber + -1 + startingLineNumber + 40 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 2972 + 3368 CF$UID - 2953 + 3369 CF$UID - 2953 + 3369 CF$UID - 2973 + 3370 @@ -52154,22 +56855,23 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'emptyNode' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2974 + 3371 @@ -52177,7 +56879,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -52186,73 +56888,72 @@ documentURL CF$UID - 2956 + 3361 endingColumnNumber -1 endingLineNumber - 26 + 42 startingColumnNumber -1 startingLineNumber - 26 + 42 timestamp CF$UID - 2975 + 0 - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 2977 + 3373 CF$UID - 2978 + 3374 CF$UID - 2978 + 3374 CF$UID - 2979 + 3375 @@ -52260,23 +56961,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'getChannel' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h + Method definition for 'errorNode:From:To:Exception:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2980 + 3376 @@ -52284,7 +56985,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -52293,118 +56994,72 @@ documentURL CF$UID - 2963 + 3361 endingColumnNumber - 0 - endingLineNumber - 41 - startingColumnNumber - 0 - startingLineNumber - 41 - timestamp - - CF$UID - 2981 - - - 0.0 - Method definition for 'getChannel' not found - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 2984 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc -1 - documentURL - - CF$UID - 2963 - - endingColumnNumber - 0 endingLineNumber - 41 + 55 startingColumnNumber - 0 + -1 startingLineNumber - 41 + 55 timestamp CF$UID - 2985 + 0 - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 2987 + 3378 CF$UID - 2999 + 3379 CF$UID - 2999 + 3379 CF$UID - 3000 + 3380 @@ -52412,17 +57067,23 @@ $class CF$UID - 88 + 91 + + NS.objects + + + Method definition for 'isNil:' not found + + $class + + CF$UID + 115 NS.objects CF$UID - 2988 - - - CF$UID - 2993 + 3381 @@ -52430,52 +57091,81 @@ $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 60 + startingColumnNumber + -1 + startingLineNumber + 60 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 2989 + 3383 CF$UID - 2953 + 3384 CF$UID - 2953 + 3384 CF$UID - 2990 + 3385 @@ -52483,22 +57173,23 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'dupTree:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2991 + 3386 @@ -52506,7 +57197,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -52515,73 +57206,72 @@ documentURL CF$UID - 2956 + 3361 endingColumnNumber -1 endingLineNumber - 26 + 62 startingColumnNumber -1 startingLineNumber - 26 + 62 timestamp CF$UID - 2992 + 0 - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 2994 + 3388 CF$UID - 2995 + 3389 CF$UID - 2995 + 3389 CF$UID - 2996 + 3390 @@ -52589,23 +57279,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'getTokenStartLine' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h + Method definition for 'dupTree:Parent:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 2997 + 3391 @@ -52613,7 +57303,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -52622,118 +57312,72 @@ documentURL CF$UID - 2963 + 3361 endingColumnNumber - 0 - endingLineNumber - 44 - startingColumnNumber - 0 - startingLineNumber - 44 - timestamp - - CF$UID - 2998 - - - 0.0 - Method definition for 'getTokenStartLine' not found - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 3001 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc -1 - documentURL - - CF$UID - 2963 - - endingColumnNumber - 0 endingLineNumber - 44 + 68 startingColumnNumber - 0 + -1 startingLineNumber - 44 + 68 timestamp CF$UID - 3002 + 0 - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3004 + 3393 CF$UID - 3016 + 3394 CF$UID - 3016 + 3394 CF$UID - 3017 + 3395 @@ -52741,17 +57385,23 @@ $class CF$UID - 88 + 91 + + NS.objects + + + Method definition for 'dupNode:' not found + + $class + + CF$UID + 115 NS.objects CF$UID - 3005 - - - CF$UID - 3010 + 3396 @@ -52759,52 +57409,81 @@ $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 69 + startingColumnNumber + -1 + startingLineNumber + 69 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3006 + 3398 CF$UID - 2953 + 3399 CF$UID - 2953 + 3399 CF$UID - 3007 + 3400 @@ -52812,22 +57491,23 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'addChild:toTree:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3008 + 3401 @@ -52835,7 +57515,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -52844,73 +57524,72 @@ documentURL CF$UID - 2956 + 3361 endingColumnNumber -1 endingLineNumber - 26 + 77 startingColumnNumber -1 startingLineNumber - 26 + 77 timestamp CF$UID - 3009 + 0 - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3011 + 3403 CF$UID - 3012 + 3404 CF$UID - 3012 + 3404 CF$UID - 3013 + 3405 @@ -52918,23 +57597,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'getTokenCharPositionInLine' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h + Method definition for 'becomeRoot:old:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3014 + 3406 @@ -52942,7 +57621,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -52951,118 +57630,72 @@ documentURL CF$UID - 2963 + 3361 endingColumnNumber - 0 - endingLineNumber - 47 - startingColumnNumber - 0 - startingLineNumber - 47 - timestamp - - CF$UID - 3015 - - - 0.0 - Method definition for 'getTokenCharPositionInLine' not found - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 3018 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc -1 - documentURL - - CF$UID - 2963 - - endingColumnNumber - 0 endingLineNumber - 47 + 105 startingColumnNumber - 0 + -1 startingLineNumber - 47 + 105 timestamp CF$UID - 3019 + 0 - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3021 + 3408 CF$UID - 3033 + 3409 CF$UID - 3033 + 3409 CF$UID - 3034 + 3410 @@ -53070,17 +57703,23 @@ $class CF$UID - 88 + 91 + + NS.objects + + + Method definition for 'rulePostProcessing:' not found + + $class + + CF$UID + 115 NS.objects CF$UID - 3022 - - - CF$UID - 3027 + 3411 @@ -53088,52 +57727,81 @@ $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 108 + startingColumnNumber + -1 + startingLineNumber + 108 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3023 + 3413 CF$UID - 2953 + 3414 CF$UID - 2953 + 3414 CF$UID - 3024 + 3415 @@ -53141,22 +57809,23 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'becomeRootfromToken:old:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3025 + 3416 @@ -53164,7 +57833,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -53173,73 +57842,72 @@ documentURL CF$UID - 2956 + 3361 endingColumnNumber -1 endingLineNumber - 26 + 110 startingColumnNumber -1 startingLineNumber - 26 + 110 timestamp CF$UID - 3026 + 0 - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3028 + 3418 CF$UID - 3029 + 3419 CF$UID - 3029 + 3419 CF$UID - 3030 + 3420 @@ -53247,23 +57915,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'getTokenStartCharIndex' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h + Method definition for 'createTree:FromToken:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3031 + 3421 @@ -53271,7 +57939,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -53280,118 +57948,72 @@ documentURL CF$UID - 2963 + 3361 endingColumnNumber - 0 - endingLineNumber - 50 - startingColumnNumber - 0 - startingLineNumber - 50 - timestamp - - CF$UID - 3032 - - - 0.0 - Method definition for 'getTokenStartCharIndex' not found - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 3035 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc -1 - documentURL - - CF$UID - 2963 - - endingColumnNumber - 0 endingLineNumber - 50 + 112 startingColumnNumber - 0 + -1 startingLineNumber - 50 + 112 timestamp CF$UID - 3036 + 0 - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3038 + 3423 CF$UID - 3050 + 3424 CF$UID - 3050 + 3424 CF$UID - 3051 + 3425 @@ -53399,17 +58021,23 @@ $class CF$UID - 88 + 91 + + NS.objects + + + Method definition for 'createTree:FromToken:Text:' not found + + $class + + CF$UID + 115 NS.objects CF$UID - 3039 - - - CF$UID - 3044 + 3426 @@ -53417,52 +58045,81 @@ $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 114 + startingColumnNumber + -1 + startingLineNumber + 114 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3040 + 3428 CF$UID - 2953 + 3429 CF$UID - 2953 + 3429 CF$UID - 3041 + 3430 @@ -53470,22 +58127,23 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'createTree:Text:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3042 + 3431 @@ -53493,7 +58151,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -53502,73 +58160,72 @@ documentURL CF$UID - 2956 + 3361 endingColumnNumber -1 endingLineNumber - 26 + 116 startingColumnNumber -1 startingLineNumber - 26 + 116 timestamp CF$UID - 3043 + 0 - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3045 + 3433 CF$UID - 3046 + 3434 CF$UID - 3046 + 3434 CF$UID - 3047 + 3435 @@ -53576,23 +58233,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'getText' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h + Method definition for 'getType:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3048 + 3436 @@ -53600,7 +58257,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -53609,35 +58266,72 @@ documentURL CF$UID - 2963 + 3361 endingColumnNumber - 0 + -1 endingLineNumber - 53 + 118 startingColumnNumber - 0 + -1 startingLineNumber - 53 + 118 timestamp CF$UID - 3049 + 0 - 0.0 - Method definition for 'getText' not found $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 + + NS.objects CF$UID - 3052 + 3163 + + + CF$UID + 3438 + + + CF$UID + 3439 + + + CF$UID + 3439 + + + CF$UID + 3440 @@ -53645,43 +58339,23 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2963 - - endingColumnNumber - 0 - endingLineNumber - 53 - startingColumnNumber - 0 - startingLineNumber - 53 - timestamp - - CF$UID - 3053 + 91 + NS.objects + - 0.0 + Method definition for 'setType:Type:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3055 + 3441 @@ -53689,7 +58363,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -53698,16 +58372,16 @@ documentURL CF$UID - 2956 + 3361 endingColumnNumber -1 endingLineNumber - 29 + 120 startingColumnNumber -1 startingLineNumber - 29 + 120 timestamp CF$UID @@ -53718,52 +58392,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3057 + 3443 CF$UID - 2799 + 3444 CF$UID - 2799 + 3444 CF$UID - 3072 + 3445 @@ -53771,66 +58445,23 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3058 - - + + Method definition for 'getText:' not found $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - NS.objects CF$UID - 2611 - - - CF$UID - 3059 - - - CF$UID - 2927 - - - CF$UID - 2927 - - - CF$UID - 3071 + 3446 @@ -53838,70 +58469,81 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 122 + startingColumnNumber + -1 + startingLineNumber + 122 + timestamp + + CF$UID + 0 - NS.objects - - - CF$UID - 3060 - - - CF$UID - 3065 - - $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3061 + 3448 CF$UID - 2625 + 3449 CF$UID - 2625 + 3449 CF$UID - 3062 + 3450 @@ -53909,22 +58551,23 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'setText:Text:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3063 + 3451 @@ -53932,7 +58575,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -53941,16 +58584,16 @@ documentURL CF$UID - 3064 + 3361 endingColumnNumber -1 endingLineNumber - 26 + 124 startingColumnNumber -1 startingLineNumber - 26 + 124 timestamp CF$UID @@ -53961,61 +58604,52 @@ $class CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3066 + 3453 CF$UID - 3067 + 3454 CF$UID - 3067 + 3454 CF$UID - 3068 + 3455 @@ -54023,23 +58657,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'getUniqueID' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + Method definition for 'getChild:At:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3069 + 3456 @@ -54047,7 +58681,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -54056,16 +58690,16 @@ documentURL CF$UID - 3070 + 3361 endingColumnNumber - 0 + -1 endingLineNumber - 144 + 126 startingColumnNumber - 0 + -1 startingLineNumber - 144 + 126 timestamp CF$UID @@ -54076,36 +58710,76 @@ $class CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + NS.keys + + + CF$UID + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 + + + NS.objects + + + CF$UID + 3163 + + + CF$UID + 3458 + + + CF$UID + 3459 + + + CF$UID + 3459 + + + CF$UID + 3460 + + $class CF$UID - 112 + 91 NS.objects - - - CF$UID - 3069 - - + + Method definition for 'setChild:At:Child:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3073 + 3461 @@ -54113,7 +58787,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -54122,16 +58796,16 @@ documentURL CF$UID - 3074 + 3361 endingColumnNumber - 0 + -1 endingLineNumber - 31 + 128 startingColumnNumber - 0 + -1 startingLineNumber - 31 + 128 timestamp CF$UID @@ -54142,61 +58816,52 @@ $class CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3076 + 3463 CF$UID - 2635 + 3464 CF$UID - 2635 + 3464 CF$UID - 2793 + 3465 @@ -54204,21 +58869,23 @@ $class CF$UID - 88 + 91 + + NS.objects + + + Method definition for 'deleteChild:Index:' not found + + $class + + CF$UID + 115 NS.objects CF$UID - 3077 - - - CF$UID - 3079 - - - CF$UID - 3081 + 3466 @@ -54226,52 +58893,81 @@ $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 130 + startingColumnNumber + -1 + startingLineNumber + 130 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3078 + 3468 CF$UID - 2618 + 3469 CF$UID - 2618 + 3469 CF$UID - 2780 + 3470 @@ -54279,61 +58975,23 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'getChildCount:' not found $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - NS.objects CF$UID - 2616 - - - CF$UID - 3080 - - - CF$UID - 2625 - - - CF$UID - 2625 - - - CF$UID - 2785 + 3471 @@ -54341,61 +58999,81 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 132 + startingColumnNumber + -1 + startingLineNumber + 132 + timestamp + + CF$UID + 0 - NS.objects - $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3082 + 3473 CF$UID - 2631 + 3474 CF$UID - 2631 + 3474 CF$UID - 2790 + 3475 @@ -54403,61 +59081,105 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'getUniqueID:' not found + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 3476 + + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 134 + startingColumnNumber + -1 + startingLineNumber + 134 + timestamp + + CF$UID + 0 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3084 + 3478 CF$UID - 2927 + 3479 CF$UID - 2927 + 3479 CF$UID - 3071 + 3480 @@ -54465,17 +59187,23 @@ $class CF$UID - 88 + 91 + + NS.objects + + + Method definition for 'getUniqueID' not found + + $class + + CF$UID + 115 NS.objects CF$UID - 3085 - - - CF$UID - 3087 + 3481 @@ -54483,52 +59211,81 @@ $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 144 + startingColumnNumber + -1 + startingLineNumber + 144 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3086 + 3483 CF$UID - 2625 + 3484 CF$UID - 2625 + 3484 CF$UID - 3062 + 3485 @@ -54536,61 +59293,23 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'createToken:Text:' not found $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - NS.objects CF$UID - 2616 - - - CF$UID - 3088 - - - CF$UID - 3067 - - - CF$UID - 3067 - - - CF$UID - 3068 + 3486 @@ -54598,61 +59317,81 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 160 + startingColumnNumber + -1 + startingLineNumber + 160 + timestamp + + CF$UID + 0 - NS.objects - $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3090 + 3488 CF$UID - 3125 + 3489 CF$UID - 3125 + 3489 CF$UID - 3126 + 3490 @@ -54660,29 +59399,23 @@ $class CF$UID - 88 + 91 + + NS.objects + + + Method definition for 'createToken:' not found + + $class + + CF$UID + 115 NS.objects CF$UID - 3091 - - - CF$UID - 3098 - - - CF$UID - 3105 - - - CF$UID - 3112 - - - CF$UID - 3119 + 3491 @@ -54690,52 +59423,105 @@ $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 162 + startingColumnNumber + -1 + startingLineNumber + 162 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3092 + 3493 CF$UID - 3093 + 3494 CF$UID - 3093 + 3494 CF$UID - 3094 + 3495 + + + + + $class + + CF$UID + 91 + + NS.objects + + + Method definition for 'newEmptyTree' not found + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 3496 @@ -54743,23 +59529,42 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3361 + + endingColumnNumber + -1 + endingLineNumber + 36 + startingColumnNumber + -1 + startingLineNumber + 36 + timestamp + + CF$UID + 0 - NS.objects - - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../examples/combined/antlr3.h:59: $class CF$UID - 112 + 115 NS.objects CF$UID - 3095 + 3498 @@ -54767,7 +59572,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -54776,74 +59581,72 @@ documentURL CF$UID - 3096 + 3296 endingColumnNumber -1 endingLineNumber - 58 + 31 startingColumnNumber -1 startingLineNumber - 58 + 31 timestamp CF$UID - 3097 + 0 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/combined/antlr3.h - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3099 + 3500 CF$UID - 3100 + 3351 CF$UID - 3100 + 3351 CF$UID - 3101 + 3606 @@ -54851,23 +59654,33 @@ $class CF$UID - 88 - - NS.objects - - - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../examples/combined/CombinedLexer.h:7: - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 3102 + 3501 + + + CF$UID + 3521 + + + CF$UID + 3538 + + + CF$UID + 3555 + + + CF$UID + 3572 + + + CF$UID + 3589 @@ -54875,83 +59688,52 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3103 - - endingColumnNumber - -1 - endingLineNumber - 6 - startingColumnNumber - -1 - startingLineNumber - 6 - timestamp - - CF$UID - 3104 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/combined/CombinedLexer.h - 0.0 - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3106 + 3502 CF$UID - 3107 + 3517 CF$UID - 3107 + 3517 CF$UID - 3108 + 3518 @@ -54959,23 +59741,17 @@ $class CF$UID - 88 - - NS.objects - - - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../examples/combined/main.m:2: - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 3109 + 3503 + + + CF$UID + 3510 @@ -54983,83 +59759,52 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3110 - - endingColumnNumber - -1 - endingLineNumber - 1 - startingColumnNumber - -1 - startingLineNumber - 1 - timestamp - - CF$UID - 3111 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/combined/main.m - 0.0 - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3113 + 3504 CF$UID - 3114 + 3505 CF$UID - 3114 + 3505 CF$UID - 3115 + 3506 @@ -55067,23 +59812,23 @@ $class CF$UID - 88 + 91 NS.objects - Duplicate protocol definition of 'ANTLRIntStream' is ignored in /Users/acondit/Library/Developer/Xcode/DerivedData/ANTLR-awfvqfoybjihuiaoxllmwcgxqxnm/Build/Products/Debug/ANTLR.framework/Headers/ANTLRIntStream.h + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRLexerState.m:27: $class CF$UID - 112 + 115 NS.objects CF$UID - 3116 + 3507 @@ -55091,7 +59836,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -55100,82 +59845,74 @@ documentURL CF$UID - 3117 + 3508 endingColumnNumber - 10 + -1 endingLineNumber 26 startingColumnNumber - 10 + -1 startingLineNumber 26 timestamp CF$UID - 3118 + 3509 - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRIntStream.h - + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.m 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3120 + 3511 CF$UID - 2665 + 3512 CF$UID - 2665 + 3512 CF$UID - 3121 + 3513 @@ -55183,22 +59920,23 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'getTokenType' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h $class CF$UID - 112 + 115 NS.objects CF$UID - 3122 + 3514 @@ -55206,7 +59944,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -55215,36 +59953,36 @@ documentURL CF$UID - 3123 + 3515 endingColumnNumber 0 endingLineNumber - 26 + 38 startingColumnNumber 0 startingLineNumber - 26 + 38 timestamp CF$UID - 3124 + 3516 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRIntStream.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h 0.0 - Duplicate protocol definition of 'ANTLRIntStream' is ignored + Method definition for 'getTokenType' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3127 + 3519 @@ -55252,7 +59990,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -55261,20 +59999,20 @@ documentURL CF$UID - 3117 + 3515 endingColumnNumber - 10 + 0 endingLineNumber - 26 + 38 startingColumnNumber - 10 + 0 startingLineNumber - 26 + 38 timestamp CF$UID - 3128 + 3520 0.0 @@ -55282,52 +60020,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3130 + 3522 CF$UID - 2643 + 3534 CF$UID - 2643 + 3534 CF$UID - 3187 + 3535 @@ -55335,65 +60073,137 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3131 + 3523 CF$UID - 3133 + 3528 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3135 + 3158 CF$UID - 3137 + 3159 CF$UID - 3139 + 3160 CF$UID - 3141 + 3161 CF$UID - 3143 + 3162 + + NS.objects + CF$UID - 3145 + 3168 CF$UID - 3147 + 3524 CF$UID - 3149 + 3505 CF$UID - 3151 + 3505 CF$UID - 3153 + 3525 + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3155 + 3526 + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3508 + + endingColumnNumber + -1 + endingLineNumber + 26 + startingColumnNumber + -1 + startingLineNumber + 26 + timestamp + + CF$UID + 3527 + + + 0.0 + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3157 + 3158 CF$UID @@ -55401,55 +60211,38 @@ CF$UID - 3161 - - - CF$UID - 3163 - - - CF$UID - 3165 - - - CF$UID - 3167 - - - CF$UID - 3169 - - - CF$UID - 3171 + 3160 CF$UID - 3173 + 3161 CF$UID - 3175 + 3162 + + NS.objects + CF$UID - 3177 + 3168 CF$UID - 3179 + 3529 CF$UID - 3181 + 3530 CF$UID - 3183 + 3530 CF$UID - 3185 + 3531 @@ -55457,52 +60250,68 @@ $class CF$UID - 68 + 91 - NS.keys + NS.objects + + + Method definition for 'getChannel' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h + + $class + + CF$UID + 115 + + NS.objects CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 3532 + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3515 + + endingColumnNumber + 0 + endingLineNumber + 41 + startingColumnNumber + 0 + startingLineNumber + 41 + timestamp + + CF$UID + 3533 + + + 0.0 + Method definition for 'getChannel' not found + + $class + + CF$UID + 115 + NS.objects CF$UID - 2611 - - - CF$UID - 3132 - - - CF$UID - 2806 - - - CF$UID - 2806 - - - CF$UID - 2807 + 3536 @@ -55510,61 +60319,82 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3515 + + endingColumnNumber + 0 + endingLineNumber + 41 + startingColumnNumber + 0 + startingLineNumber + 41 + timestamp + + CF$UID + 3537 - NS.objects - + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3134 + 3539 CF$UID - 2812 + 3551 CF$UID - 2812 + 3551 CF$UID - 2813 + 3552 @@ -55572,61 +60402,70 @@ $class CF$UID - 88 + 91 NS.objects - + + + CF$UID + 3540 + + + CF$UID + 3545 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3136 + 3541 CF$UID - 2817 + 3505 CF$UID - 2817 + 3505 CF$UID - 2818 + 3542 @@ -55634,7 +60473,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -55643,52 +60482,96 @@ $class CF$UID - 68 + 115 + + NS.objects + + + CF$UID + 3543 + + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3508 + + endingColumnNumber + -1 + endingLineNumber + 26 + startingColumnNumber + -1 + startingLineNumber + 26 + timestamp + + CF$UID + 3544 + + + 0.0 + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3138 + 3546 CF$UID - 2822 + 3547 CF$UID - 2822 + 3547 CF$UID - 2823 + 3548 @@ -55696,61 +60579,68 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'getTokenStartLine' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h $class CF$UID - 68 + 115 - NS.keys + NS.objects CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 3549 + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3515 + + endingColumnNumber + 0 + endingLineNumber + 44 + startingColumnNumber + 0 + startingLineNumber + 44 + timestamp + + CF$UID + 3550 + + + 0.0 + Method definition for 'getTokenStartLine' not found + + $class + + CF$UID + 115 + NS.objects CF$UID - 2611 - - - CF$UID - 3140 - - - CF$UID - 2827 - - - CF$UID - 2827 - - - CF$UID - 2828 + 3553 @@ -55758,61 +60648,82 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3515 + + endingColumnNumber + 0 + endingLineNumber + 44 + startingColumnNumber + 0 + startingLineNumber + 44 + timestamp + + CF$UID + 3554 - NS.objects - + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3142 + 3556 CF$UID - 2832 + 3568 CF$UID - 2832 + 3568 CF$UID - 2833 + 3569 @@ -55820,61 +60731,70 @@ $class CF$UID - 88 + 91 NS.objects - + + + CF$UID + 3557 + + + CF$UID + 3562 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3144 + 3558 CF$UID - 2837 + 3505 CF$UID - 2837 + 3505 CF$UID - 2838 + 3559 @@ -55882,7 +60802,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -55891,52 +60811,96 @@ $class CF$UID - 68 + 115 + + NS.objects + + + CF$UID + 3560 + + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3508 + + endingColumnNumber + -1 + endingLineNumber + 26 + startingColumnNumber + -1 + startingLineNumber + 26 + timestamp + + CF$UID + 3561 + + + 0.0 + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3146 + 3563 CF$UID - 2842 + 3564 CF$UID - 2842 + 3564 CF$UID - 2843 + 3565 @@ -55944,61 +60908,68 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'getTokenCharPositionInLine' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h $class CF$UID - 68 + 115 - NS.keys + NS.objects CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 3566 + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3515 + + endingColumnNumber + 0 + endingLineNumber + 47 + startingColumnNumber + 0 + startingLineNumber + 47 + timestamp + + CF$UID + 3567 + + + 0.0 + Method definition for 'getTokenCharPositionInLine' not found + + $class + + CF$UID + 115 + NS.objects CF$UID - 2611 - - - CF$UID - 3148 - - - CF$UID - 2847 - - - CF$UID - 2847 - - - CF$UID - 2848 + 3570 @@ -56006,61 +60977,82 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3515 + + endingColumnNumber + 0 + endingLineNumber + 47 + startingColumnNumber + 0 + startingLineNumber + 47 + timestamp + + CF$UID + 3571 - NS.objects - + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3150 + 3573 CF$UID - 2852 + 3585 CF$UID - 2852 + 3585 CF$UID - 2853 + 3586 @@ -56068,61 +61060,70 @@ $class CF$UID - 88 + 91 NS.objects - + + + CF$UID + 3574 + + + CF$UID + 3579 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3152 + 3575 CF$UID - 2857 + 3505 CF$UID - 2857 + 3505 CF$UID - 2858 + 3576 @@ -56130,7 +61131,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -56139,52 +61140,13 @@ $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - NS.objects CF$UID - 2611 - - - CF$UID - 3154 - - - CF$UID - 2862 - - - CF$UID - 2862 - - - CF$UID - 2863 + 3577 @@ -56192,61 +61154,82 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3508 + + endingColumnNumber + -1 + endingLineNumber + 26 + startingColumnNumber + -1 + startingLineNumber + 26 + timestamp + + CF$UID + 3578 - NS.objects - + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3156 + 3580 CF$UID - 2867 + 3581 CF$UID - 2867 + 3581 CF$UID - 2868 + 3582 @@ -56254,61 +61237,68 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'getTokenStartCharIndex' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h $class CF$UID - 68 + 115 - NS.keys + NS.objects CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 3583 + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3515 + + endingColumnNumber + 0 + endingLineNumber + 50 + startingColumnNumber + 0 + startingLineNumber + 50 + timestamp + + CF$UID + 3584 + + + 0.0 + Method definition for 'getTokenStartCharIndex' not found + + $class + + CF$UID + 115 + NS.objects CF$UID - 2611 - - - CF$UID - 3158 - - - CF$UID - 2872 - - - CF$UID - 2872 - - - CF$UID - 2873 + 3587 @@ -56316,61 +61306,82 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3515 + + endingColumnNumber + 0 + endingLineNumber + 50 + startingColumnNumber + 0 + startingLineNumber + 50 + timestamp + + CF$UID + 3588 - NS.objects - + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3160 + 3590 CF$UID - 2877 + 3602 CF$UID - 2877 + 3602 CF$UID - 2878 + 3603 @@ -56378,61 +61389,70 @@ $class CF$UID - 88 + 91 NS.objects - + + + CF$UID + 3591 + + + CF$UID + 3596 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3162 + 3592 CF$UID - 2882 + 3505 CF$UID - 2882 + 3505 CF$UID - 2883 + 3593 @@ -56440,7 +61460,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -56449,52 +61469,96 @@ $class CF$UID - 68 + 115 + + NS.objects + + + CF$UID + 3594 + + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3508 + + endingColumnNumber + -1 + endingLineNumber + 26 + startingColumnNumber + -1 + startingLineNumber + 26 + timestamp + + CF$UID + 3595 + + + 0.0 + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3164 + 3597 CF$UID - 2887 + 3598 CF$UID - 2887 + 3598 CF$UID - 2888 + 3599 @@ -56502,61 +61566,112 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'getText' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.h $class CF$UID - 68 + 115 - NS.keys + NS.objects CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 3600 + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3515 + + endingColumnNumber + 0 + endingLineNumber + 53 + startingColumnNumber + 0 + startingLineNumber + 53 + timestamp + + CF$UID + 3601 + + + 0.0 + Method definition for 'getText' not found + + $class + + CF$UID + 115 + NS.objects CF$UID - 2611 - - - CF$UID - 3166 - - - CF$UID - 2892 - - - CF$UID - 2892 + 3604 + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3515 + + endingColumnNumber + 0 + endingLineNumber + 53 + startingColumnNumber + 0 + startingLineNumber + 53 + timestamp + + CF$UID + 3605 + + + 0.0 + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 2893 + 3607 @@ -56564,61 +61679,81 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3508 + + endingColumnNumber + -1 + endingLineNumber + 29 + startingColumnNumber + -1 + startingLineNumber + 29 + timestamp + + CF$UID + 0 - NS.objects - $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3168 + 3609 CF$UID - 2897 + 3351 CF$UID - 2897 + 3351 CF$UID - 2898 + 3624 @@ -56626,61 +61761,66 @@ $class CF$UID - 88 + 91 NS.objects - + + + CF$UID + 3610 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3170 + 3611 CF$UID - 2902 + 3479 CF$UID - 2902 + 3479 CF$UID - 2903 + 3623 @@ -56688,61 +61828,70 @@ $class CF$UID - 88 + 91 NS.objects - + + + CF$UID + 3612 + + + CF$UID + 3617 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3172 + 3613 CF$UID - 2907 + 3177 CF$UID - 2907 + 3177 CF$UID - 2908 + 3614 @@ -56750,7 +61899,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -56759,52 +61908,13 @@ $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - NS.objects CF$UID - 2611 - - - CF$UID - 3174 - - - CF$UID - 2912 - - - CF$UID - 2912 - - - CF$UID - 2913 + 3615 @@ -56812,61 +61922,90 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3616 + + endingColumnNumber + -1 + endingLineNumber + 26 + startingColumnNumber + -1 + startingLineNumber + 26 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 - NS.objects - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3176 + 3618 CF$UID - 2917 + 3619 CF$UID - 2917 + 3619 CF$UID - 2918 + 3620 @@ -56874,61 +62013,89 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'getUniqueID' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h $class CF$UID - 68 + 115 - NS.keys + NS.objects CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 3621 + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3622 + + endingColumnNumber + 0 + endingLineNumber + 144 + startingColumnNumber + 0 + startingLineNumber + 144 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + + + $class + + CF$UID + 115 + NS.objects CF$UID - 2611 - - - CF$UID - 3178 - - - CF$UID - 2922 - - - CF$UID - 2922 + 3621 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 2923 + 3625 @@ -56936,61 +62103,90 @@ $class CF$UID - 88 + 3174 - NS.objects - + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3626 + + endingColumnNumber + 0 + endingLineNumber + 31 + startingColumnNumber + 0 + startingLineNumber + 31 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3180 + 3628 CF$UID - 2927 + 3187 CF$UID - 2927 + 3187 CF$UID - 2928 + 3345 @@ -56998,61 +62194,74 @@ $class CF$UID - 88 + 91 NS.objects - + + + CF$UID + 3629 + + + CF$UID + 3631 + + + CF$UID + 3633 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3182 + 3630 CF$UID - 2932 + 3170 CF$UID - 2932 + 3170 CF$UID - 2933 + 3332 @@ -57060,7 +62269,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -57069,52 +62278,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3184 + 3632 CF$UID - 2937 + 3177 CF$UID - 2937 + 3177 CF$UID - 2938 + 3337 @@ -57122,7 +62331,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -57131,52 +62340,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3186 + 3634 CF$UID - 2942 + 3183 CF$UID - 2942 + 3183 CF$UID - 2943 + 3342 @@ -57184,7 +62393,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -57193,95 +62402,52 @@ $class CF$UID - 112 - - NS.objects - - - CF$UID - 3188 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2744 - - endingColumnNumber - -1 - endingLineNumber - 31 - startingColumnNumber - -1 - startingLineNumber - 31 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3190 + 3636 CF$UID - 3208 + 3479 CF$UID - 3208 + 3479 CF$UID - 3209 + 3623 @@ -57289,13 +62455,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3191 + 3637 + + + CF$UID + 3639 @@ -57303,52 +62473,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3192 + 3638 CF$UID - 2665 + 3177 CF$UID - 2665 + 3177 CF$UID - 3205 + 3614 @@ -57356,70 +62526,61 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3193 - - - CF$UID - 3199 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3194 + 3640 CF$UID - 3195 + 3619 CF$UID - 3195 + 3619 CF$UID - 3196 + 3620 @@ -57427,114 +62588,61 @@ $class CF$UID - 88 + 91 NS.objects - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBufferedTreeNodeStream.m:31: - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 3197 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3198 - - endingColumnNumber - -1 - endingLineNumber - 30 - startingColumnNumber - -1 - startingLineNumber - 30 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m - $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3200 + 3642 CF$UID - 3201 + 3677 CF$UID - 3201 + 3677 CF$UID - 3202 + 3678 @@ -57542,23 +62650,29 @@ $class CF$UID - 88 - - NS.objects - - - Previous definition is here in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.h - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 3203 + 3643 + + + CF$UID + 3650 + + + CF$UID + 3657 + + + CF$UID + 3664 + + + CF$UID + 3671 @@ -57566,55 +62680,52 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3204 - - endingColumnNumber - 27 - endingLineNumber - 114 - startingColumnNumber - 27 - startingLineNumber - 114 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.h - - - $class - - CF$UID - 112 + 71 + NS.keys + + + CF$UID + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 + + NS.objects CF$UID - 3203 + 3168 CF$UID - 3206 + 3644 + + + CF$UID + 3645 + + + CF$UID + 3645 + + + CF$UID + 3646 @@ -57622,56 +62733,23 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3207 - - endingColumnNumber - 25 - endingLineNumber - 114 - startingColumnNumber - 16 - startingLineNumber - 114 - timestamp - - CF$UID - 0 + 91 + NS.objects + + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../examples/combined/antlr3.h:59: $class CF$UID 115 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.h - - Conflicting parameter types in implementation of 'getNode:': 'NSInteger' (aka 'int') vs 'NSUInteger' (aka 'unsigned int') - - $class - - CF$UID - 112 - NS.objects CF$UID - 3210 - - - CF$UID - 3212 + 3647 @@ -57679,37 +62757,7 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3211 - - endingColumnNumber - -1 - endingLineNumber - 269 - startingColumnNumber - -1 - startingLineNumber - 269 - timestamp - - CF$UID - 0 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m - - $class - - CF$UID - 2622 + 3174 characterRangeLen 0 @@ -57718,72 +62766,74 @@ documentURL CF$UID - 3211 + 3648 endingColumnNumber -1 endingLineNumber - 269 + 58 startingColumnNumber -1 startingLineNumber - 269 + 58 timestamp CF$UID - 0 + 3649 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/combined/antlr3.h + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3214 + 3651 CF$UID - 2635 + 3652 CF$UID - 2635 + 3652 CF$UID - 3230 + 3653 @@ -57791,21 +62841,23 @@ $class CF$UID - 88 + 91 + + NS.objects + + + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../examples/combined/CombinedLexer.h:7: + + $class + + CF$UID + 115 NS.objects CF$UID - 3215 - - - CF$UID - 3220 - - - CF$UID - 3225 + 3654 @@ -57813,52 +62865,83 @@ $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3655 + + endingColumnNumber + -1 + endingLineNumber + 6 + startingColumnNumber + -1 + startingLineNumber + 6 + timestamp + + CF$UID + 3656 + + + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/combined/CombinedLexer.h + 0.0 + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3216 + 3658 CF$UID - 2618 + 3659 CF$UID - 2618 + 3659 CF$UID - 3217 + 3660 @@ -57866,22 +62949,23 @@ $class CF$UID - 88 + 91 NS.objects + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../examples/combined/main.m:2: $class CF$UID - 112 + 115 NS.objects CF$UID - 3218 + 3661 @@ -57889,7 +62973,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -57898,81 +62982,74 @@ documentURL CF$UID - 3219 + 3662 endingColumnNumber -1 endingLineNumber - 27 + 1 startingColumnNumber -1 startingLineNumber - 27 + 1 timestamp CF$UID - 0 - - - - $class - - CF$UID - 115 + 3663 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/combined/main.m + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3221 + 3665 CF$UID - 2625 + 3666 CF$UID - 2625 + 3666 CF$UID - 3222 + 3667 @@ -57980,22 +63057,23 @@ $class CF$UID - 88 + 91 NS.objects + Duplicate protocol definition of 'ANTLRIntStream' is ignored in /Users/acondit/Library/Developer/Xcode/DerivedData/ANTLR-awfvqfoybjihuiaoxllmwcgxqxnm/Build/Products/Debug/ANTLR.framework/Headers/ANTLRIntStream.h $class CF$UID - 112 + 115 NS.objects CF$UID - 3223 + 3668 @@ -58003,7 +63081,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -58012,81 +63090,82 @@ documentURL CF$UID - 3224 + 3669 endingColumnNumber - -1 + 10 endingLineNumber 26 startingColumnNumber - -1 + 10 startingLineNumber 26 timestamp CF$UID - 0 + 3670 $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRIntStream.h + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3226 + 3672 CF$UID - 2631 + 3217 CF$UID - 2631 + 3217 CF$UID - 3227 + 3673 @@ -58094,7 +63173,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -58103,13 +63182,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 3228 + 3674 @@ -58117,7 +63196,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -58126,42 +63205,36 @@ documentURL CF$UID - 3229 + 3675 endingColumnNumber 0 endingLineNumber - 126 + 26 startingColumnNumber 0 startingLineNumber - 126 + 26 timestamp CF$UID - 0 + 3676 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRIntStream.h + 0.0 + Duplicate protocol definition of 'ANTLRIntStream' is ignored $class CF$UID 115 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h - - - $class - - CF$UID - 112 - NS.objects CF$UID - 3228 + 3679 @@ -58169,52 +63242,82 @@ $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3669 + + endingColumnNumber + 10 + endingLineNumber + 26 + startingColumnNumber + 10 + startingLineNumber + 26 + timestamp + + CF$UID + 3680 + + + 0.0 + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3232 + 3682 CF$UID - 2643 + 3195 CF$UID - 2643 + 3195 CF$UID - 3246 + 3739 @@ -58222,17 +63325,121 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3233 + 3683 CF$UID - 3241 + 3685 + + + CF$UID + 3687 + + + CF$UID + 3689 + + + CF$UID + 3691 + + + CF$UID + 3693 + + + CF$UID + 3695 + + + CF$UID + 3697 + + + CF$UID + 3699 + + + CF$UID + 3701 + + + CF$UID + 3703 + + + CF$UID + 3705 + + + CF$UID + 3707 + + + CF$UID + 3709 + + + CF$UID + 3711 + + + CF$UID + 3713 + + + CF$UID + 3715 + + + CF$UID + 3717 + + + CF$UID + 3719 + + + CF$UID + 3721 + + + CF$UID + 3723 + + + CF$UID + 3725 + + + CF$UID + 3727 + + + CF$UID + 3729 + + + CF$UID + 3731 + + + CF$UID + 3733 + + + CF$UID + 3735 + + + CF$UID + 3737 @@ -58240,52 +63447,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3234 + 3684 CF$UID - 2635 + 3358 CF$UID - 2635 + 3358 CF$UID - 3230 + 3359 @@ -58293,74 +63500,61 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3235 - - - CF$UID - 3237 - - - CF$UID - 3239 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3236 + 3686 CF$UID - 2618 + 3364 CF$UID - 2618 + 3364 CF$UID - 3217 + 3365 @@ -58368,7 +63562,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -58377,52 +63571,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3238 + 3688 CF$UID - 2625 + 3369 CF$UID - 2625 + 3369 CF$UID - 3222 + 3370 @@ -58430,7 +63624,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -58439,52 +63633,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3240 + 3690 CF$UID - 2631 + 3374 CF$UID - 2631 + 3374 CF$UID - 3227 + 3375 @@ -58492,7 +63686,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -58501,52 +63695,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3242 + 3692 CF$UID - 2639 + 3379 CF$UID - 2639 + 3379 CF$UID - 3243 + 3380 @@ -58554,7 +63748,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -58563,147 +63757,52 @@ $class CF$UID - 112 - - NS.objects - - - CF$UID - 3244 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3245 - - endingColumnNumber - 0 - endingLineNumber - 31 - startingColumnNumber - 0 - startingLineNumber - 31 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h - - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 3247 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2744 - - endingColumnNumber - -1 - endingLineNumber - 31 - startingColumnNumber - -1 - startingLineNumber - 31 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3249 + 3694 CF$UID - 2643 + 3384 CF$UID - 2643 + 3384 CF$UID - 3260 + 3385 @@ -58711,70 +63810,61 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3250 - - - CF$UID - 3258 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3251 + 3696 CF$UID - 2635 + 3389 CF$UID - 2635 + 3389 CF$UID - 2736 + 3390 @@ -58782,74 +63872,61 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3252 - - - CF$UID - 3254 - - - CF$UID - 3256 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3253 + 3698 CF$UID - 2618 + 3394 CF$UID - 2618 + 3394 CF$UID - 2723 + 3395 @@ -58857,7 +63934,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -58866,52 +63943,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3255 + 3700 CF$UID - 2625 + 3399 CF$UID - 2625 + 3399 CF$UID - 2728 + 3400 @@ -58919,7 +63996,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -58928,52 +64005,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3257 + 3702 CF$UID - 2631 + 3404 CF$UID - 2631 + 3404 CF$UID - 2733 + 3405 @@ -58981,7 +64058,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -58990,52 +64067,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3259 + 3704 CF$UID - 2639 + 3409 CF$UID - 2639 + 3409 CF$UID - 2739 + 3410 @@ -59043,7 +64120,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -59052,104 +64129,52 @@ $class CF$UID - 112 - - NS.objects - - - CF$UID - 3261 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3262 - - endingColumnNumber - 0 - endingLineNumber - 31 - startingColumnNumber - 0 - startingLineNumber - 31 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3264 + 3706 CF$UID - 3270 + 3414 CF$UID - 3270 + 3414 CF$UID - 3271 + 3415 @@ -59157,66 +64182,61 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3265 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3266 + 3708 CF$UID - 3267 + 3419 CF$UID - 3267 + 3419 CF$UID - 3268 + 3420 @@ -59224,71 +64244,61 @@ $class CF$UID - 88 + 91 NS.objects - Passing argument to parameter 'node' here $class CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 3269 + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 1562 - - endingColumnNumber - -1 - endingLineNumber - 106 - startingColumnNumber - -1 - startingLineNumber - 106 - timestamp - - CF$UID - 0 - - - Sending 'id<ANTLRTree>' to parameter of incompatible type 'id<ANTLRBaseTree>' - - $class - - CF$UID - 112 - NS.objects CF$UID - 3272 + 3163 CF$UID - 3274 + 3710 + + + CF$UID + 3424 + + + CF$UID + 3424 + + + CF$UID + 3425 @@ -59296,111 +64306,61 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3273 - - endingColumnNumber - -1 - endingLineNumber - 58 - startingColumnNumber - -1 - startingLineNumber - 58 - timestamp - - CF$UID - 0 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.m - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3273 - - endingColumnNumber - -1 - endingLineNumber - 58 - startingColumnNumber - -1 - startingLineNumber - 58 - timestamp - - CF$UID - 0 + 91 + NS.objects + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3276 + 3712 CF$UID - 2643 + 3429 CF$UID - 2643 + 3429 CF$UID - 3287 + 3430 @@ -59408,70 +64368,61 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3277 - - - CF$UID - 3285 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3278 + 3714 CF$UID - 2635 + 3434 CF$UID - 2635 + 3434 CF$UID - 2793 + 3435 @@ -59479,74 +64430,61 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3279 - - - CF$UID - 3281 - - - CF$UID - 3283 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3280 + 3716 CF$UID - 2618 + 3439 CF$UID - 2618 + 3439 CF$UID - 2780 + 3440 @@ -59554,7 +64492,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -59563,52 +64501,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3282 + 3718 CF$UID - 2625 + 3444 CF$UID - 2625 + 3444 CF$UID - 2785 + 3445 @@ -59616,7 +64554,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -59625,52 +64563,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3284 + 3720 CF$UID - 2631 + 3449 CF$UID - 2631 + 3449 CF$UID - 2790 + 3450 @@ -59678,7 +64616,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -59687,52 +64625,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3286 + 3722 CF$UID - 2639 + 3454 CF$UID - 2639 + 3454 CF$UID - 2796 + 3455 @@ -59740,7 +64678,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -59749,95 +64687,52 @@ $class CF$UID - 112 - - NS.objects - - - CF$UID - 3288 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2744 - - endingColumnNumber - -1 - endingLineNumber - 32 - startingColumnNumber - -1 - startingLineNumber - 32 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3290 + 3724 CF$UID - 2799 + 3459 CF$UID - 2799 + 3459 CF$UID - 3310 + 3460 @@ -59845,66 +64740,61 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3291 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3292 + 3726 CF$UID - 3306 + 3464 CF$UID - 3306 + 3464 CF$UID - 3307 + 3465 @@ -59912,70 +64802,61 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3293 - - - CF$UID - 3299 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3294 + 3728 CF$UID - 3295 + 3469 CF$UID - 3295 + 3469 CF$UID - 3296 + 3470 @@ -59983,106 +64864,61 @@ $class CF$UID - 88 + 91 NS.objects - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRUnbufferedCommonTreeNodeStream.m:28: - - $class - - CF$UID - 112 - - NS.objects - - - CF$UID - 3297 - - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 155 - - endingColumnNumber - -1 - endingLineNumber - 27 - startingColumnNumber - -1 - startingLineNumber - 27 - timestamp - - CF$UID - 3298 - - - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3300 + 3730 CF$UID - 3301 + 3474 CF$UID - 3301 + 3474 CF$UID - 3302 + 3475 @@ -60090,113 +64926,61 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'toStringFromNode:toNode:' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.h $class CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 3303 + 3158 - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3304 - - endingColumnNumber - 0 - endingLineNumber - 92 - startingColumnNumber - 0 - startingLineNumber - 92 - timestamp - - CF$UID - 3305 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.h - 0.0 - Method definition for 'toStringFromNode:toNode:' not found - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3308 + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3304 - - endingColumnNumber - 0 - endingLineNumber - 92 - startingColumnNumber - 0 - startingLineNumber - 92 - timestamp - - CF$UID - 3309 - - - 0.0 - - $class - - CF$UID - 112 - NS.objects CF$UID - 3311 + 3163 + + + CF$UID + 3732 + + + CF$UID + 3479 + + + CF$UID + 3479 + + + CF$UID + 3480 @@ -60204,81 +64988,61 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 155 - - endingColumnNumber - -1 - endingLineNumber - 33 - startingColumnNumber - -1 - startingLineNumber - 33 - timestamp - - CF$UID - 0 + 91 + NS.objects + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3313 + 3734 CF$UID - 3306 + 3484 CF$UID - 3306 + 3484 CF$UID - 3307 + 3485 @@ -60286,70 +65050,61 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3314 - - - CF$UID - 3316 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3315 + 3736 CF$UID - 3295 + 3489 CF$UID - 3295 + 3489 CF$UID - 3296 + 3490 @@ -60357,7 +65112,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -60366,52 +65121,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3317 + 3738 CF$UID - 3301 + 3494 CF$UID - 3301 + 3494 CF$UID - 3302 + 3495 @@ -60419,61 +65174,104 @@ $class CF$UID - 88 + 91 + + NS.objects + + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 3740 + + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3296 + + endingColumnNumber + -1 + endingLineNumber + 31 + startingColumnNumber + -1 + startingLineNumber + 31 + timestamp + + CF$UID + 0 - NS.objects - $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3319 + 3742 CF$UID - 2799 + 3760 CF$UID - 2799 + 3760 CF$UID - 3340 + 3761 @@ -60481,13 +65279,13 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3320 + 3743 @@ -60495,52 +65293,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3168 CF$UID - 3321 + 3744 CF$UID - 3336 + 3217 CF$UID - 3336 + 3217 CF$UID - 3337 + 3757 @@ -60548,17 +65346,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3322 + 3745 CF$UID - 3329 + 3751 @@ -60566,52 +65364,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3323 + 3746 CF$UID - 3324 + 3747 CF$UID - 3324 + 3747 CF$UID - 3325 + 3748 @@ -60619,23 +65417,23 @@ $class CF$UID - 88 + 91 NS.objects - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRRuntimeException.m:32: + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBufferedTreeNodeStream.m:31: $class CF$UID - 112 + 115 NS.objects CF$UID - 3326 + 3749 @@ -60643,7 +65441,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -60652,74 +65450,81 @@ documentURL CF$UID - 3327 + 3750 endingColumnNumber -1 endingLineNumber - 31 + 30 startingColumnNumber -1 startingLineNumber - 31 + 30 timestamp CF$UID - 3328 + 0 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.m - 0.0 $class CF$UID - 68 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m + + + $class + + CF$UID + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3330 + 3752 CF$UID - 3331 + 3753 CF$UID - 3331 + 3753 CF$UID - 3332 + 3754 @@ -60727,23 +65532,23 @@ $class CF$UID - 88 + 91 NS.objects - Method definition for 'initWithName:reason:userInfo:' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.h + Previous definition is here in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.h $class CF$UID - 112 + 115 NS.objects CF$UID - 3333 + 3755 @@ -60751,7 +65556,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -60760,36 +65565,46 @@ documentURL CF$UID - 3334 + 3756 endingColumnNumber - 0 + 27 endingLineNumber - 97 + 114 startingColumnNumber - 0 + 27 startingLineNumber - 97 + 114 timestamp CF$UID - 3335 + 0 - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.h - 0.0 - Method definition for 'initWithName:reason:userInfo:' not found $class CF$UID - 112 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.h + + + $class + + CF$UID + 115 NS.objects CF$UID - 3338 + 3755 + + + CF$UID + 3758 @@ -60797,7 +65612,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -60806,34 +65621,47 @@ documentURL CF$UID - 3334 + 3759 endingColumnNumber - 0 + 25 endingLineNumber - 97 + 114 startingColumnNumber - 0 + 16 startingLineNumber - 97 + 114 timestamp CF$UID - 3339 + 0 - 0.0 $class CF$UID - 112 + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.h + + Conflicting parameter types in implementation of 'getNode:': 'NSInteger' (aka 'int') vs 'NSUInteger' (aka 'unsigned int') + + $class + + CF$UID + 115 NS.objects CF$UID - 3341 + 3762 + + + CF$UID + 3764 @@ -60841,7 +65669,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -60850,73 +65678,102 @@ documentURL CF$UID - 3327 + 3763 endingColumnNumber - 0 + -1 endingLineNumber - 232 + 269 startingColumnNumber + -1 + startingLineNumber + 269 + timestamp + + CF$UID + 0 + + + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m + + $class + + CF$UID + 3174 + + characterRangeLen 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3763 + + endingColumnNumber + -1 + endingLineNumber + 269 + startingColumnNumber + -1 startingLineNumber - 232 + 269 timestamp CF$UID - 3342 + 0 - 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3344 + 3766 CF$UID - 3351 + 3187 CF$UID - 3351 + 3187 CF$UID - 3352 + 3782 @@ -60924,13 +65781,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3345 + 3767 + + + CF$UID + 3772 + + + CF$UID + 3777 @@ -60938,52 +65803,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3346 + 3768 CF$UID - 3347 + 3170 CF$UID - 3347 + 3170 CF$UID - 3348 + 3769 @@ -60991,23 +65856,22 @@ $class CF$UID - 88 + 91 NS.objects - Previous declaration is here $class CF$UID - 112 + 115 NS.objects CF$UID - 3349 + 3770 @@ -61015,7 +65879,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -61024,16 +65888,16 @@ documentURL CF$UID - 3350 + 3771 endingColumnNumber - 0 + -1 endingLineNumber - 93 + 27 startingColumnNumber - 0 + -1 startingLineNumber - 93 + 27 timestamp CF$UID @@ -61044,23 +65908,84 @@ $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h - Duplicate declaration of method 'createTree:text:' $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 + + NS.objects CF$UID - 3353 + 3168 + + + CF$UID + 3773 + + + CF$UID + 3177 + + + CF$UID + 3177 + + + CF$UID + 3774 + + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 3775 @@ -61068,7 +65993,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -61077,16 +66002,16 @@ documentURL CF$UID - 3354 + 3776 endingColumnNumber - 0 + -1 endingLineNumber - 126 + 26 startingColumnNumber - 0 + -1 startingLineNumber - 126 + 26 timestamp CF$UID @@ -61097,246 +66022,343 @@ $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m $class CF$UID - 196 + 71 + NS.keys + + + CF$UID + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 + + NS.objects CF$UID - 3356 + 3168 CF$UID - 3357 + 3778 CF$UID - 3358 + 3183 CF$UID - 3359 + 3183 CF$UID - 3360 + 3779 + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3361 + 3780 + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3781 + + endingColumnNumber + 0 + endingLineNumber + 126 + startingColumnNumber + 0 + startingLineNumber + 126 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3362 + 3780 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3363 + 3158 CF$UID - 3364 + 3159 CF$UID - 3365 + 3160 CF$UID - 3366 + 3161 CF$UID - 3367 + 3162 + + NS.objects + CF$UID - 3368 + 3163 CF$UID - 3369 + 3784 CF$UID - 3370 + 3195 CF$UID - 3371 + 3195 CF$UID - 3372 + 3798 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 3373 + 3785 CF$UID - 3374 + 3793 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3375 + 3158 CF$UID - 3376 + 3159 CF$UID - 3377 + 3160 CF$UID - 3378 + 3161 CF$UID - 3379 + 3162 + + NS.objects + CF$UID - 3380 + 3163 CF$UID - 3381 + 3786 CF$UID - 3382 + 3187 CF$UID - 3383 + 3187 CF$UID - 3384 + 3782 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 3385 + 3787 CF$UID - 3386 + 3789 CF$UID - 3387 + 3791 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3388 + 3158 CF$UID - 3389 + 3159 CF$UID - 3390 + 3160 CF$UID - 3391 + 3161 CF$UID - 3392 + 3162 + + NS.objects + CF$UID - 3393 + 3168 CF$UID - 3394 + 3788 CF$UID - 3395 + 3170 CF$UID - 3396 + 3170 CF$UID - 3397 + 3769 - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRReaderStream.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTreeParser.m - polydiff/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyPrinter.m - simplecTreeParser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.m - polydiff/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/Simplifier.m - ANTLRTests/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.m - polydiff/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyLexer.m - Fuzzy/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/main.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeRewriter.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.m - lexertest-simple/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.h - simplecTreeParser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.h - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTokenRewriteStream.h - treeparser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangParser.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.m - treerewrite/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.m - simplecTreeParser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCWalker.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRStringStream.m - polydiff/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyPrinter.h - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrBuffer.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m - Fuzzy/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/FuzzyLexer.m - LL-start/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTree.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugEventProxy.m - simplecTreeParser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTokenStream.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTokenRewriteStream.m - hoistedPredicates/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.m - treeparser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugParser.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h - ANTLRTests/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/ANTLRTests/ANTLRTests.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.m - polydiff/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyParser.m - ANTLRTests/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeTest.m - Fuzzy/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/FuzzyLexer.h - scopes/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRFailedPredicateException.h - {{0, 0}, {317, 859}} - - $class - - CF$UID - 196 - - NS.objects - - $class CF$UID - 88 + 91 NS.objects @@ -61345,82 +66367,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 - - - CF$UID - 175 - - - CF$UID - 176 + 3158 CF$UID - 177 + 3159 CF$UID - 178 + 3160 CF$UID - 179 + 3161 CF$UID - 180 + 3162 NS.objects CF$UID - 3402 - - - CF$UID - 45 - - - CF$UID - 45 - - - CF$UID - 45 + 3168 CF$UID - 3404 + 3790 CF$UID - 183 + 3177 CF$UID - 3405 + 3177 - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3403 + 3774 @@ -61428,94 +66420,61 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 111 - - + - {{0, 0}, {456, 847}} $class CF$UID - 184 + 71 - NS.objects + NS.keys CF$UID - 3406 + 3158 CF$UID - 3407 + 3159 CF$UID - 3408 + 3160 CF$UID - 3409 + 3161 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 111 + 3162 - - - $class - - CF$UID - 88 - NS.objects CF$UID - 111 + 3168 CF$UID - 376 + 3792 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 111 + 3183 CF$UID - 248 + 3183 CF$UID - 2600 + 3779 @@ -61523,78 +66482,84 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 111 - - - CF$UID - 248 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 3411 + 3158 CF$UID - 3412 + 3159 CF$UID - 3413 + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 NS.objects CF$UID - 98 + 3163 CF$UID - 57 + 3794 CF$UID - 45 + 3191 + + + CF$UID + 3191 + + + CF$UID + 3795 - IDEStackCompressionValue - IDEThreadsOrQueuesMode - IDEHideAncestorForNonInterestingFrames $class CF$UID - 68 + 91 + + NS.objects + + + + $class + + CF$UID + 115 - NS.keys - - - CF$UID - 77 - - NS.objects CF$UID - 3415 + 3796 @@ -61602,17 +66567,51 @@ $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3797 + + endingColumnNumber + 0 + endingLineNumber + 31 + startingColumnNumber + 0 + startingLineNumber + 31 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + + + $class + + CF$UID + 115 NS.objects CF$UID - 3416 - - - CF$UID - 3418 + 3799 @@ -61620,80 +66619,99 @@ $class CF$UID - 84 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3296 + + endingColumnNumber + -1 + endingLineNumber + 31 + startingColumnNumber + -1 + startingLineNumber + 31 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 71 NS.keys CF$UID - 80 + 3158 CF$UID - 81 + 3159 - - NS.objects - CF$UID - 205 + 3160 CF$UID - 3417 + 3161 + + + CF$UID + 3162 - - 687 - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 80 + 3163 CF$UID - 81 + 3801 - - NS.objects - CF$UID - 205 + 3195 CF$UID - 3419 + 3195 + + + CF$UID + 3812 - 238 $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 77 + 3802 - - NS.objects - CF$UID - 3421 + 3810 @@ -61701,301 +66719,260 @@ $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 3422 + 3158 CF$UID - 3424 + 3159 CF$UID - 3426 + 3160 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 3161 CF$UID - 81 + 3162 NS.objects CF$UID - 53 - - - CF$UID - 3423 + 3163 - - - 318 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 3803 CF$UID - 81 + 3187 - - NS.objects - CF$UID - 52 + 3187 CF$UID - 3425 + 3288 - 769 $class CF$UID - 84 + 91 - NS.keys + NS.objects CF$UID - 80 - - - CF$UID - 81 + 3804 - - NS.objects - CF$UID - 216 + 3806 CF$UID - 3427 + 3808 - 354 - {{51, 7}, {1582, 1014}} $class CF$UID - 68 + 71 NS.keys CF$UID - 3430 - - - CF$UID - 3431 - - - CF$UID - 3432 - - - CF$UID - 3433 + 3158 CF$UID - 3434 + 3159 CF$UID - 3435 + 3160 CF$UID - 3436 + 3161 CF$UID - 3437 + 3162 NS.objects CF$UID - 3438 - - - CF$UID - 57 - - - CF$UID - 168 - - - CF$UID - 3439 + 3168 CF$UID - 45 + 3805 CF$UID - 3509 + 3170 CF$UID - 3674 + 3170 CF$UID - 3680 + 3275 - IDETabLabel - AssistantEditorsLayout - IDEShowNavigator - IDEEditorArea - IDEShowUtilities - IDENavigatorArea - IDEWorkspaceTabControllerUtilityAreaSplitView - IDEWorkspaceTabControllerDesignAreaSplitView - ANTLRCommonTreeAdaptor.m $class CF$UID - 68 + 91 + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 3440 + 3158 CF$UID - 3441 + 3159 CF$UID - 3442 + 3160 CF$UID - 62 + 3161 CF$UID - 3443 + 3162 + + NS.objects + CF$UID - 3444 + 3168 CF$UID - 474 + 3807 CF$UID - 3445 + 3177 CF$UID - 3446 + 3177 + + + CF$UID + 3280 + + + $class + + CF$UID + 91 + NS.objects + + + + $class + + CF$UID + 71 + + NS.keys CF$UID - 3447 + 3158 CF$UID - 3448 + 3159 CF$UID - 3473 + 3160 CF$UID - 3484 + 3161 CF$UID - 45 + 3162 + + NS.objects + CF$UID - 57 + 3168 CF$UID - 2536 + 3809 CF$UID - 3501 + 3183 CF$UID - 168 + 3183 + + + CF$UID + 3285 - DefaultPersistentRepresentations - IDEEDitorArea_DebugArea - layoutTree - ShowDebuggerArea - EditorMode - DebuggerSplitView - IDEShowEditor $class CF$UID - 68 + 91 - NS.keys - NS.objects @@ -62003,105 +66980,75 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 3449 - - - CF$UID - 3450 + 3158 CF$UID - 3451 + 3159 CF$UID - 3452 + 3160 CF$UID - 3453 + 3161 CF$UID - 3454 + 3162 NS.objects CF$UID - 3455 - - - CF$UID - 3463 + 3163 CF$UID - 95 + 3811 CF$UID - 95 + 3191 CF$UID - 3469 + 3191 CF$UID - 3471 + 3291 - IDEDebugArea_SplitView - IDEDebuggerAreaSplitView - LayoutMode - LayoutFocusMode - variables - console $class CF$UID - 68 + 91 - NS.keys - - - CF$UID - 1690 - - NS.objects - - - CF$UID - 3456 - - + $class CF$UID - 88 + 115 NS.objects CF$UID - 3457 - - - CF$UID - 3460 + 3813 @@ -62109,82 +67056,90 @@ $class CF$UID - 84 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3814 + + endingColumnNumber + 0 + endingLineNumber + 31 + startingColumnNumber + 0 + startingLineNumber + 31 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m + + + $class + + CF$UID + 71 NS.keys CF$UID - 1693 - - - CF$UID - 1694 + 3158 - - NS.objects - CF$UID - 3458 + 3159 CF$UID - 3459 + 3160 - - - VariablesView - 694 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 1693 + 3161 CF$UID - 1694 + 3162 NS.objects CF$UID - 3461 + 3163 CF$UID - 3462 + 3816 - - - ConsoleArea - 627 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 1690 + 3822 - - NS.objects - CF$UID - 3464 + 3822 + + + CF$UID + 3823 @@ -62192,17 +67147,13 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3465 - - - CF$UID - 3467 + 3817 @@ -62210,200 +67161,124 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 1693 + 3158 CF$UID - 1694 + 3159 - - NS.objects - CF$UID - 3458 + 3160 CF$UID - 3466 + 3161 + + + CF$UID + 3162 - - 694 - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 1693 + 3163 CF$UID - 1694 + 3818 - - NS.objects - CF$UID - 3461 + 3819 CF$UID - 3468 + 3819 + + + CF$UID + 3820 - 627 $class CF$UID - 68 + 91 - NS.keys - - - CF$UID - 3470 - - NS.objects - - - CF$UID - 98 - - + - DBGVariablesViewFilterMode + Passing argument to parameter 'node' here $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 3472 - - NS.objects CF$UID - 57 + 3821 - ConsoleFilterMode - - $class - - CF$UID - 121 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 3474 - - rootLayoutTreeNode - - CF$UID - 3482 - - $class CF$UID - 120 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 3475 + 3174 - orientation + characterRangeLen 0 - parent - - CF$UID - 3482 - - - - $class - - CF$UID - 117 - - DocumentLocation - - CF$UID - 3480 - - DomainIdentifier - - CF$UID - 104 - - IdentifierPath + characterRangeLoc + -1 + documentURL CF$UID - 3476 + 1941 - IndexOfDocumentIdentifier + endingColumnNumber + -1 + endingLineNumber + 106 + startingColumnNumber + -1 + startingLineNumber + 106 + timestamp CF$UID - 57 + 0 + Sending 'id<ANTLRTree>' to parameter of incompatible type 'id<ANTLRBaseTree>' $class CF$UID - 112 + 115 NS.objects CF$UID - 3477 - - - CF$UID - 3478 + 3824 CF$UID - 3479 + 3825 @@ -62411,49 +67286,54 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 3438 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 109 + 3174 - - - $class + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL CF$UID - 107 + 2021 - Identifier + endingColumnNumber + -1 + endingLineNumber + 58 + startingColumnNumber + -1 + startingLineNumber + 58 + timestamp CF$UID - 111 + 0 $class CF$UID - 116 + 3174 + characterRangeLen + 0 + characterRangeLoc + -1 documentURL CF$UID - 3481 + 2021 + endingColumnNumber + -1 + endingLineNumber + 58 + startingColumnNumber + -1 + startingLineNumber + 58 timestamp CF$UID @@ -62464,48 +67344,70 @@ $class CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.m - - - $class - - CF$UID - 120 - - children - - CF$UID - 3483 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 + 71 + NS.keys + + + CF$UID + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 + + + NS.objects + + + CF$UID + 3163 + + + CF$UID + 3827 + + + CF$UID + 3195 + + + CF$UID + 3195 + + + CF$UID + 3838 + + $class CF$UID - 112 + 91 NS.objects CF$UID - 3474 + 3828 + + + CF$UID + 3836 @@ -62513,20 +67415,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 NS.objects CF$UID - 3485 + 3163 + + + CF$UID + 3829 + + + CF$UID + 3187 + + + CF$UID + 3187 + + + CF$UID + 3345 @@ -62534,20 +67468,21 @@ $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 125 + 3830 - - NS.objects - CF$UID - 3486 + 3832 + + + CF$UID + 3834 @@ -62555,36 +67490,52 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 127 + 3158 CF$UID - 128 + 3159 CF$UID - 129 + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 NS.objects CF$UID - 3487 + 3168 CF$UID - 57 + 3831 CF$UID - 3499 + 3170 + + + CF$UID + 3170 + + + CF$UID + 3332 @@ -62592,82 +67543,61 @@ $class CF$UID - 112 + 91 NS.objects - - - CF$UID - 3488 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 138 - - - CF$UID - 132 - - - CF$UID - 134 + 3158 CF$UID - 135 + 3159 CF$UID - 136 + 3160 CF$UID - 137 + 3161 CF$UID - 133 + 3162 NS.objects CF$UID - 157 - - - CF$UID - 3438 - - - CF$UID - 3489 + 3168 CF$UID - 3438 + 3833 CF$UID - 153 + 3177 CF$UID - 3493 + 3177 CF$UID - 3494 + 3337 @@ -62675,113 +67605,123 @@ $class CF$UID - 84 + 91 + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 146 + 3158 CF$UID - 147 + 3159 CF$UID - 148 + 3160 CF$UID - 149 + 3161 + + + CF$UID + 3162 NS.objects CF$UID - 45 + 3168 CF$UID - 3490 + 3835 CF$UID - 3491 + 3183 CF$UID - 3492 + 3183 + + + CF$UID + 3342 - 324437832.25516802 - {1951, 2511} - {2100, 0} - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 3273 - - $class CF$UID - 117 - - DocumentLocation - - CF$UID - 3480 - - DomainIdentifier - - CF$UID - 104 - - IdentifierPath - - CF$UID - 3495 - - IndexOfDocumentIdentifier - - CF$UID - 57 + 91 + NS.objects + $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 + + NS.objects CF$UID - 3496 + 3163 CF$UID - 3497 + 3837 CF$UID - 3498 + 3191 + + + CF$UID + 3191 + + + CF$UID + 3348 @@ -62789,258 +67729,242 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 3438 + 91 + NS.objects + $class CF$UID - 107 - - Identifier - - CF$UID - 109 + 115 + NS.objects + + + CF$UID + 3839 + + $class CF$UID - 107 + 3174 - Identifier + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL CF$UID - 111 + 3296 - - - $class + endingColumnNumber + -1 + endingLineNumber + 32 + startingColumnNumber + -1 + startingLineNumber + 32 + timestamp CF$UID - 112 + 0 - NS.objects - - - CF$UID - 3500 - - - {{0, 0}, {953, 916}} $class CF$UID - 68 + 71 NS.keys CF$UID - 1690 + 3158 - - NS.objects - CF$UID - 3502 + 3159 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 3503 + 3160 CF$UID - 3506 + 3161 + + + CF$UID + 3162 - - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 1693 + 3163 CF$UID - 1694 + 3841 - - NS.objects - CF$UID - 3504 + 3351 CF$UID - 3505 + 3351 + + + CF$UID + 3861 - IDEEditor - 203 $class CF$UID - 84 + 91 - NS.keys - - - CF$UID - 1693 - - - CF$UID - 1694 - - NS.objects CF$UID - 3507 - - - CF$UID - 3508 + 3842 - IDEDebuggerArea - 115 $class CF$UID - 68 + 71 NS.keys CF$UID - 281 - - - CF$UID - 1233 + 3158 CF$UID - 171 + 3159 CF$UID - 3510 + 3160 CF$UID - 170 + 3161 CF$UID - 2587 + 3162 NS.objects CF$UID - 3511 + 3163 CF$UID - 3516 + 3843 CF$UID - 3519 + 3857 CF$UID - 3672 + 3857 CF$UID - 3401 + 3858 + + + + + $class + + CF$UID + 91 + + NS.objects + + + CF$UID + 3844 CF$UID - 3673 + 3850 - SelectedNavigator $class CF$UID - 68 + 71 NS.keys CF$UID - 284 + 3158 CF$UID - 285 + 3159 CF$UID - 286 + 3160 CF$UID - 287 + 3161 + + + CF$UID + 3162 NS.objects CF$UID - 2589 + 3168 CF$UID - 3512 + 3845 CF$UID - 3515 + 3846 CF$UID - 45 + 3846 + + + CF$UID + 3847 @@ -63048,106 +67972,176 @@ $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3513 - - + + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRUnbufferedCommonTreeNodeStream.m:28: $class CF$UID - 88 + 115 NS.objects CF$UID - 3514 + 3848 - Debug treerewrite : Recording $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 154 + + endingColumnNumber + -1 + endingLineNumber + 27 + startingColumnNumber + -1 + startingLineNumber + 27 + timestamp + + CF$UID + 3849 - NS.objects - + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 1236 - - - CF$UID - 1237 - - - CF$UID - 1238 + 3158 CF$UID - 1239 + 3159 CF$UID - 1240 + 3160 CF$UID - 1241 + 3161 CF$UID - 1242 + 3162 NS.objects CF$UID - 3517 + 3168 CF$UID - 57 + 3851 CF$UID - 3518 + 3852 CF$UID - 1247 + 3852 CF$UID - 57 + 3853 + + + + $class + + CF$UID + 91 + + NS.objects + + + Method definition for 'toStringFromNode:toNode:' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.h + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 1248 + 3854 + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3855 + + endingColumnNumber + 0 + endingLineNumber + 92 + startingColumnNumber + 0 + startingLineNumber + 92 + timestamp + + CF$UID + 3856 + + + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.h + 0.0 + Method definition for 'toStringFromNode:toNode:' not found + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 45 + 3859 @@ -63155,114 +68149,143 @@ $class CF$UID - 1244 + 3174 - NSRangeCount + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3855 + + endingColumnNumber 0 + endingLineNumber + 92 + startingColumnNumber + 0 + startingLineNumber + 92 + timestamp + + CF$UID + 3860 + + 0.0 $class CF$UID - 1246 + 115 + + NS.objects + + + CF$UID + 3862 + + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 154 + + endingColumnNumber + -1 + endingLineNumber + 33 + startingColumnNumber + -1 + startingLineNumber + 33 + timestamp + + CF$UID + 0 - NSLength - 1 - NSLocation - 37 - NSRangeCount - 1 $class CF$UID - 68 + 71 NS.keys CF$UID - 186 - - - CF$UID - 187 - - - CF$UID - 188 - - - CF$UID - 189 - - - CF$UID - 178 - - - CF$UID - 190 + 3158 CF$UID - 191 + 3159 CF$UID - 192 + 3160 CF$UID - 193 + 3161 CF$UID - 194 + 3162 NS.objects CF$UID - 45 - - - CF$UID - 3520 - - - CF$UID - 3521 - - - CF$UID - 3665 + 3163 CF$UID - 3669 + 3864 CF$UID - 45 + 3857 CF$UID - 45 + 3857 CF$UID - 3670 + 3858 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 3671 + 3865 CF$UID - 45 + 3867 @@ -63270,49 +68293,52 @@ $class CF$UID - 196 + 71 - NS.objects + NS.keys CF$UID - 246 + 3158 CF$UID - 2598 + 3159 CF$UID - 334 + 3160 CF$UID - 2599 + 3161 CF$UID - 2600 + 3162 + + NS.objects + CF$UID - 2601 + 3168 CF$UID - 2602 + 3866 CF$UID - 1083 + 3846 CF$UID - 2603 + 3846 CF$UID - 374 + 3847 @@ -63320,125 +68346,137 @@ $class CF$UID - 196 + 91 NS.objects + + + + $class + + CF$UID + 71 + + NS.keys CF$UID - 3231 - - - CF$UID - 2947 - - - CF$UID - 3056 - - - CF$UID - 2717 - - - CF$UID - 3248 - - - CF$UID - 2774 - - - CF$UID - 3263 - - - CF$UID - 3075 - - - CF$UID - 2647 + 3158 CF$UID - 2678 + 3159 CF$UID - 2605 + 3160 CF$UID - 2700 + 3161 CF$UID - 2745 + 3162 + + NS.objects + CF$UID - 2802 + 3168 CF$UID - 3083 + 3868 CF$UID - 3089 + 3852 CF$UID - 3129 + 3852 CF$UID - 3189 + 3853 + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3213 + 3158 CF$UID - 3275 + 3159 CF$UID - 3289 + 3160 CF$UID - 3312 + 3161 CF$UID - 3522 + 3162 + + NS.objects + CF$UID - 3567 + 3163 CF$UID - 3577 + 3870 CF$UID - 3596 + 3351 CF$UID - 3618 + 3351 CF$UID - 3629 + 3891 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 3643 + 3871 @@ -63446,52 +68484,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2611 + 3163 CF$UID - 3523 + 3872 CF$UID - 3565 + 3887 CF$UID - 3565 + 3887 CF$UID - 3566 + 3888 @@ -63499,29 +68537,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3524 - - - CF$UID - 3530 - - - CF$UID - 3535 - - - CF$UID - 3540 + 3873 CF$UID - 3546 + 3880 @@ -63529,52 +68555,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3525 + 3874 CF$UID - 3526 + 3875 CF$UID - 3526 + 3875 CF$UID - 3527 + 3876 @@ -63582,23 +68608,23 @@ $class CF$UID - 88 + 91 NS.objects - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeAdaptor.h:28: + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRRuntimeException.m:32: $class CF$UID - 112 + 115 NS.objects CF$UID - 3528 + 3877 @@ -63606,7 +68632,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -63615,81 +68641,74 @@ documentURL CF$UID - 3529 + 3878 endingColumnNumber -1 endingLineNumber - 27 + 31 startingColumnNumber -1 startingLineNumber - 27 + 31 timestamp CF$UID - 0 - - - - $class - - CF$UID - 115 + 3879 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.m + 0.0 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3531 + 3881 CF$UID - 2618 + 3882 CF$UID - 2618 + 3882 CF$UID - 3532 + 3883 @@ -63697,22 +68716,23 @@ $class CF$UID - 88 + 91 NS.objects + Method definition for 'initWithName:reason:userInfo:' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.h $class CF$UID - 112 + 115 NS.objects CF$UID - 3533 + 3884 @@ -63720,7 +68740,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -63729,81 +68749,230 @@ documentURL CF$UID - 3534 + 3885 endingColumnNumber + 0 + endingLineNumber + 97 + startingColumnNumber + 0 + startingLineNumber + 97 + timestamp + + CF$UID + 3886 + + + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.h + 0.0 + Method definition for 'initWithName:reason:userInfo:' not found + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 3889 + + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc -1 + documentURL + + CF$UID + 3885 + + endingColumnNumber + 0 endingLineNumber - 27 + 97 startingColumnNumber + 0 + startingLineNumber + 97 + timestamp + + CF$UID + 3890 + + + 0.0 + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 3892 + + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc -1 + documentURL + + CF$UID + 3878 + + endingColumnNumber + 0 + endingLineNumber + 232 + startingColumnNumber + 0 startingLineNumber - 27 + 232 timestamp CF$UID - 0 + 3893 + + + 0.0 + + $class + + CF$UID + 71 + NS.keys + + + CF$UID + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 + + + NS.objects + + + CF$UID + 3163 + + + CF$UID + 3895 + + + CF$UID + 3902 + + + CF$UID + 3902 + + + CF$UID + 3903 + + $class CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + NS.objects + + + CF$UID + 3896 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3536 + 3897 CF$UID - 2625 + 3898 CF$UID - 2625 + 3898 CF$UID - 3537 + 3899 @@ -63811,22 +68980,23 @@ $class CF$UID - 88 + 91 NS.objects + Previous declaration is here $class CF$UID - 112 + 115 NS.objects CF$UID - 3538 + 3900 @@ -63834,7 +69004,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -63843,16 +69013,16 @@ documentURL CF$UID - 3539 + 3901 endingColumnNumber - -1 + 0 endingLineNumber - 26 + 93 startingColumnNumber - -1 + 0 startingLineNumber - 26 + 93 timestamp CF$UID @@ -63863,85 +69033,23 @@ $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m - - - $class - - CF$UID - 68 - - NS.keys - - - CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 - - - NS.objects - - - CF$UID - 2616 - - - CF$UID - 3541 - - - CF$UID - 3542 - - - CF$UID - 3542 - - - CF$UID - 3543 - - - - - $class - - CF$UID - 88 - - NS.objects - + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m - Property has a previous declaration in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h + Duplicate declaration of method 'createTree:text:' $class CF$UID - 112 + 115 NS.objects CF$UID - 3544 + 3904 @@ -63949,7 +69057,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -63958,16 +69066,16 @@ documentURL CF$UID - 3545 + 3905 endingColumnNumber - 76 + 0 endingLineNumber - 103 + 126 startingColumnNumber - 76 + 0 startingLineNumber - 103 + 126 timestamp CF$UID @@ -63978,224 +69086,237 @@ $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m $class CF$UID - 68 + 199 - NS.keys + NS.objects CF$UID - 2606 + 3907 CF$UID - 2607 + 3908 CF$UID - 2608 + 3909 CF$UID - 2609 + 3910 CF$UID - 2610 + 3911 - - NS.objects - CF$UID - 2611 + 3912 CF$UID - 3547 + 3913 CF$UID - 3563 + 3914 CF$UID - 3563 + 3915 CF$UID - 3564 + 3916 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 3548 + 3917 CF$UID - 3551 + 3918 CF$UID - 3554 + 3919 CF$UID - 3557 + 3920 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 2606 + 3921 CF$UID - 2607 + 3922 CF$UID - 2608 + 3923 CF$UID - 2609 + 3924 CF$UID - 2610 + 3925 - - NS.objects - CF$UID - 2616 + 3926 CF$UID - 3549 + 3927 CF$UID - 3526 + 3928 CF$UID - 3526 + 3929 CF$UID - 3550 + 3930 - - - - $class - - CF$UID - 88 - - NS.objects - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3528 + 3931 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 2606 + 3932 CF$UID - 2607 + 3933 CF$UID - 2608 + 3934 CF$UID - 2609 + 3935 CF$UID - 2610 + 3936 - - NS.objects - CF$UID - 2616 + 3937 CF$UID - 3552 + 3938 CF$UID - 2618 + 3939 CF$UID - 2618 + 3940 CF$UID - 3553 + 3941 + + + CF$UID + 3942 + + + CF$UID + 3943 + + + CF$UID + 3944 + + + CF$UID + 3945 + + + CF$UID + 3946 + + + CF$UID + 3947 + + + CF$UID + 3948 + ANTLRTests/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeTest.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRFailedPredicateException.h + polydiff/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyPrinter.m + simplecTreeParser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.m + polydiff/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/Simplifier.m + ANTLRTests/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.m + polydiff/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyLexer.m + Fuzzy/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/main.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeRewriter.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRUnbufferedCommonTreeNodeStream.m + lexertest-simple/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.h + simplecTreeParser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.h + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTokenRewriteStream.h + treeparser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangParser.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.m + treerewrite/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.m + simplecTreeParser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCWalker.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRStringStream.m + polydiff/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyPrinter.h + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrBuffer.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m + Fuzzy/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/FuzzyLexer.m + LL-start/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTree.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugEventProxy.m + simplecTreeParser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTokenStream.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTokenRewriteStream.m + hoistedPredicates/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.m + treeparser/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugParser.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h + ANTLRTests/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/ANTLRTests/ANTLRTests.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTree.m + polydiff/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/PolyParser.m + Fuzzy/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/FuzzyLexer.h + scopes/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRReaderStream.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDebugTreeParser.m + {{0, 0}, {317, 859}} $class CF$UID - 88 + 199 NS.objects @@ -64204,74 +69325,102 @@ $class CF$UID - 112 + 91 NS.objects - - - CF$UID - 3533 - - + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3953 CF$UID - 2607 + 3954 CF$UID - 2608 + 3955 + + + NS.objects + + + CF$UID + 101 CF$UID - 2609 + 60 CF$UID - 2610 + 48 - NS.objects + + IDEStackCompressionValue + IDEThreadsOrQueuesMode + IDEHideAncestorForNonInterestingFrames + + $class + + CF$UID + 71 + + NS.keys CF$UID - 2616 + 289 CF$UID - 3555 + 290 CF$UID - 2625 + 291 CF$UID - 2625 + 292 + + NS.objects + CF$UID - 3556 + 3957 + + + CF$UID + 3958 + + + CF$UID + 3959 + + + CF$UID + 48 + {{0, 0}, {259, 847}} $class CF$UID - 88 + 91 NS.objects @@ -64280,13 +69429,29 @@ $class CF$UID - 112 + 91 NS.objects + + + + $class + + CF$UID + 71 + + NS.keys CF$UID - 3538 + 80 + + + NS.objects + + + CF$UID + 3961 @@ -64294,76 +69459,120 @@ $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 2606 - - - CF$UID - 2607 + 3962 CF$UID - 2608 + 3964 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2609 + 83 CF$UID - 2610 + 84 NS.objects CF$UID - 2616 + 208 CF$UID - 3558 + 3963 + + + 687 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 3559 + 83 CF$UID - 3559 + 84 + + + NS.objects + + + CF$UID + 208 CF$UID - 3560 + 3965 + 238 $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 80 + + NS.objects - + + + CF$UID + 3967 + + - Property declared here in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h $class CF$UID - 112 + 91 NS.objects CF$UID - 3561 + 3968 + + + CF$UID + 3970 + + + CF$UID + 3972 @@ -64371,199 +69580,253 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3562 - - endingColumnNumber - 76 - endingLineNumber - 31 - startingColumnNumber - 76 - startingLineNumber - 31 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 + 87 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 56 + + + CF$UID + 3969 + + - Property declared here + 318 $class CF$UID - 112 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + NS.objects CF$UID - 3561 + 55 + + + CF$UID + 3971 - Property has a previous declaration + 769 $class CF$UID - 112 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + NS.objects CF$UID - 3544 + 219 + + + CF$UID + 3973 + 354 + {{51, 7}, {1582, 1014}} $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 480 CF$UID - 2607 + 481 CF$UID - 2608 + 482 CF$UID - 2609 + 484 CF$UID - 2610 + 483 + + + CF$UID + 485 + + + CF$UID + 486 + + + CF$UID + 487 NS.objects CF$UID - 2611 + 3976 CF$UID - 3568 + 60 CF$UID - 3563 + 171 CF$UID - 3563 + 3977 CF$UID - 3564 + 48 + + + CF$UID + 4026 + + + CF$UID + 4189 + + + CF$UID + 4195 + ANTLRCommonTreeAdaptor.m $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 3569 + 490 CF$UID - 3571 + 491 CF$UID - 3573 + 492 CF$UID - 3575 + 65 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 2606 + 494 CF$UID - 2607 + 495 CF$UID - 2608 + 642 CF$UID - 2609 + 496 CF$UID - 2610 + 497 NS.objects CF$UID - 2616 + 3978 CF$UID - 3570 + 3979 CF$UID - 3526 + 3994 CF$UID - 3526 + 4005 + + + CF$UID + 48 + + + CF$UID + 60 + + + CF$UID + 3083 + + + CF$UID + 4020 CF$UID - 3550 + 171 @@ -64571,8 +69834,10 @@ $class CF$UID - 88 + 71 + NS.keys + NS.objects @@ -64580,52 +69845,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 500 CF$UID - 2607 + 501 CF$UID - 2608 + 502 CF$UID - 2609 + 503 CF$UID - 2610 + 504 + + + CF$UID + 505 NS.objects CF$UID - 2616 + 3980 CF$UID - 3572 + 3986 CF$UID - 2618 + 98 CF$UID - 2618 + 98 CF$UID - 3553 + 3992 + + + CF$UID + 3993 @@ -64633,185 +69906,438 @@ $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 507 + + NS.objects - + + + CF$UID + 3981 + + $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 2606 - - - CF$UID - 2607 + 3982 CF$UID - 2608 + 3984 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2609 + 510 CF$UID - 2610 + 511 NS.objects CF$UID - 2616 + 512 CF$UID - 3574 + 3983 + + + + 694 + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 510 CF$UID - 2625 + 511 + + NS.objects + CF$UID - 2625 + 515 CF$UID - 3556 + 3985 + 627 $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 507 + + NS.objects - + + + CF$UID + 3987 + + $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 2606 - - - CF$UID - 2607 + 3988 CF$UID - 2608 + 3990 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2609 + 510 CF$UID - 2610 + 511 NS.objects CF$UID - 2616 + 512 CF$UID - 3576 + 3989 + + + + 694 + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 510 CF$UID - 3559 + 511 + + NS.objects + CF$UID - 3559 + 515 CF$UID - 3560 + 3991 + 627 $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 524 + + NS.objects - + + + CF$UID + 101 + + $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 - - - CF$UID - 2610 + 526 NS.objects CF$UID - 2611 + 60 + + + + $class + + CF$UID + 124 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 3995 + + rootLayoutTreeNode + + CF$UID + 4003 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 3996 + + orientation + 0 + parent + + CF$UID + 4003 + + + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 4001 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 3997 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3578 + 3998 CF$UID - 2799 + 3999 CF$UID - 2799 + 4000 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 3976 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 112 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 114 + + + + $class + + CF$UID + 119 + + documentURL + + CF$UID + 4002 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.m + + + $class + + CF$UID + 123 + + children + + CF$UID + 4004 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3594 + 3995 @@ -64819,13 +70345,20 @@ $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 126 + + NS.objects CF$UID - 3579 + 4006 @@ -64833,52 +70366,57 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 128 + + NS.objects + CF$UID - 2607 + 4007 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 2608 + 130 CF$UID - 2609 + 131 CF$UID - 2610 + 132 NS.objects CF$UID - 2611 - - - CF$UID - 3580 - - - CF$UID - 3592 + 4008 CF$UID - 3592 + 60 CF$UID - 3593 + 4018 @@ -64886,17 +70424,13 @@ $class CF$UID - 88 + 115 NS.objects CF$UID - 3581 - - - CF$UID - 3586 + 4009 @@ -64904,52 +70438,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 141 CF$UID - 2607 + 135 CF$UID - 2608 + 137 CF$UID - 2609 + 138 CF$UID - 2610 + 139 + + + CF$UID + 140 + + + CF$UID + 136 NS.objects CF$UID - 2616 + 4010 CF$UID - 3582 + 142 CF$UID - 2625 + 4015 CF$UID - 2625 + 3976 CF$UID - 3583 + 152 + + + CF$UID + 4017 + + + CF$UID + 3976 @@ -64957,22 +70507,48 @@ $class CF$UID - 88 + 120 + + DocumentLocation + + CF$UID + 4001 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 4011 + + IndexOfDocumentIdentifier + + CF$UID + 60 - NS.objects - $class CF$UID - 112 + 115 NS.objects CF$UID - 3584 + 4012 + + + CF$UID + 4013 + + + CF$UID + 4014 @@ -64980,181 +70556,134 @@ $class CF$UID - 2622 + 110 - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL + Identifier CF$UID - 3585 + 3976 - endingColumnNumber - -1 - endingLineNumber - 26 - startingColumnNumber - -1 - startingLineNumber - 26 - timestamp + + + $class CF$UID - 0 + 110 + + Identifier + + CF$UID + 112 $class CF$UID - 115 + 110 + + Identifier + + CF$UID + 114 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m $class CF$UID - 68 + 87 NS.keys CF$UID - 2606 - - - CF$UID - 2607 + 145 CF$UID - 2608 + 146 CF$UID - 2609 + 147 CF$UID - 2610 + 148 NS.objects CF$UID - 2616 - - - CF$UID - 3587 - - - CF$UID - 3588 + 48 CF$UID - 3588 + 4016 CF$UID - 3589 + 2911 - - - - $class - - CF$UID - 88 - - NS.objects - - - Method definition for 'createTree:' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3590 + 2912 + 324437832.25516802 $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3591 + 155 - endingColumnNumber - 0 - endingLineNumber - 36 - startingColumnNumber - 0 - startingLineNumber - 36 - timestamp + NS.base CF$UID 0 - - - $class + NS.relative CF$UID - 115 + 2021 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h - Method definition for 'createTree:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3590 + 4019 + {{0, 0}, {953, 916}} $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 507 + + NS.objects CF$UID - 3595 + 4021 @@ -65162,181 +70691,138 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 2744 - - endingColumnNumber - -1 - endingLineNumber - 32 - startingColumnNumber - -1 - startingLineNumber - 32 - timestamp - - CF$UID - 0 + 91 + NS.objects + + + CF$UID + 4022 + + + CF$UID + 4024 + + $class CF$UID - 68 + 87 NS.keys CF$UID - 2606 - - - CF$UID - 2607 - - - CF$UID - 2608 - - - CF$UID - 2609 + 510 CF$UID - 2610 + 511 NS.objects CF$UID - 3597 - - - CF$UID - 3598 - - - CF$UID - 3616 - - - CF$UID - 3616 + 583 CF$UID - 3617 + 4023 - Parse Issue + 514 $class CF$UID - 88 + 87 - NS.objects + NS.keys CF$UID - 3599 + 510 + + + CF$UID + 511 + + NS.objects + CF$UID - 3605 + 586 CF$UID - 3610 + 4025 + 402 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 173 CF$UID - 2607 + 1501 CF$UID - 2608 + 174 CF$UID - 2609 + 591 CF$UID - 2610 + 3134 + + + CF$UID + 286 NS.objects CF$UID - 2616 + 3135 CF$UID - 3600 + 4027 CF$UID - 3601 + 4030 CF$UID - 3601 + 590 CF$UID - 3602 + 4183 - - - - $class - - CF$UID - 88 - - NS.objects - - - In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBufferedTreeNodeStream.h:33: - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3603 + 4184 @@ -65344,113 +70830,68 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3604 - - endingColumnNumber - -1 - endingLineNumber - 32 - startingColumnNumber - -1 - startingLineNumber - 32 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.h - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 1504 CF$UID - 2607 + 1505 CF$UID - 2608 + 1506 CF$UID - 2609 + 1507 CF$UID - 2610 + 1508 + + + CF$UID + 1509 + + + CF$UID + 1510 NS.objects CF$UID - 2616 + 4028 CF$UID - 3606 + 60 CF$UID - 3195 + 4029 CF$UID - 3195 + 1513 CF$UID - 3607 + 60 - - - - $class - - CF$UID - 88 - - NS.objects - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3608 + 1514 + + + CF$UID + 48 @@ -65458,167 +70899,114 @@ $class CF$UID - 2622 + 1174 - characterRangeLen + NSRangeCount 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3609 - - endingColumnNumber - -1 - endingLineNumber - 30 - startingColumnNumber - -1 - startingLineNumber - 30 - timestamp - - CF$UID - 0 - $class CF$UID - 115 + 1176 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m + NSLength + 1 + NSLocation + 37 + NSRangeCount + 1 $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 189 + + + CF$UID + 190 + + + CF$UID + 191 + + + CF$UID + 192 + + + CF$UID + 181 + + + CF$UID + 193 + + + CF$UID + 194 + + + CF$UID + 195 + + + CF$UID + 196 CF$UID - 2607 + 197 + + NS.objects + CF$UID - 2608 + 48 CF$UID - 2609 + 4031 CF$UID - 2610 + 4032 - - NS.objects - CF$UID - 2616 + 4176 CF$UID - 3611 + 4180 CF$UID - 3612 + 48 CF$UID - 3612 + 48 CF$UID - 3613 + 4181 - - - - $class - - CF$UID - 88 - - NS.objects - - - Expected ';' after method prototype in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3614 + 4182 - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3615 - - endingColumnNumber - 53 - endingLineNumber - 41 - startingColumnNumber - 53 - startingLineNumber - 41 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h - - Expected ';' after method prototype - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3614 + 48 @@ -65626,52 +71014,49 @@ $class CF$UID - 68 + 199 - NS.keys + NS.objects CF$UID - 2606 + 377 CF$UID - 2607 + 3151 CF$UID - 2608 + 337 CF$UID - 2609 + 3152 CF$UID - 2610 + 3143 - - NS.objects - CF$UID - 205 + 3153 CF$UID - 3619 + 3154 CF$UID - 3622 + 1351 CF$UID - 3622 + 3155 CF$UID - 3626 + 251 @@ -65679,256 +71064,125 @@ $class CF$UID - 88 + 199 NS.objects CF$UID - 3620 + 3783 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 2606 + 3499 CF$UID - 2607 + 3608 CF$UID - 2608 + 3269 CF$UID - 2609 + 3800 CF$UID - 2610 + 3326 - - NS.objects - CF$UID - 2616 + 3815 CF$UID - 3621 + 3627 CF$UID - 3622 + 3199 CF$UID - 3622 + 3230 CF$UID - 3623 + 3157 - - - - $class - - CF$UID - 88 - - NS.objects - - - The Objective-C class 'ANTLRCommonTree', which is derived from class 'ANTLRBaseTree', defines the instance method 'getLine' whose return type is 'NSUInteger'. A method with the same name (same selector) is also defined in class 'ANTLRBaseTree' and has a return type of 'NSInteger'. These two types are incompatible, and may result in undefined behavior for clients of these classes - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3624 + 3252 CF$UID - 3624 + 3297 - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3625 - - endingColumnNumber - 0 - endingLineNumber - 203 - startingColumnNumber - 0 - startingLineNumber - 203 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRCommonTree.m - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3627 + 3354 CF$UID - 3624 + 3635 - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3628 - - endingColumnNumber - 0 - endingLineNumber - 203 - startingColumnNumber - 0 - startingLineNumber - 203 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRCommonTree.m - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 2606 + 3641 CF$UID - 2607 + 3681 CF$UID - 2608 + 3741 CF$UID - 2609 + 3765 CF$UID - 2610 + 3826 - - NS.objects - CF$UID - 3630 + 3840 CF$UID - 3631 + 3863 CF$UID - 3634 + 4033 CF$UID - 3634 + 4078 CF$UID - 3640 + 4088 - - - Dead store - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 3632 + 4107 + + + CF$UID + 4129 + + + CF$UID + 4140 + + + CF$UID + 4154 @@ -65936,52 +71190,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3163 CF$UID - 3633 + 4034 CF$UID - 3634 + 4076 CF$UID - 3634 + 4076 CF$UID - 3635 + 4077 @@ -65989,121 +71243,29 @@ $class CF$UID - 88 - - NS.objects - - - Value stored to 'msg' during its initialization is never read - - $class - - CF$UID - 112 + 91 NS.objects CF$UID - 3636 + 4035 CF$UID - 3638 + 4041 - - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3637 - - endingColumnNumber - 14 - endingLineNumber - 329 - startingColumnNumber - 14 - startingLineNumber - 329 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseRecognizer.m - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3639 - - endingColumnNumber - 34 - endingLineNumber - 329 - startingColumnNumber - 20 - startingLineNumber - 329 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseRecognizer.m - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3641 + 4046 CF$UID - 3638 + 4051 + + + CF$UID + 4057 @@ -66111,162 +71273,167 @@ $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3642 - - endingColumnNumber - 14 - endingLineNumber - 329 - startingColumnNumber - 14 - startingLineNumber - 329 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseRecognizer.m - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 3644 + 3168 CF$UID - 3645 + 4036 + + + CF$UID + 4037 CF$UID - 3656 + 4037 CF$UID - 3656 + 4038 + + + + $class + + CF$UID + 91 + + NS.objects + + + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeAdaptor.h:28: + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3662 + 4039 - Logic error $class CF$UID - 88 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4040 + + endingColumnNumber + -1 + endingLineNumber + 27 + startingColumnNumber + -1 + startingLineNumber + 27 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 - NS.objects - - - CF$UID - 3646 - - - CF$UID - 3654 - - + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.h $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3647 + 4042 CF$UID - 3648 + 3170 CF$UID - 3648 + 3170 CF$UID - 3649 + 4043 @@ -66274,27 +71441,22 @@ $class CF$UID - 88 + 91 NS.objects - Variable 'tpattern' declared without an initial value $class CF$UID - 112 + 115 NS.objects CF$UID - 3650 - - - CF$UID - 3652 + 4044 @@ -66302,7 +71464,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -66311,54 +71473,16 @@ documentURL CF$UID - 3651 + 4045 endingColumnNumber - 4 - endingLineNumber - 500 - startingColumnNumber - 4 - startingLineNumber - 500 - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 - - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeWizard.m - - - $class - - CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc -1 - documentURL - - CF$UID - 3653 - - endingColumnNumber - 30 endingLineNumber - 500 + 27 startingColumnNumber - 4 + -1 startingLineNumber - 500 + 27 timestamp CF$UID @@ -66369,61 +71493,61 @@ $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeWizard.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h $class CF$UID - 68 + 71 NS.keys CF$UID - 2606 + 3158 CF$UID - 2607 + 3159 CF$UID - 2608 + 3160 CF$UID - 2609 + 3161 CF$UID - 2610 + 3162 NS.objects CF$UID - 2616 + 3168 CF$UID - 3655 + 4047 CF$UID - 3656 + 3177 CF$UID - 3656 + 3177 CF$UID - 3657 + 4048 @@ -66431,27 +71555,22 @@ $class CF$UID - 88 + 91 NS.objects - Receiver in message expression is an uninitialized value $class CF$UID - 112 + 115 NS.objects CF$UID - 3658 - - - CF$UID - 3660 + 4049 @@ -66459,7 +71578,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -66468,16 +71587,16 @@ documentURL CF$UID - 3659 + 4050 endingColumnNumber - 9 + -1 endingLineNumber - 509 + 26 startingColumnNumber - 9 + -1 startingLineNumber - 509 + 26 timestamp CF$UID @@ -66488,64 +71607,85 @@ $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeWizard.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m $class CF$UID - 2622 - - characterRangeLen - 0 - characterRangeLoc - -1 - documentURL - - CF$UID - 3661 - - endingColumnNumber - 18 - endingLineNumber - 509 - startingColumnNumber - 10 - startingLineNumber - 509 - timestamp - - CF$UID - 0 + 71 + NS.keys + + + CF$UID + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 + + + NS.objects + + + CF$UID + 3168 + + + CF$UID + 4052 + + + CF$UID + 4053 + + + CF$UID + 4053 + + + CF$UID + 4054 + + $class CF$UID - 115 + 91 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeWizard.m + NS.objects + + Property has a previous declaration in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h $class CF$UID - 112 + 115 NS.objects CF$UID - 3663 - - - CF$UID - 3660 + 4055 @@ -66553,7 +71693,7 @@ $class CF$UID - 2622 + 3174 characterRangeLen 0 @@ -66562,16 +71702,16 @@ documentURL CF$UID - 3664 + 4056 endingColumnNumber - 9 + 76 endingLineNumber - 509 + 103 startingColumnNumber - 9 + 76 startingLineNumber - 509 + 103 timestamp CF$UID @@ -66582,198 +71722,300 @@ $class CF$UID - 115 + 118 NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeWizard.m + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h $class CF$UID - 196 + 71 - NS.objects + NS.keys CF$UID - 3395 + 3158 CF$UID - 3397 + 3159 CF$UID - 3358 + 3160 CF$UID - 3359 + 3161 CF$UID - 3360 + 3162 + + NS.objects + CF$UID - 3361 + 3163 CF$UID - 3362 + 4058 CF$UID - 3363 + 4074 CF$UID - 3364 + 4074 CF$UID - 3365 + 4075 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 3666 + 4059 CF$UID - 3366 + 4062 CF$UID - 3367 + 4065 CF$UID - 3368 + 4068 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3369 + 3158 CF$UID - 3370 + 3159 CF$UID - 3667 + 3160 CF$UID - 3371 + 3161 CF$UID - 3372 + 3162 + + NS.objects + CF$UID - 3373 + 3168 CF$UID - 3374 + 4060 CF$UID - 3668 + 4037 CF$UID - 3376 + 4037 CF$UID - 3377 + 4061 + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3378 + 4039 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3379 + 3158 CF$UID - 3381 + 3159 CF$UID - 3382 + 3160 CF$UID - 3385 + 3161 CF$UID - 3384 + 3162 + + NS.objects + CF$UID - 3386 + 3168 CF$UID - 3387 + 4063 CF$UID - 3388 + 3170 CF$UID - 3389 + 3170 CF$UID - 3390 + 4064 + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3391 + 4044 + + + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 3158 CF$UID - 3392 + 3159 CF$UID - 3393 + 3160 CF$UID - 3394 + 3161 CF$UID - 3396 + 3162 + + NS.objects + CF$UID - 3356 + 3168 CF$UID - 3357 + 4066 + + + CF$UID + 3177 + + + CF$UID + 3177 + + + CF$UID + 4067 - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeVisitor.m - {{0, 464}, {613, 850}} $class CF$UID - 196 + 91 NS.objects @@ -66782,46 +72024,90 @@ $class CF$UID - 88 + 115 NS.objects - + + + CF$UID + 4049 + + - Xcode.IDEKit.Navigator.Issues $class CF$UID - 68 + 71 NS.keys CF$UID - 3411 + 3158 CF$UID - 3412 + 3159 CF$UID - 3413 + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 NS.objects CF$UID - 98 + 3168 CF$UID - 57 + 4069 CF$UID - 45 + 4070 + + + CF$UID + 4070 + + + CF$UID + 4071 + + + + + $class + + CF$UID + 91 + + NS.objects + + + Property declared here in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 4072 @@ -66829,38 +72115,67 @@ $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4073 + + endingColumnNumber + 76 + endingLineNumber + 31 + startingColumnNumber + 76 + startingLineNumber + 31 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h + + Property declared here + + $class + + CF$UID + 115 - NS.keys - - - CF$UID - 1690 - - NS.objects CF$UID - 3675 + 4072 + Property has a previous declaration $class CF$UID - 88 + 115 NS.objects CF$UID - 3676 - - - CF$UID - 3678 + 4055 @@ -66868,80 +72183,52 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 1693 - - - CF$UID - 1694 + 3158 - - NS.objects - CF$UID - 1695 + 3159 CF$UID - 3677 + 3160 - - - 678 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 1693 + 3161 CF$UID - 1694 + 3162 NS.objects CF$UID - 1695 + 3163 CF$UID - 3679 + 4079 - - - 238 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 1690 + 4074 - - NS.objects - CF$UID - 3681 + 4074 + + + CF$UID + 4075 @@ -66949,21 +72236,25 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3682 + 4080 CF$UID - 3684 + 4082 CF$UID - 3686 + 4084 + + + CF$UID + 4086 @@ -66971,257 +72262,247 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 1693 + 3158 CF$UID - 1694 + 3159 - - NS.objects - CF$UID - 3435 + 3160 CF$UID - 3683 + 3161 + + + CF$UID + 3162 - - 629 - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 1693 + 3168 CF$UID - 1694 + 4081 - - NS.objects - CF$UID - 3433 + 4037 CF$UID - 3685 + 4037 + + + CF$UID + 4061 - 953 $class CF$UID - 84 + 91 + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 1693 + 3158 CF$UID - 1694 + 3159 - - NS.objects - CF$UID - 3687 + 3160 CF$UID - 3688 + 3161 - - - IDEUtilitiesArea - 354 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 3431 + 3162 + + NS.objects + CF$UID - 3430 + 3168 CF$UID - 3432 + 4083 CF$UID - 3434 + 3170 CF$UID - 3433 + 3170 CF$UID - 3435 + 4064 + + + + $class + + CF$UID + 91 + + NS.objects + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3436 + 3158 CF$UID - 3437 + 3159 - - NS.objects - CF$UID - 57 + 3160 CF$UID - 3690 + 3161 CF$UID - 168 + 3162 + + NS.objects + CF$UID - 168 + 3168 CF$UID - 3691 + 4085 CF$UID - 3760 + 3177 CF$UID - 3843 + 3177 CF$UID - 3849 + 4067 - Test ANTLRTests (GC Off) $class CF$UID - 68 + 91 + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 3440 - - - CF$UID - 3441 - - - CF$UID - 3442 - - - CF$UID - 3692 + 3158 CF$UID - 3443 + 3159 CF$UID - 3444 + 3160 CF$UID - 3445 + 3161 CF$UID - 3446 + 3162 NS.objects CF$UID - 3693 - - - CF$UID - 3694 - - - CF$UID - 3709 - - - CF$UID - 3721 + 3168 CF$UID - 168 + 4087 CF$UID - 57 + 4070 CF$UID - 3754 + 4070 CF$UID - 168 + 4071 - IDEEditorMode_Standard $class CF$UID - 68 + 91 - NS.keys - NS.objects @@ -67229,60 +72510,52 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 3449 - - - CF$UID - 3450 + 3158 CF$UID - 3451 + 3159 CF$UID - 3452 + 3160 CF$UID - 3453 + 3161 CF$UID - 3454 + 3162 NS.objects CF$UID - 3695 - - - CF$UID - 3701 + 3163 CF$UID - 95 + 4089 CF$UID - 95 + 3351 CF$UID - 3707 + 3351 CF$UID - 3708 + 4105 @@ -67290,20 +72563,13 @@ $class CF$UID - 68 + 91 - NS.keys - - - CF$UID - 1690 - - NS.objects CF$UID - 3696 + 4090 @@ -67311,98 +72577,52 @@ $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 3697 - - - CF$UID - 3699 + 3158 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 1693 + 3159 CF$UID - 1694 + 3160 - - NS.objects - CF$UID - 3458 + 3161 CF$UID - 3698 + 3162 - - 284 - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 1693 - - - CF$UID - 1694 + 3163 - - NS.objects - CF$UID - 3461 + 4091 CF$UID - 3700 + 4103 - - - 653 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 1690 + 4103 - - NS.objects - CF$UID - 3702 + 4104 @@ -67410,17 +72630,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3703 + 4092 CF$UID - 3705 + 4097 @@ -67428,101 +72648,75 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 1693 + 3158 CF$UID - 1694 + 3159 - - NS.objects - CF$UID - 3458 + 3160 CF$UID - 3704 + 3161 + + + CF$UID + 3162 - - 284 - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 1693 + 3168 CF$UID - 1694 + 4093 - - NS.objects - CF$UID - 3461 + 3177 CF$UID - 3706 + 3177 + + + CF$UID + 4094 - 653 $class CF$UID - 68 + 91 - NS.keys - - - CF$UID - 3470 - - NS.objects - - - CF$UID - 98 - - + $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 3472 - - NS.objects CF$UID - 57 + 4095 @@ -67530,89 +72724,114 @@ $class CF$UID - 121 - - geniusEditorContextNode - - CF$UID - 0 + 3174 - primaryEditorContextNode + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL CF$UID - 3710 + 4096 - rootLayoutTreeNode + endingColumnNumber + -1 + endingLineNumber + 26 + startingColumnNumber + -1 + startingLineNumber + 26 + timestamp CF$UID - 3719 + 0 $class CF$UID - 120 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 3711 + 118 - orientation - 0 - parent + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m + + + $class CF$UID - 3719 + 71 + NS.keys + + + CF$UID + 3158 + + + CF$UID + 3159 + + + CF$UID + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 + + + NS.objects + + + CF$UID + 3168 + + + CF$UID + 4098 + + + CF$UID + 4099 + + + CF$UID + 4099 + + + CF$UID + 4100 + + $class CF$UID - 117 - - DocumentLocation - - CF$UID - 3717 - - DomainIdentifier - - CF$UID - 3712 - - IdentifierPath - - CF$UID - 3713 - - IndexOfDocumentIdentifier - - CF$UID - 3716 + 91 + NS.objects + - Xcode.IDENavigableItem.WorkspaceLogsDomain + Method definition for 'createTree:' not found in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h $class CF$UID - 112 + 115 NS.objects CF$UID - 3714 + 4101 @@ -67620,71 +72839,52 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 3715 - - - Test ANTLRTests (GC Off) : Recording - 2147483647 - - $class - - CF$UID - 116 + 3174 + characterRangeLen + 0 + characterRangeLoc + -1 documentURL CF$UID - 3718 + 4102 + endingColumnNumber + 0 + endingLineNumber + 36 + startingColumnNumber + 0 + startingLineNumber + 36 timestamp CF$UID 0 - x-xcode-log://F19A5CB8-78A0-4CF4-A5FE-2BEF1EE89A15 $class CF$UID - 120 - - children - - CF$UID - 3720 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 + 118 + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + Method definition for 'createTree:' not found $class CF$UID - 112 + 115 NS.objects CF$UID - 3710 + 4101 @@ -67692,97 +72892,118 @@ $class CF$UID - 68 + 115 - NS.keys - - - CF$UID - 3722 - - NS.objects CF$UID - 3723 + 4106 - EditorLayout_PersistentRepresentation $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 3296 + + endingColumnNumber + -1 + endingLineNumber + 32 + startingColumnNumber + -1 + startingLineNumber + 32 + timestamp + + CF$UID + 0 - NS.keys - - - CF$UID - 3724 - - - NS.objects - - - CF$UID - 3725 - - - Main $class CF$UID - 84 + 71 NS.keys CF$UID - 3726 + 3158 CF$UID - 3727 + 3159 CF$UID - 3728 + 3160 + + + CF$UID + 3161 + + + CF$UID + 3162 NS.objects CF$UID - 3729 + 4108 CF$UID - 57 + 4109 CF$UID - 3752 + 4127 + + + CF$UID + 4127 + + + CF$UID + 4128 - EditorLayout_StateSavingStateDictionaries - EditorLayout_Selected - EditorLayout_Geometry + Parse Issue $class CF$UID - 112 + 91 NS.objects CF$UID - 3730 + 4110 + + + CF$UID + 4116 + + + CF$UID + 4121 @@ -67790,117 +73011,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 3731 - - - CF$UID - 3732 - - - CF$UID - 3733 + 3158 CF$UID - 3734 + 3159 CF$UID - 3735 + 3160 CF$UID - 3736 + 3161 CF$UID - 3737 + 3162 NS.objects CF$UID - 3738 - - - CF$UID - 3739 - - - CF$UID - 3746 + 3168 CF$UID - 3738 + 4111 CF$UID - 3748 + 4112 CF$UID - 3749 + 4112 CF$UID - 3751 + 4113 - NavigableItemName - ArchivableRepresentation - EditorState - DocumentNavigableItemName - FileDataType - DocumentURL - DocumentExtensionIdentifier - Test ANTLRTests (GC Off) : Recording $class CF$UID - 117 - - DocumentLocation - - CF$UID - 3744 - - DomainIdentifier - - CF$UID - 3712 - - IdentifierPath - - CF$UID - 3740 - - IndexOfDocumentIdentifier - - CF$UID - 3743 + 91 + NS.objects + + In file included from /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBufferedTreeNodeStream.h:33: $class CF$UID - 112 + 115 NS.objects CF$UID - 3741 + 4114 @@ -67908,314 +73088,334 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 3742 - - - Test ANTLRTests (GC Off) : Recording - 2147483647 - - $class - - CF$UID - 116 + 3174 + characterRangeLen + 0 + characterRangeLoc + -1 documentURL CF$UID - 3745 + 4115 + endingColumnNumber + -1 + endingLineNumber + 32 + startingColumnNumber + -1 + startingLineNumber + 32 timestamp CF$UID 0 - x-xcode-log://F19A5CB8-78A0-4CF4-A5FE-2BEF1EE89A15 - - $class - - CF$UID - 84 - - NS.keys - - - CF$UID - 2376 - - - NS.objects - - - CF$UID - 3747 - - - - {0, 2576} - com.apple.dt.IDE.DebuggerLogContentType $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 3750 + 118 + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.h - x-xcode-log://F19A5CB8-78A0-4CF4-A5FE-2BEF1EE89A15 - Xcode.IDEKit.EditorDocument.DebuggerLogDocument $class CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 3753 + 3158 - - - {{0, 0}, {938, 516}} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 1690 + 3159 - - NS.objects - CF$UID - 3755 + 3160 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 3756 + 3161 CF$UID - 3758 + 3162 - - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 1693 + 3168 CF$UID - 1694 + 4117 - - NS.objects - CF$UID - 3504 + 3747 CF$UID - 3757 + 3747 + + + CF$UID + 4118 - 538 $class CF$UID - 84 + 91 + + NS.objects + + + + $class + + CF$UID + 115 - NS.keys - - - CF$UID - 1693 - - - CF$UID - 1694 - - NS.objects CF$UID - 3507 - - - CF$UID - 3759 + 4119 - 378 $class CF$UID - 68 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4120 + + endingColumnNumber + -1 + endingLineNumber + 30 + startingColumnNumber + -1 + startingLineNumber + 30 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m + + + $class + + CF$UID + 71 NS.keys CF$UID - 3761 - - - CF$UID - 3762 + 3158 CF$UID - 3672 + 3159 CF$UID - 3510 + 3160 CF$UID - 3763 + 3161 CF$UID - 3764 + 3162 NS.objects CF$UID - 3765 + 3168 CF$UID - 3773 + 4122 CF$UID - 3784 + 4123 CF$UID - 3761 + 4123 CF$UID - 3816 + 4124 + + + + $class + + CF$UID + 91 + + NS.objects + + + Expected ';' after method prototype in /Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3820 + 4125 + + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4126 + + endingColumnNumber + 53 + endingLineNumber + 41 + startingColumnNumber + 53 + startingLineNumber + 41 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h + + Expected ';' after method prototype + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 4125 - Xcode.IDEKit.Navigator.Logs - Xcode.IDEKit.Navigator.BatchFind - Xcode.DebuggerKit.ThreadsStacksNavigator - Xcode.IDEKit.Navigator.Structure $class CF$UID - 68 + 71 NS.keys CF$UID - 284 + 3158 CF$UID - 3766 + 3159 CF$UID - 3767 + 3160 CF$UID - 3768 + 3161 + + + CF$UID + 3162 NS.objects CF$UID - 182 + 208 CF$UID - 3769 + 4130 CF$UID - 3772 + 4133 CF$UID - 45 + 4133 - - - IDELogNavigatorSelectedObjectsStateKey - IDELogNavigatorExpandedItemsStateKey - IDELogNavigatorRecentFilterStateKey - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 3770 + 4137 @@ -68223,267 +73423,431 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3771 + 4131 - Test ANTLRTests (GC Off) : Recording - - $class - - CF$UID - 88 - - NS.objects - - $class CF$UID - 68 + 71 NS.keys CF$UID - 3774 + 3158 CF$UID - 3775 + 3159 CF$UID - 3776 + 3160 CF$UID - 3777 + 3161 CF$UID - 3778 + 3162 + + NS.objects + CF$UID - 3779 + 3168 CF$UID - 3780 + 4132 - - NS.objects - CF$UID - 3781 + 4133 CF$UID - 57 + 4133 CF$UID - 3782 + 4134 + + + + $class + + CF$UID + 91 + + NS.objects + + + The Objective-C class 'ANTLRCommonTree', which is derived from class 'ANTLRBaseTree', defines the instance method 'getLine' whose return type is 'NSUInteger'. A method with the same name (same selector) is also defined in class 'ANTLRBaseTree' and has a return type of 'NSInteger'. These two types are incompatible, and may result in undefined behavior for clients of these classes + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 1695 + 4135 CF$UID - 57 + 4135 + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4136 + + endingColumnNumber + 0 + endingLineNumber + 203 + startingColumnNumber + 0 + startingLineNumber + 203 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRCommonTree.m + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3783 + 4138 CF$UID - 45 + 4135 - IDEBatchFindNavigatorCollapsedGroups - IDEBatchFindNavigatorFindMode - IDEBatchFindNavigatorSelectedRowIndexes - IDEBatchFindNavigatorReplaceString - IDEBatchFindNavigatorScrollPosition - IDEBatchFindNavigatorFindString - IDEBatchFindNavigatorShowsOptions $class CF$UID - 1244 + 3174 - NSRangeCount + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4139 + + endingColumnNumber 0 + endingLineNumber + 203 + startingColumnNumber + 0 + startingLineNumber + 203 + timestamp + + CF$UID + 0 + $class CF$UID - 1246 + 118 - NSRangeCount - 0 + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRCommonTree.m - setChildren $class CF$UID - 68 + 71 NS.keys CF$UID - 3785 + 3158 CF$UID - 3786 + 3159 CF$UID - 3787 + 3160 CF$UID - 3788 + 3161 CF$UID - 3789 + 3162 + + NS.objects + CF$UID - 3790 + 4141 CF$UID - 3791 + 4142 CF$UID - 3792 + 4145 CF$UID - 3793 + 4145 CF$UID - 3794 + 4151 + + Dead store + + $class + + CF$UID + 91 + NS.objects CF$UID - 45 + 4143 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3795 + 3158 CF$UID - 3796 + 3159 CF$UID - 3797 + 3160 CF$UID - 3813 + 3161 CF$UID - 45 + 3162 + + NS.objects + CF$UID - 45 + 3168 + + + CF$UID + 4144 CF$UID - 3814 + 4145 CF$UID - 3815 + 4145 CF$UID - 45 + 4146 - IDEErrorFilteringEnabled - IDECollapsedGroups - IDEExpandedIssues - IDECollapsedFiles - IDEVisibleRect - IDERecentFilteringEnabled - IDEShowsByType - IDECollapsedTypes - IDESelectedNavigables - IDESchemeFilteringEnabled $class CF$UID - 196 + 91 + + NS.objects + + + Value stored to 'msg' during its initialization is never read + + $class + + CF$UID + 115 NS.objects CF$UID - 374 - - - CF$UID - 2598 - - - CF$UID - 334 - - - CF$UID - 2599 - - - CF$UID - 2600 - - - CF$UID - 2601 + 4147 CF$UID - 2602 + 4149 + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4148 + + endingColumnNumber + 14 + endingLineNumber + 329 + startingColumnNumber + 14 + startingLineNumber + 329 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseRecognizer.m + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4150 + + endingColumnNumber + 34 + endingLineNumber + 329 + startingColumnNumber + 20 + startingLineNumber + 329 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseRecognizer.m + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 2603 + 4152 CF$UID - 246 + 4149 @@ -68491,643 +73855,820 @@ $class CF$UID - 196 + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4153 + + endingColumnNumber + 14 + endingLineNumber + 329 + startingColumnNumber + 14 + startingLineNumber + 329 + timestamp + + CF$UID + 0 - NS.objects - $class CF$UID - 196 + 118 - NS.objects + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRBaseRecognizer.m + + + $class + + CF$UID + 71 + + NS.keys CF$UID - 3798 + 3158 CF$UID - 3799 + 3159 CF$UID - 3800 + 3160 CF$UID - 3356 + 3161 CF$UID - 3358 + 3162 + + NS.objects + CF$UID - 3359 + 4155 CF$UID - 3801 + 4156 CF$UID - 3362 + 4167 CF$UID - 3802 + 4167 CF$UID - 3360 + 4173 + + + Logic error + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 3363 + 4157 CF$UID - 3666 + 4165 + + + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 3158 CF$UID - 3803 + 3159 CF$UID - 3804 + 3160 CF$UID - 3366 + 3161 CF$UID - 3805 + 3162 + + NS.objects + CF$UID - 3806 + 3168 CF$UID - 3367 + 4158 CF$UID - 3368 + 4159 CF$UID - 3807 + 4159 CF$UID - 3369 + 4160 + + + + + $class + + CF$UID + 91 + + NS.objects + + + Variable 'tpattern' declared without an initial value + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 4161 + + + CF$UID + 4163 + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4162 + + endingColumnNumber + 4 + endingLineNumber + 500 + startingColumnNumber + 4 + startingLineNumber + 500 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeWizard.m + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4164 + + endingColumnNumber + 30 + endingLineNumber + 500 + startingColumnNumber + 4 + startingLineNumber + 500 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeWizard.m + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3370 + 3158 CF$UID - 3808 + 3159 CF$UID - 3371 + 3160 CF$UID - 3372 + 3161 CF$UID - 3373 + 3162 + + NS.objects + CF$UID - 3374 + 3168 CF$UID - 3667 + 4166 CF$UID - 3809 + 4167 CF$UID - 3375 + 4167 CF$UID - 3376 + 4168 + + + + $class + + CF$UID + 91 + + NS.objects + + + Receiver in message expression is an uninitialized value + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3377 + 4169 CF$UID - 3810 + 4171 + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4170 + + endingColumnNumber + 9 + endingLineNumber + 509 + startingColumnNumber + 9 + startingLineNumber + 509 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeWizard.m + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4172 + + endingColumnNumber + 18 + endingLineNumber + 509 + startingColumnNumber + 10 + startingLineNumber + 509 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeWizard.m + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 3379 + 4174 CF$UID - 3378 + 4171 + + + + $class + + CF$UID + 3174 + + characterRangeLen + 0 + characterRangeLoc + -1 + documentURL + + CF$UID + 4175 + + endingColumnNumber + 9 + endingLineNumber + 509 + startingColumnNumber + 9 + startingLineNumber + 509 + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLR/../ANTLRTreeWizard.m + + + $class + + CF$UID + 199 + + NS.objects + CF$UID - 3811 + 3947 CF$UID - 3812 + 3948 CF$UID - 3381 + 3909 CF$UID - 3383 + 3910 CF$UID - 3384 + 3911 CF$UID - 3385 + 3912 CF$UID - 3386 + 3913 CF$UID - 3387 + 3914 CF$UID - 3389 + 3915 CF$UID - 3393 + 3916 CF$UID - 3396 + 4177 CF$UID - 3357 + 3917 CF$UID - 3397 + 3918 - - - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleNodeStream.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRMap.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLookaheadStream.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRFastQueue.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreePatternParser.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDFA.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrStack.h - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRFileStream.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseRecognizer.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTokenStream.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.m - ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLookaheadStream.h - {{0, 0}, {288, 850}} - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 88 - - NS.objects - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 3817 + 3919 CF$UID - 3818 + 3920 CF$UID - 3819 + 3921 - - NS.objects - CF$UID - 98 + 4178 CF$UID - 57 + 3922 CF$UID - 45 + 3923 - - - IDEStackCompressionValue - IDEThreadsOrQueuesMode - IDEHideAncestorForNonInterestingFrames - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 3821 + 3924 CF$UID - 3822 + 3925 CF$UID - 3823 + 4179 CF$UID - 3824 + 3927 CF$UID - 3825 + 3928 CF$UID - 3826 + 3929 CF$UID - 3827 + 3930 - - NS.objects - CF$UID - 3828 + 3932 CF$UID - 45 + 3933 CF$UID - 45 + 3936 CF$UID - 45 + 3935 CF$UID - 3833 + 3937 CF$UID - 183 + 3938 CF$UID - 3834 + 3939 - - - IDESelectedObjects - IDEUnsavedDocumentFilteringEnabled - IDESCMStatusFilteringEnabled - IDERecentDocumentFilteringEnabled - IDEVisibleRect - IDENavigatorExpandedItemsBeforeFilteringSet - IDEExpandedItemsSet - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 3829 + 3940 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 3830 + 3941 CF$UID - 3831 + 3942 CF$UID - 3832 + 3943 - - - ANTLR - Classes - ANTLRCommonTree.m - {{0, 1492}, {288, 872}} - - $class - - CF$UID - 184 - - NS.objects - CF$UID - 3835 + 3944 CF$UID - 3836 + 3907 CF$UID - 3838 + 3946 CF$UID - 3840 + 3945 CF$UID - 3841 + 3908 + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRuntimeException.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreeVisitor.m + {{0, 464}, {613, 850}} $class CF$UID - 88 + 199 NS.objects - - - CF$UID - 3830 - - + $class CF$UID - 88 + 91 NS.objects - - - CF$UID - 3830 - - - CF$UID - 3837 - - + - examples $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 3830 - - - CF$UID - 3839 + 3953 - - - Products - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 3830 + 3954 CF$UID - 3831 + 3955 - - - $class - - CF$UID - 88 - NS.objects CF$UID - 3830 + 101 CF$UID - 3837 + 60 CF$UID - 3842 + 48 - treeparser $class CF$UID - 68 + 71 NS.keys CF$UID - 1690 + 289 - - NS.objects - CF$UID - 3844 + 290 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 3845 + 291 CF$UID - 3847 + 292 - - - $class - - CF$UID - 84 - - NS.keys + NS.objects CF$UID - 1693 + 3957 CF$UID - 1694 + 4185 - - NS.objects - CF$UID - 1695 + 4188 CF$UID - 3846 + 48 - 698 $class CF$UID - 84 + 91 - NS.keys + NS.objects CF$UID - 1693 - - - CF$UID - 1694 + 4186 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 1695 - - - CF$UID - 3848 + 4187 - 218 + Debug treerewrite : Recording $class CF$UID - 68 + 91 + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 1690 + 507 NS.objects CF$UID - 3850 + 4190 @@ -69135,21 +74676,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3851 - - - CF$UID - 3853 + 4191 CF$UID - 3855 + 4193 @@ -69157,107 +74694,102 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 510 CF$UID - 1694 + 511 NS.objects CF$UID - 3435 + 622 CF$UID - 3852 + 4192 - 304 + 678 $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 510 CF$UID - 1694 + 511 NS.objects CF$UID - 3433 + 622 CF$UID - 3854 + 4194 - 938 + 238 $class CF$UID - 84 + 71 NS.keys CF$UID - 1693 - - - CF$UID - 1694 + 507 NS.objects CF$UID - 3687 - - - CF$UID - 3856 + 4196 - 340 $class CF$UID - 112 + 91 NS.objects CF$UID - 2483 + 4197 + + + CF$UID + 4199 CF$UID - 2482 + 4201 @@ -69265,218 +74797,244 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 2486 + 510 CF$UID - 2484 + 511 + + NS.objects + CF$UID - 2481 + 485 CF$UID - 3859 + 4198 + + + 629 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 3860 + 510 CF$UID - 2485 + 511 NS.objects CF$UID - 45 + 484 CF$UID - 3860 + 4200 + + + 953 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 3861 + 510 CF$UID - 23 + 511 + + NS.objects + CF$UID - 3862 + 633 CF$UID - 3956 + 4202 - IDEWorkspaceWindowControllerUniqueIdentifier - IDEWorkspaceTabController_62517207-6A58-4F83-9F6B-575C29F549DE - {{268, 85}, {1380, 920}} + 354 $class CF$UID - 68 + 71 NS.keys CF$UID - 3430 + 481 CF$UID - 3431 + 480 CF$UID - 3432 + 482 CF$UID - 3434 + 483 CF$UID - 3433 + 484 CF$UID - 3435 + 485 CF$UID - 3436 + 486 CF$UID - 3437 + 487 NS.objects CF$UID - 3863 + 60 CF$UID - 57 + 4204 CF$UID - 45 + 171 CF$UID - 45 + 171 CF$UID - 3864 + 4205 CF$UID - 3922 + 4260 CF$UID - 3942 + 4310 CF$UID - 3948 + 4316 - ANTLRCommonTreeAdaptor.m + Build ANTLR $class CF$UID - 68 + 71 NS.keys CF$UID - 3440 + 490 CF$UID - 3441 + 491 CF$UID - 3442 + 492 CF$UID - 3692 + 493 CF$UID - 3443 + 494 CF$UID - 3444 + 495 CF$UID - 3445 + 496 CF$UID - 3446 + 497 NS.objects CF$UID - 3865 + 4206 CF$UID - 3866 + 4207 CF$UID - 3881 + 4222 CF$UID - 3894 + 4234 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 3916 + 4254 CF$UID - 168 + 171 @@ -69484,7 +75042,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -69495,60 +75053,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 3449 + 500 CF$UID - 3450 + 501 CF$UID - 3451 + 502 CF$UID - 3452 + 503 CF$UID - 3453 + 504 CF$UID - 3454 + 505 NS.objects CF$UID - 3867 + 4208 CF$UID - 3873 + 4214 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 3879 + 4220 CF$UID - 3880 + 4221 @@ -69556,20 +75114,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 1690 + 507 NS.objects CF$UID - 3868 + 4209 @@ -69577,17 +75135,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3869 + 4210 CF$UID - 3871 + 4212 @@ -69595,80 +75153,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 510 CF$UID - 1694 + 511 NS.objects CF$UID - 3458 + 512 CF$UID - 3870 + 4211 - 686 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 510 CF$UID - 1694 + 511 NS.objects CF$UID - 3461 + 515 CF$UID - 3872 + 4213 - 693 + 683 $class CF$UID - 68 + 71 NS.keys CF$UID - 1690 + 507 NS.objects CF$UID - 3874 + 4215 @@ -69676,17 +75234,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3875 + 4216 CF$UID - 3877 + 4218 @@ -69694,80 +75252,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 510 CF$UID - 1694 + 511 NS.objects CF$UID - 3458 + 512 CF$UID - 3876 + 4217 - 686 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 510 CF$UID - 1694 + 511 NS.objects CF$UID - 3461 + 515 CF$UID - 3878 + 4219 - 693 + 683 $class CF$UID - 68 + 71 NS.keys CF$UID - 3470 + 524 NS.objects CF$UID - 98 + 101 @@ -69775,20 +75333,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 3472 + 526 NS.objects CF$UID - 57 + 60 @@ -69796,7 +75354,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -69806,19 +75364,19 @@ primaryEditorContextNode CF$UID - 3882 + 4223 rootLayoutTreeNode CF$UID - 3892 + 4232 $class CF$UID - 120 + 123 children @@ -69830,114 +75388,358 @@ documentArchivableRepresentation CF$UID - 3883 + 4224 orientation 0 parent CF$UID - 3892 + 4232 $class CF$UID - 117 + 120 DocumentLocation CF$UID - 3891 + 4230 DomainIdentifier CF$UID - 3884 + 4225 IdentifierPath CF$UID - 3885 + 4226 IndexOfDocumentIdentifier CF$UID - 57 + 4229 - Xcode.IDENavigableItemDomain.WorkspaceStructure + Xcode.IDENavigableItem.WorkspaceLogsDomain $class CF$UID - 112 + 115 + + NS.objects + + + CF$UID + 4227 + + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 4228 + + + Build ANTLR : 7:27:43 PM + 2147483647 + + $class + + CF$UID + 119 + + documentURL + + CF$UID + 4231 + + timestamp + + CF$UID + 0 + + + x-xcode-log://128D3AC5-F4C6-4508-8BEA-E26CF7377619 + + $class + + CF$UID + 123 + + children + + CF$UID + 4233 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 115 NS.objects CF$UID - 3886 + 4223 + + + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 543 + + NS.objects + CF$UID - 3888 + 4235 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3889 + 545 + + + NS.objects + + + CF$UID + 4236 + + + + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 547 + + + CF$UID + 548 + + + CF$UID + 549 + + + NS.objects + + + CF$UID + 4237 + + + CF$UID + 60 + + + CF$UID + 4252 + + + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 4238 + + + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 552 + + + CF$UID + 553 + + + CF$UID + 554 + + + CF$UID + 555 + + + CF$UID + 556 + + + CF$UID + 557 + + + CF$UID + 558 + + + NS.objects + + + CF$UID + 4239 + + + CF$UID + 4240 + + + CF$UID + 4247 + + + CF$UID + 4239 + + + CF$UID + 4248 + + + CF$UID + 4249 + + + CF$UID + 4251 + Build ANTLR : 7:27:43 PM $class CF$UID - 107 + 120 + + DocumentLocation + + CF$UID + 4245 + + DomainIdentifier + + CF$UID + 4225 + + IdentifierPath + + CF$UID + 4241 - Identifier + IndexOfDocumentIdentifier CF$UID - 3887 + 4244 - ANTLRCommonTreeAdaptor.m $class CF$UID - 107 - - Identifier - - CF$UID - 3831 + 115 + NS.objects + + + CF$UID + 4242 + + $class CF$UID - 107 + 110 Identifier CF$UID - 3890 + 4243 - ANTLR + Build ANTLR : 7:27:43 PM + 2147483647 $class CF$UID - 116 + 119 documentURL CF$UID - 1564 + 4246 timestamp @@ -69945,64 +75747,81 @@ 0 + x-xcode-log://128D3AC5-F4C6-4508-8BEA-E26CF7377619 $class CF$UID - 120 + 87 - children + NS.keys + + + CF$UID + 2985 + + + NS.objects + + + CF$UID + 184 + + + + com.apple.dt.IDE.BuildLogContentType + + $class CF$UID - 3893 + 155 - contentType - 0 - documentArchivableRepresentation + NS.base CF$UID 0 - orientation - 0 - parent + NS.relative CF$UID - 0 + 4250 + x-xcode-log://128D3AC5-F4C6-4508-8BEA-E26CF7377619 + Xcode.IDEKit.EditorDocument.LogDocument $class CF$UID - 112 + 115 NS.objects CF$UID - 3882 + 4253 + {{0, 0}, {982, 916}} $class CF$UID - 68 + 71 NS.keys CF$UID - 3722 + 507 NS.objects CF$UID - 3895 + 4255 @@ -70010,20 +75829,17 @@ $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 3724 + 4256 - - NS.objects - CF$UID - 3896 + 4258 @@ -70031,169 +75847,158 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 3726 - - - CF$UID - 3727 + 510 CF$UID - 3728 + 511 NS.objects CF$UID - 3897 - - - CF$UID - 57 + 583 CF$UID - 3914 + 4257 + 203 $class CF$UID - 112 + 87 + NS.keys + + + CF$UID + 510 + + + CF$UID + 511 + + NS.objects CF$UID - 3898 + 586 + + + CF$UID + 4259 + 115 $class CF$UID - 68 + 71 NS.keys CF$UID - 3731 - - - CF$UID - 3732 + 3134 CF$UID - 3733 + 1164 CF$UID - 3734 + 590 CF$UID - 3735 + 591 CF$UID - 3736 + 589 CF$UID - 3737 + 4261 NS.objects CF$UID - 3899 - - - CF$UID - 3900 + 4262 CF$UID - 3906 + 4263 CF$UID - 3887 + 4266 CF$UID - 3910 + 4261 CF$UID - 3911 + 4288 CF$UID - 3913 + 4302 - -create: - - $class - - CF$UID - 117 - - DocumentLocation - - CF$UID - 3891 - - DomainIdentifier - - CF$UID - 3884 - - IdentifierPath - - CF$UID - 3901 - - IndexOfDocumentIdentifier - - CF$UID - 57 - - + Xcode.IDEKit.Navigator.Logs $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 3953 + + + CF$UID + 3954 + + + CF$UID + 3955 + + NS.objects CF$UID - 3902 + 101 CF$UID - 3903 + 60 CF$UID - 3904 + 48 @@ -70201,316 +76006,543 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 3887 + 71 + NS.keys + + + CF$UID + 1166 + + + CF$UID + 1167 + + + CF$UID + 1168 + + + CF$UID + 1169 + + + CF$UID + 1170 + + + CF$UID + 1171 + + + CF$UID + 1172 + + + NS.objects + + + CF$UID + 4264 + + + CF$UID + 60 + + + CF$UID + 4265 + + + CF$UID + 622 + + + CF$UID + 60 + + + CF$UID + 1178 + + + CF$UID + 48 + + $class CF$UID - 107 - - Identifier - - CF$UID - 3831 + 1174 + NSRangeCount + 0 $class CF$UID - 107 - - Identifier - - CF$UID - 3905 + 1176 + NSLength + 2 + NSLocation + 20 + NSRangeCount + 1 - ANTLR $class CF$UID - 84 + 71 NS.keys CF$UID - 1971 + 603 CF$UID - 1972 + 604 CF$UID - 1973 + 605 CF$UID - 1974 + 606 + + + CF$UID + 607 + + + CF$UID + 608 + + + CF$UID + 609 + + + CF$UID + 610 + + + CF$UID + 611 + + + CF$UID + 612 NS.objects CF$UID - 45 + 48 CF$UID - 3907 + 4267 CF$UID - 3908 + 4268 CF$UID - 3909 + 4269 + + + CF$UID + 4285 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 4286 + + + CF$UID + 4287 + + + CF$UID + 48 - 324445437.80042303 - {1657, 1977} - {2905, 0} - public.objective-c-source $class CF$UID - 156 - - NS.base - - CF$UID - 0 + 199 - NS.relative + NS.objects + + + CF$UID + 251 + + + CF$UID + 3151 + + + CF$UID + 337 + + + CF$UID + 3152 + + + CF$UID + 3143 + + + CF$UID + 3153 + + + CF$UID + 3154 + + + CF$UID + 3155 + + + CF$UID + 377 + + + + + $class CF$UID - 3912 + 199 + NS.objects + - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.m - Xcode.IDEKit.EditorDocument.SourceCode $class CF$UID - 112 + 199 NS.objects CF$UID - 3915 + 3946 + + + CF$UID + 4270 + + + CF$UID + 3948 + + + CF$UID + 3908 + + + CF$UID + 3909 + + + CF$UID + 3910 + + + CF$UID + 4271 + + + CF$UID + 3913 + + + CF$UID + 4272 + + + CF$UID + 3911 + + + CF$UID + 3914 + + + CF$UID + 4177 + + + CF$UID + 4273 + + + CF$UID + 4274 + + + CF$UID + 3917 + + + CF$UID + 4275 + + + CF$UID + 4276 + + + CF$UID + 3918 + + + CF$UID + 3919 + + + CF$UID + 4277 + + + CF$UID + 3920 + + + CF$UID + 3921 + + + CF$UID + 4278 + + + CF$UID + 3922 + + + CF$UID + 3923 + + + CF$UID + 3924 + + + CF$UID + 3925 + + + CF$UID + 4178 + + + CF$UID + 4279 + + + CF$UID + 3926 + + + CF$UID + 3927 - - - {{0, 0}, {1380, 874}} - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 1690 + 3928 - - NS.objects - CF$UID - 3917 + 4280 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 3918 + 3930 CF$UID - 3920 + 3929 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 1693 + 4281 CF$UID - 1694 + 4282 - - NS.objects - CF$UID - 3504 + 3932 CF$UID - 3919 + 3934 - - - 203 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 1693 + 3935 CF$UID - 1694 + 3936 - - NS.objects - CF$UID - 3507 + 3937 CF$UID - 3921 + 3938 - - - 115 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 3764 + 3940 CF$UID - 3510 + 3944 - - NS.objects - CF$UID - 3923 + 4283 CF$UID - 3764 + 4284 + + + CF$UID + 3947 + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLookaheadStream.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRFastQueue.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRTreePatternParser.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLexerState.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRDFA.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRPtrStack.h + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRFileStream.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseRecognizer.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBufferedTokenStream.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTokenStream.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRLookaheadStream.h + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRRewriteRuleNodeStream.m + ANTLR/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRMap.m + {{0, 4191}, {244, 850}} + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 91 + + NS.objects + + $class CF$UID - 68 + 71 NS.keys CF$UID - 3821 + 593 CF$UID - 3822 + 594 CF$UID - 3823 + 595 CF$UID - 3824 + 596 CF$UID - 3825 + 597 CF$UID - 3826 + 598 CF$UID - 3827 + 599 NS.objects CF$UID - 3924 + 4289 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 3927 + 4292 CF$UID - 183 + 186 CF$UID - 3928 + 4293 @@ -70518,13 +76550,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 3925 + 4290 @@ -70532,69 +76564,53 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3926 + 4291 CF$UID - 3831 + 535 CF$UID - 3887 + 1731 ANTLR - {{0, 0}, {0, 0}} + {{0, 1762}, {244, 872}} $class CF$UID - 184 + 187 NS.objects CF$UID - 3929 - - - CF$UID - 3930 - - - CF$UID - 3931 - - - CF$UID - 3933 - - - CF$UID - 3936 + 4294 CF$UID - 3937 + 4295 CF$UID - 3938 + 4296 CF$UID - 3939 + 4298 CF$UID - 3940 + 4300 @@ -70602,13 +76618,13 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3926 + 4291 @@ -70616,17 +76632,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3926 + 4291 CF$UID - 3831 + 535 @@ -70634,126 +76650,122 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3926 + 4291 CF$UID - 3932 + 4297 - ANTLRTests + examples $class CF$UID - 88 + 91 NS.objects CF$UID - 3926 - - - CF$UID - 3932 - - - CF$UID - 3934 + 4291 CF$UID - 3935 + 4299 - runtime - stream + Products $class CF$UID - 88 + 91 NS.objects CF$UID - 3926 + 4291 CF$UID - 3837 + 4297 CF$UID - 3842 + 4301 + treeparser $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 3926 + 289 CF$UID - 3839 + 4303 + + + CF$UID + 4304 + + + CF$UID + 4305 - - - $class - - CF$UID - 88 - NS.objects CF$UID - 3926 + 185 CF$UID - 3932 + 4306 CF$UID - 3934 + 4309 + + + CF$UID + 48 + IDELogNavigatorSelectedObjectsStateKey + IDELogNavigatorExpandedItemsStateKey + IDELogNavigatorRecentFilterStateKey $class CF$UID - 88 + 91 NS.objects CF$UID - 3926 - - - CF$UID - 3837 + 4307 @@ -70761,47 +76773,44 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3926 - - - CF$UID - 3932 - - - CF$UID - 3934 - - - CF$UID - 3941 + 4308 - TestRewriteRuleTokenStream + Build ANTLR : 7:27:43 PM + + $class + + CF$UID + 91 + + NS.objects + + $class CF$UID - 68 + 71 NS.keys CF$UID - 1690 + 507 NS.objects CF$UID - 3943 + 4311 @@ -70809,17 +76818,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3944 + 4312 CF$UID - 3946 + 4314 @@ -70827,80 +76836,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 510 CF$UID - 1694 + 511 NS.objects CF$UID - 1695 + 622 CF$UID - 3945 + 4313 - 663 + 698 $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 510 CF$UID - 1694 + 511 NS.objects CF$UID - 1695 + 622 CF$UID - 3947 + 4315 - 211 + 218 $class CF$UID - 68 + 71 NS.keys CF$UID - 1690 + 507 NS.objects CF$UID - 3949 + 4317 @@ -70908,21 +76917,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3950 + 4318 CF$UID - 3952 + 4320 CF$UID - 3954 + 4322 @@ -70930,88 +76939,88 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 510 CF$UID - 1694 + 511 NS.objects CF$UID - 3435 + 485 CF$UID - 3951 + 4319 - 304 + 260 $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 510 CF$UID - 1694 + 511 NS.objects CF$UID - 3433 + 484 CF$UID - 3953 + 4321 - 938 + 982 $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 510 CF$UID - 1694 + 511 NS.objects CF$UID - 3687 + 633 CF$UID - 3955 + 4323 @@ -71020,13 +77029,17 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 3860 + 3033 + + + CF$UID + 3032 @@ -71034,60 +77047,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 3958 + 4326 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 3958 + 4326 CF$UID - 3959 + 4327 CF$UID - 24 + 26 CF$UID - 3960 + 4328 CF$UID - 4013 + 4381 @@ -71097,68 +77110,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 3961 + 4329 CF$UID - 3994 + 4362 CF$UID - 3999 + 4367 CF$UID - 4005 + 4373 @@ -71166,76 +77179,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 3962 + 4330 CF$UID - 3963 + 4331 CF$UID - 3978 + 4346 CF$UID - 3982 + 4350 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 3988 + 4356 CF$UID - 168 + 171 @@ -71243,7 +77256,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -71254,60 +77267,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 3964 + 4332 CF$UID - 3970 + 4338 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 3976 + 4344 CF$UID - 3977 + 4345 @@ -71315,20 +77328,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 3965 + 4333 @@ -71336,17 +77349,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3966 + 4334 CF$UID - 3968 + 4336 @@ -71354,28 +77367,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 3967 + 4335 @@ -71384,28 +77397,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 3969 + 4337 @@ -71414,20 +77427,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 3971 + 4339 @@ -71435,17 +77448,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3972 + 4340 CF$UID - 3974 + 4342 @@ -71453,28 +77466,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 3973 + 4341 @@ -71483,28 +77496,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 3975 + 4343 @@ -71513,20 +77526,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -71534,20 +77547,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -71555,7 +77568,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -71565,19 +77578,19 @@ primaryEditorContextNode CF$UID - 3979 + 4347 rootLayoutTreeNode CF$UID - 3980 + 4348 $class CF$UID - 120 + 123 children @@ -71596,19 +77609,19 @@ parent CF$UID - 3980 + 4348 $class CF$UID - 120 + 123 children CF$UID - 3981 + 4349 contentType 0 @@ -71629,13 +77642,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 3979 + 4347 @@ -71643,20 +77656,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 3983 + 4351 @@ -71664,20 +77677,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 3984 + 4352 @@ -71685,36 +77698,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 3985 + 4353 CF$UID - 57 + 60 CF$UID - 3987 + 4355 @@ -71722,13 +77735,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 3986 + 4354 @@ -71736,7 +77749,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -71747,13 +77760,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -71761,20 +77774,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 3989 + 4357 @@ -71782,17 +77795,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 3990 + 4358 CF$UID - 3992 + 4360 @@ -71800,28 +77813,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 3991 + 4359 @@ -71830,28 +77843,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 3993 + 4361 @@ -71860,36 +77873,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 172 + 1501 CF$UID - 1233 + 175 NS.objects CF$UID - 3995 + 4363 CF$UID - 1233 + 4364 CF$UID - 3996 + 1501 @@ -71897,68 +77910,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -71966,68 +77979,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 1236 + 1504 CF$UID - 1237 + 1505 CF$UID - 1238 + 1506 CF$UID - 1239 + 1507 CF$UID - 1240 + 1508 CF$UID - 1241 + 1509 CF$UID - 1242 + 1510 NS.objects CF$UID - 3997 + 4365 CF$UID - 57 + 60 CF$UID - 3998 + 4366 CF$UID - 1247 + 1513 CF$UID - 57 + 60 CF$UID - 1248 + 1514 CF$UID - 45 + 48 @@ -72035,7 +78048,7 @@ $class CF$UID - 1244 + 1174 NSRangeCount 0 @@ -72044,7 +78057,7 @@ $class CF$UID - 1246 + 1176 NSRangeCount 0 @@ -72053,20 +78066,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4000 + 4368 @@ -72074,17 +78087,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4001 + 4369 CF$UID - 4003 + 4371 @@ -72092,28 +78105,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4002 + 4370 @@ -72122,28 +78135,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4004 + 4372 @@ -72152,20 +78165,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4006 + 4374 @@ -72173,21 +78186,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4007 + 4375 CF$UID - 4009 + 4377 CF$UID - 4011 + 4379 @@ -72195,28 +78208,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 4008 + 4376 @@ -72225,28 +78238,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 4010 + 4378 @@ -72255,28 +78268,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 4012 + 4380 @@ -72285,13 +78298,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 3958 + 4326 @@ -72299,60 +78312,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 4015 + 4383 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 4015 + 4383 CF$UID - 4016 + 4384 CF$UID - 25 + 27 CF$UID - 4017 + 4385 CF$UID - 4084 + 4452 @@ -72362,76 +78375,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 48 + 51 CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 4018 + 4386 CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4019 + 4387 CF$UID - 4065 + 4433 CF$UID - 4070 + 4438 CF$UID - 4076 + 4444 @@ -72440,76 +78453,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 4020 + 4388 CF$UID - 4021 + 4389 CF$UID - 4036 + 4404 CF$UID - 4046 + 4414 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 4059 + 4427 CF$UID - 168 + 171 @@ -72517,7 +78530,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -72528,60 +78541,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 4022 + 4390 CF$UID - 4028 + 4396 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 4034 + 4402 CF$UID - 4035 + 4403 @@ -72589,20 +78602,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4023 + 4391 @@ -72610,17 +78623,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4024 + 4392 CF$UID - 4026 + 4394 @@ -72628,28 +78641,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4025 + 4393 @@ -72658,28 +78671,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4027 + 4395 @@ -72688,20 +78701,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4029 + 4397 @@ -72709,17 +78722,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4030 + 4398 CF$UID - 4032 + 4400 @@ -72727,28 +78740,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4031 + 4399 @@ -72757,28 +78770,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4033 + 4401 @@ -72787,20 +78800,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -72808,20 +78821,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -72829,7 +78842,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -72839,19 +78852,19 @@ primaryEditorContextNode CF$UID - 4037 + 4405 rootLayoutTreeNode CF$UID - 4044 + 4412 $class CF$UID - 120 + 123 children @@ -72863,54 +78876,54 @@ documentArchivableRepresentation CF$UID - 4038 + 4406 orientation 0 parent CF$UID - 4044 + 4412 $class CF$UID - 117 + 120 DocumentLocation CF$UID - 4043 + 4411 DomainIdentifier CF$UID - 417 + 420 IdentifierPath CF$UID - 4039 + 4407 IndexOfDocumentIdentifier CF$UID - 4042 + 4410 $class CF$UID - 112 + 115 NS.objects CF$UID - 4040 + 4408 @@ -72918,12 +78931,12 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 4041 + 4409 Build scopes : 2:22:51 PM @@ -72932,12 +78945,12 @@ $class CF$UID - 116 + 119 documentURL CF$UID - 1545 + 1923 timestamp @@ -72949,12 +78962,12 @@ $class CF$UID - 120 + 123 children CF$UID - 4045 + 4413 contentType 0 @@ -72975,13 +78988,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4037 + 4405 @@ -72989,20 +79002,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 4047 + 4415 @@ -73010,20 +79023,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 4048 + 4416 @@ -73031,36 +79044,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 4049 + 4417 CF$UID - 57 + 60 CF$UID - 4058 + 4426 @@ -73068,13 +79081,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4050 + 4418 @@ -73082,68 +79095,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 132 + 135 CF$UID - 133 + 136 CF$UID - 134 + 137 CF$UID - 135 + 138 CF$UID - 136 + 139 CF$UID - 137 + 140 CF$UID - 138 + 141 NS.objects CF$UID - 4041 + 434 CF$UID - 4051 + 4409 CF$UID - 4056 + 4419 CF$UID - 4041 + 4409 CF$UID - 438 + 437 CF$UID - 4057 + 4420 CF$UID - 440 + 4421 @@ -73151,40 +79164,78 @@ $class CF$UID - 117 + 87 + + NS.keys + + + CF$UID + 436 + + + NS.objects + + + CF$UID + 184 + + + + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 1923 + + + + $class + + CF$UID + 120 DocumentLocation CF$UID - 4055 + 4425 DomainIdentifier CF$UID - 417 + 420 IdentifierPath CF$UID - 4052 + 4422 IndexOfDocumentIdentifier CF$UID - 4054 + 4424 $class CF$UID - 112 + 115 NS.objects CF$UID - 4053 + 4423 @@ -73192,12 +79243,12 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 4041 + 4409 2147483647 @@ -73205,12 +79256,12 @@ $class CF$UID - 116 + 119 documentURL CF$UID - 1545 + 1923 timestamp @@ -73222,51 +79273,13 @@ $class CF$UID - 84 - - NS.keys - - - CF$UID - 437 - - - NS.objects - - - CF$UID - 181 - - - - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1545 - - - - $class - - CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -73274,20 +79287,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4060 + 4428 @@ -73295,17 +79308,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4061 + 4429 CF$UID - 4063 + 4431 @@ -73313,28 +79326,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 4062 + 4430 @@ -73343,28 +79356,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 4064 + 4432 @@ -73373,36 +79386,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 281 + 175 CF$UID - 172 + 286 NS.objects CF$UID - 4066 + 4434 CF$UID - 4067 + 286 CF$UID - 281 + 4435 @@ -73410,68 +79423,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -73479,44 +79492,44 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 284 + 289 CF$UID - 285 + 290 CF$UID - 286 + 291 CF$UID - 287 + 292 NS.objects CF$UID - 199 + 202 CF$UID - 4068 + 4436 CF$UID - 4069 + 4437 CF$UID - 45 + 48 @@ -73524,7 +79537,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -73533,7 +79546,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -73542,20 +79555,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4071 + 4439 @@ -73563,17 +79576,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4072 + 4440 CF$UID - 4074 + 4442 @@ -73581,28 +79594,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4073 + 4441 @@ -73611,28 +79624,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4075 + 4443 @@ -73641,20 +79654,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4077 + 4445 @@ -73662,21 +79675,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4078 + 4446 CF$UID - 4080 + 4448 CF$UID - 4082 + 4450 @@ -73684,28 +79697,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 4079 + 4447 @@ -73714,28 +79727,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 4081 + 4449 @@ -73744,28 +79757,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 4083 + 4451 @@ -73774,13 +79787,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4015 + 4383 @@ -73788,60 +79801,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 4086 + 4454 CF$UID - 41 + 44 CF$UID - 40 + 43 CF$UID - 39 + 42 CF$UID - 42 + 45 CF$UID - 44 + 47 NS.objects CF$UID - 4087 + 4455 CF$UID - 394 + 397 CF$UID - 4086 + 4454 CF$UID - 45 + 48 CF$UID - 26 + 28 CF$UID - 4160 + 4529 @@ -73850,76 +79863,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 49 + 52 CF$UID - 48 + 51 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 57 + 60 CF$UID - 4088 + 4456 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4089 + 4457 CF$UID - 4138 + 4507 CF$UID - 4146 + 4515 CF$UID - 4152 + 4521 @@ -73928,76 +79941,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 4090 + 4458 CF$UID - 4091 + 4459 CF$UID - 4106 + 4474 CF$UID - 4117 + 4485 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 4132 + 4501 CF$UID - 168 + 171 @@ -74005,7 +80018,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -74016,60 +80029,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 4092 + 4460 CF$UID - 4098 + 4466 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 4104 + 4472 CF$UID - 4105 + 4473 @@ -74077,20 +80090,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4093 + 4461 @@ -74098,17 +80111,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4094 + 4462 CF$UID - 4096 + 4464 @@ -74116,28 +80129,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4095 + 4463 @@ -74146,28 +80159,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4097 + 4465 @@ -74176,20 +80189,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4099 + 4467 @@ -74197,17 +80210,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4100 + 4468 CF$UID - 4102 + 4470 @@ -74215,28 +80228,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4101 + 4469 @@ -74245,28 +80258,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4103 + 4471 @@ -74275,20 +80288,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -74296,20 +80309,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -74317,7 +80330,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -74327,19 +80340,19 @@ primaryEditorContextNode CF$UID - 4107 + 4475 rootLayoutTreeNode CF$UID - 4115 + 4483 $class CF$UID - 120 + 123 children @@ -74351,62 +80364,62 @@ documentArchivableRepresentation CF$UID - 4108 + 4476 orientation 0 parent CF$UID - 4115 + 4483 $class CF$UID - 117 + 120 DocumentLocation CF$UID - 4113 + 4481 DomainIdentifier CF$UID - 104 + 107 IdentifierPath CF$UID - 4109 + 4477 IndexOfDocumentIdentifier CF$UID - 57 + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 4110 + 4478 CF$UID - 4111 + 4479 CF$UID - 4112 + 4480 @@ -74414,48 +80427,48 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 4088 + 4456 $class CF$UID - 107 + 110 Identifier CF$UID - 109 + 112 $class CF$UID - 107 + 110 Identifier CF$UID - 111 + 114 $class CF$UID - 116 + 119 documentURL CF$UID - 4114 + 4482 timestamp @@ -74467,7 +80480,7 @@ $class CF$UID - 115 + 118 NS.string file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h @@ -74476,12 +80489,12 @@ $class CF$UID - 120 + 123 children CF$UID - 4116 + 4484 contentType 0 @@ -74502,13 +80515,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4107 + 4475 @@ -74516,20 +80529,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 4118 + 4486 @@ -74537,20 +80550,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 4119 + 4487 @@ -74558,36 +80571,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 4120 + 4488 CF$UID - 57 + 60 CF$UID - 4131 + 4500 @@ -74595,13 +80608,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4121 + 4489 @@ -74609,68 +80622,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 138 + 141 CF$UID - 132 + 135 CF$UID - 134 + 137 CF$UID - 135 + 138 CF$UID - 136 + 139 CF$UID - 137 + 140 CF$UID - 133 + 136 NS.objects CF$UID - 157 + 4490 CF$UID - 4088 + 142 CF$UID - 4122 + 4495 CF$UID - 4088 + 4456 CF$UID - 270 + 269 CF$UID - 4125 + 4498 CF$UID - 4126 + 4456 @@ -74678,162 +80691,163 @@ $class CF$UID - 84 + 120 + + DocumentLocation + + CF$UID + 4481 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 4491 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 - NS.keys - - - CF$UID - 147 - - - CF$UID - 146 - - - CF$UID - 148 - - - CF$UID - 149 - - NS.objects CF$UID - 4123 - - - CF$UID - 45 + 4492 CF$UID - 4124 + 4493 CF$UID - 349 + 4494 - 324436616.01285303 - {0, 2064} $class CF$UID - 156 + 110 - NS.base - - CF$UID - 0 - - NS.relative + Identifier CF$UID - 1558 + 4456 $class CF$UID - 117 - - DocumentLocation - - CF$UID - 4113 + 110 - DomainIdentifier + Identifier CF$UID - 104 + 112 - IdentifierPath + + + $class CF$UID - 4127 + 110 - IndexOfDocumentIdentifier + Identifier CF$UID - 57 + 114 $class CF$UID - 112 + 87 + NS.keys + + + CF$UID + 146 + + + CF$UID + 145 + + + CF$UID + 147 + + + CF$UID + 148 + + NS.objects CF$UID - 4128 + 4496 CF$UID - 4129 + 48 CF$UID - 4130 + 4497 + + + CF$UID + 358 + 324436616.01285303 + {0, 2064} $class CF$UID - 107 - - Identifier - - CF$UID - 4088 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 109 + 155 - - - $class + NS.base CF$UID - 107 + 0 - Identifier + NS.relative CF$UID - 111 + 4499 + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -74841,20 +80855,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4133 + 4502 @@ -74862,17 +80876,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4134 + 4503 CF$UID - 4136 + 4505 @@ -74880,28 +80894,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 4135 + 4504 @@ -74910,28 +80924,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 4137 + 4506 @@ -74940,36 +80954,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 171 + 174 CF$UID - 172 + 175 NS.objects CF$UID - 4139 + 4508 CF$UID - 4140 + 4509 CF$UID - 171 + 174 @@ -74977,68 +80991,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -75046,92 +81060,92 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 186 + 189 CF$UID - 187 + 190 CF$UID - 188 + 191 CF$UID - 189 + 192 CF$UID - 178 + 181 CF$UID - 190 + 193 CF$UID - 191 + 194 CF$UID - 192 + 195 CF$UID - 193 + 196 CF$UID - 194 + 197 NS.objects CF$UID - 45 + 48 CF$UID - 4141 + 4510 CF$UID - 4142 + 4511 CF$UID - 4143 + 4512 CF$UID - 199 + 202 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4144 + 4513 CF$UID - 4145 + 4514 CF$UID - 45 + 48 @@ -75139,7 +81153,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -75148,7 +81162,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -75157,7 +81171,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -75166,7 +81180,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -75175,7 +81189,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -75184,20 +81198,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4147 + 4516 @@ -75205,17 +81219,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4148 + 4517 CF$UID - 4150 + 4519 @@ -75223,28 +81237,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4149 + 4518 @@ -75253,28 +81267,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4151 + 4520 @@ -75283,20 +81297,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4153 + 4522 @@ -75304,21 +81318,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4154 + 4523 CF$UID - 4156 + 4525 CF$UID - 4158 + 4527 @@ -75326,28 +81340,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 4155 + 4524 @@ -75356,28 +81370,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 4157 + 4526 @@ -75386,28 +81400,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 4159 + 4528 @@ -75416,13 +81430,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4086 + 4454 @@ -75430,60 +81444,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 4162 + 4531 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 4162 + 4531 CF$UID - 4163 + 4532 CF$UID - 27 + 29 CF$UID - 4164 + 4533 CF$UID - 4220 + 4589 @@ -75493,68 +81507,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4165 + 4534 CF$UID - 4198 + 4567 CF$UID - 4206 + 4575 CF$UID - 4212 + 4581 @@ -75562,76 +81576,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 4166 + 4535 CF$UID - 4167 + 4536 CF$UID - 4182 + 4551 CF$UID - 4186 + 4555 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 4192 + 4561 CF$UID - 168 + 171 @@ -75639,7 +81653,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -75650,60 +81664,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 4168 + 4537 CF$UID - 4174 + 4543 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 4180 + 4549 CF$UID - 4181 + 4550 @@ -75711,20 +81725,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4169 + 4538 @@ -75732,17 +81746,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4170 + 4539 CF$UID - 4172 + 4541 @@ -75750,28 +81764,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4171 + 4540 @@ -75780,28 +81794,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4173 + 4542 @@ -75810,20 +81824,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4175 + 4544 @@ -75831,17 +81845,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4176 + 4545 CF$UID - 4178 + 4547 @@ -75849,28 +81863,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4177 + 4546 @@ -75879,28 +81893,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4179 + 4548 @@ -75909,20 +81923,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -75930,20 +81944,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -75951,7 +81965,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -75961,19 +81975,19 @@ primaryEditorContextNode CF$UID - 4183 + 4552 rootLayoutTreeNode CF$UID - 4184 + 4553 $class CF$UID - 120 + 123 children @@ -75992,19 +82006,19 @@ parent CF$UID - 4184 + 4553 $class CF$UID - 120 + 123 children CF$UID - 4185 + 4554 contentType 0 @@ -76025,13 +82039,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4183 + 4552 @@ -76039,20 +82053,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 4187 + 4556 @@ -76060,20 +82074,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 4188 + 4557 @@ -76081,36 +82095,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 4189 + 4558 CF$UID - 57 + 60 CF$UID - 4191 + 4560 @@ -76118,13 +82132,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4190 + 4559 @@ -76132,7 +82146,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -76143,13 +82157,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -76157,20 +82171,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4193 + 4562 @@ -76178,17 +82192,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4194 + 4563 CF$UID - 4196 + 4565 @@ -76196,28 +82210,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 4195 + 4564 @@ -76226,28 +82240,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 4197 + 4566 @@ -76256,36 +82270,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 171 + 174 CF$UID - 172 + 175 NS.objects CF$UID - 4199 + 4568 CF$UID - 4200 + 4569 CF$UID - 171 + 174 @@ -76293,68 +82307,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -76362,92 +82376,92 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 186 + 189 CF$UID - 187 + 190 CF$UID - 188 + 191 CF$UID - 189 + 192 CF$UID - 178 + 181 CF$UID - 190 + 193 CF$UID - 191 + 194 CF$UID - 192 + 195 CF$UID - 193 + 196 CF$UID - 194 + 197 NS.objects CF$UID - 45 + 48 CF$UID - 4201 + 4570 CF$UID - 4202 + 4571 CF$UID - 4203 + 4572 CF$UID - 199 + 202 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4204 + 4573 CF$UID - 4205 + 4574 CF$UID - 45 + 48 @@ -76455,7 +82469,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -76464,7 +82478,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -76473,7 +82487,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -76482,7 +82496,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -76491,7 +82505,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -76500,20 +82514,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4207 + 4576 @@ -76521,17 +82535,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4208 + 4577 CF$UID - 4210 + 4579 @@ -76539,28 +82553,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4209 + 4578 @@ -76569,28 +82583,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4211 + 4580 @@ -76599,20 +82613,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4213 + 4582 @@ -76620,21 +82634,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4214 + 4583 CF$UID - 4216 + 4585 CF$UID - 4218 + 4587 @@ -76642,28 +82656,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 4215 + 4584 @@ -76672,28 +82686,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 4217 + 4586 @@ -76702,28 +82716,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 4219 + 4588 @@ -76732,13 +82746,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4162 + 4531 @@ -76746,60 +82760,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 4222 + 4591 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 4222 + 4591 CF$UID - 4223 + 4592 CF$UID - 28 + 30 CF$UID - 4224 + 4593 CF$UID - 4297 + 4666 @@ -76809,76 +82823,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 48 + 51 CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 1442 + 1791 CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4225 + 4594 CF$UID - 4275 + 4644 CF$UID - 4283 + 4652 CF$UID - 4289 + 4658 @@ -76886,76 +82900,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 4226 + 4595 CF$UID - 4227 + 4596 CF$UID - 4242 + 4611 CF$UID - 4253 + 4622 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 4269 + 4638 CF$UID - 168 + 171 @@ -76963,7 +82977,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -76974,60 +82988,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 4228 + 4597 CF$UID - 4234 + 4603 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 4240 + 4609 CF$UID - 4241 + 4610 @@ -77035,20 +83049,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4229 + 4598 @@ -77056,17 +83070,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4230 + 4599 CF$UID - 4232 + 4601 @@ -77074,28 +83088,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4231 + 4600 @@ -77104,28 +83118,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4233 + 4602 @@ -77134,20 +83148,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4235 + 4604 @@ -77155,17 +83169,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4236 + 4605 CF$UID - 4238 + 4607 @@ -77173,28 +83187,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4237 + 4606 @@ -77203,28 +83217,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4239 + 4608 @@ -77233,20 +83247,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -77254,20 +83268,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -77275,7 +83289,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -77285,19 +83299,19 @@ primaryEditorContextNode CF$UID - 4243 + 4612 rootLayoutTreeNode CF$UID - 4251 + 4620 $class CF$UID - 120 + 123 children @@ -77309,66 +83323,66 @@ documentArchivableRepresentation CF$UID - 4244 + 4613 orientation 0 parent CF$UID - 4251 + 4620 $class CF$UID - 117 + 120 DocumentLocation CF$UID - 4250 + 4619 DomainIdentifier CF$UID - 1463 + 1812 IdentifierPath CF$UID - 4245 + 4614 IndexOfDocumentIdentifier CF$UID - 57 + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 4246 + 4615 CF$UID - 4247 + 4616 CF$UID - 4248 + 4617 CF$UID - 4249 + 4618 @@ -77376,60 +83390,60 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 1442 + 1791 $class CF$UID - 107 + 110 Identifier CF$UID - 1467 + 1816 $class CF$UID - 107 + 110 Identifier CF$UID - 376 + 379 $class CF$UID - 107 + 110 Identifier CF$UID - 1470 + 1819 $class CF$UID - 116 + 119 documentURL CF$UID - 1472 + 1821 timestamp @@ -77441,12 +83455,12 @@ $class CF$UID - 120 + 123 children CF$UID - 4252 + 4621 contentType 0 @@ -77467,13 +83481,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4243 + 4612 @@ -77481,20 +83495,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 4254 + 4623 @@ -77502,20 +83516,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 4255 + 4624 @@ -77523,36 +83537,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 4256 + 4625 CF$UID - 57 + 60 CF$UID - 4268 + 4637 @@ -77560,13 +83574,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4257 + 4626 @@ -77574,68 +83588,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 132 + 135 CF$UID - 133 + 136 CF$UID - 134 + 137 CF$UID - 135 + 138 CF$UID - 136 + 139 CF$UID - 137 + 140 CF$UID - 138 + 141 NS.objects CF$UID - 1442 + 142 CF$UID - 4258 + 1791 CF$UID - 4265 + 4627 CF$UID - 1442 + 1791 CF$UID - 270 + 269 CF$UID - 4267 + 4629 CF$UID - 157 + 4630 @@ -77643,52 +83657,115 @@ $class CF$UID - 117 + 87 + + NS.keys + + + CF$UID + 146 + + + CF$UID + 145 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 4628 + + + CF$UID + 48 + + + CF$UID + 1831 + + + CF$UID + 358 + + + + 324417807.90071499 + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 1833 + + + + $class + + CF$UID + 120 DocumentLocation CF$UID - 4264 + 4636 DomainIdentifier CF$UID - 1463 + 1812 IdentifierPath CF$UID - 4259 + 4631 IndexOfDocumentIdentifier CF$UID - 57 + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 4260 + 4632 CF$UID - 4261 + 4633 CF$UID - 4262 + 4634 CF$UID - 4263 + 4635 @@ -77696,60 +83773,60 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 1442 + 1791 $class CF$UID - 107 + 110 Identifier CF$UID - 1467 + 1816 $class CF$UID - 107 + 110 Identifier CF$UID - 376 + 379 $class CF$UID - 107 + 110 Identifier CF$UID - 1470 + 1819 $class CF$UID - 116 + 119 documentURL CF$UID - 1472 + 1821 timestamp @@ -77761,76 +83838,13 @@ $class CF$UID - 84 - - NS.keys - - - CF$UID - 147 - - - CF$UID - 146 - - - CF$UID - 148 - - - CF$UID - 149 - - - NS.objects - - - CF$UID - 4266 - - - CF$UID - 45 - - - CF$UID - 1489 - - - CF$UID - 349 - - - - 324417807.90071499 - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1491 - - - - $class - - CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -77838,20 +83852,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4270 + 4639 @@ -77859,17 +83873,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4271 + 4640 CF$UID - 4273 + 4642 @@ -77877,28 +83891,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 4272 + 4641 @@ -77907,28 +83921,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 4274 + 4643 @@ -77937,36 +83951,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 171 + 174 CF$UID - 172 + 175 NS.objects CF$UID - 4276 + 4645 CF$UID - 4277 + 4646 CF$UID - 171 + 174 @@ -77974,68 +83988,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -78043,92 +84057,92 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 186 + 189 CF$UID - 187 + 190 CF$UID - 188 + 191 CF$UID - 189 + 192 CF$UID - 178 + 181 CF$UID - 190 + 193 CF$UID - 191 + 194 CF$UID - 192 + 195 CF$UID - 193 + 196 CF$UID - 194 + 197 NS.objects CF$UID - 45 + 48 CF$UID - 4278 + 4647 CF$UID - 4279 + 4648 CF$UID - 4280 + 4649 CF$UID - 199 + 202 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4281 + 4650 CF$UID - 4282 + 4651 CF$UID - 45 + 48 @@ -78136,7 +84150,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -78145,7 +84159,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -78154,7 +84168,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -78163,7 +84177,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -78172,7 +84186,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -78181,20 +84195,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4284 + 4653 @@ -78202,17 +84216,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4285 + 4654 CF$UID - 4287 + 4656 @@ -78220,28 +84234,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4286 + 4655 @@ -78250,28 +84264,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4288 + 4657 @@ -78280,20 +84294,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4290 + 4659 @@ -78301,21 +84315,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4291 + 4660 CF$UID - 4293 + 4662 CF$UID - 4295 + 4664 @@ -78323,28 +84337,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 4292 + 4661 @@ -78353,28 +84367,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 4294 + 4663 @@ -78383,28 +84397,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 4296 + 4665 @@ -78413,13 +84427,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4222 + 4591 @@ -78427,60 +84441,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 4299 + 4668 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 4299 + 4668 CF$UID - 4300 + 4669 CF$UID - 29 + 31 CF$UID - 4301 + 4670 CF$UID - 4354 + 4723 @@ -78490,68 +84504,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4302 + 4671 CF$UID - 4335 + 4704 CF$UID - 4340 + 4709 CF$UID - 4346 + 4715 @@ -78559,76 +84573,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 4303 + 4672 CF$UID - 4304 + 4673 CF$UID - 4319 + 4688 CF$UID - 4323 + 4692 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 4329 + 4698 CF$UID - 168 + 171 @@ -78636,7 +84650,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -78647,60 +84661,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 4305 + 4674 CF$UID - 4311 + 4680 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 4317 + 4686 CF$UID - 4318 + 4687 @@ -78708,20 +84722,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4306 + 4675 @@ -78729,17 +84743,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4307 + 4676 CF$UID - 4309 + 4678 @@ -78747,28 +84761,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4308 + 4677 @@ -78777,28 +84791,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4310 + 4679 @@ -78807,20 +84821,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4312 + 4681 @@ -78828,17 +84842,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4313 + 4682 CF$UID - 4315 + 4684 @@ -78846,28 +84860,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4314 + 4683 @@ -78876,28 +84890,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4316 + 4685 @@ -78906,20 +84920,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -78927,20 +84941,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -78948,7 +84962,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -78958,19 +84972,19 @@ primaryEditorContextNode CF$UID - 4320 + 4689 rootLayoutTreeNode CF$UID - 4321 + 4690 $class CF$UID - 120 + 123 children @@ -78989,19 +85003,19 @@ parent CF$UID - 4321 + 4690 $class CF$UID - 120 + 123 children CF$UID - 4322 + 4691 contentType 0 @@ -79022,13 +85036,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4320 + 4689 @@ -79036,20 +85050,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 4324 + 4693 @@ -79057,20 +85071,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 4325 + 4694 @@ -79078,36 +85092,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 4326 + 4695 CF$UID - 57 + 60 CF$UID - 4328 + 4697 @@ -79115,13 +85129,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4327 + 4696 @@ -79129,7 +85143,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -79140,13 +85154,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -79154,20 +85168,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4330 + 4699 @@ -79175,17 +85189,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4331 + 4700 CF$UID - 4333 + 4702 @@ -79193,28 +85207,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 4332 + 4701 @@ -79223,28 +85237,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 4334 + 4703 @@ -79253,36 +85267,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 172 + 1501 CF$UID - 1233 + 175 NS.objects CF$UID - 4336 + 4705 CF$UID - 1233 + 4706 CF$UID - 4337 + 1501 @@ -79290,68 +85304,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -79359,68 +85373,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 1236 + 1504 CF$UID - 1237 + 1505 CF$UID - 1238 + 1506 CF$UID - 1239 + 1507 CF$UID - 1240 + 1508 CF$UID - 1241 + 1509 CF$UID - 1242 + 1510 NS.objects CF$UID - 4338 + 4707 CF$UID - 57 + 60 CF$UID - 4339 + 4708 CF$UID - 1247 + 1513 CF$UID - 57 + 60 CF$UID - 1248 + 1514 CF$UID - 45 + 48 @@ -79428,7 +85442,7 @@ $class CF$UID - 1244 + 1174 NSRangeCount 0 @@ -79437,7 +85451,7 @@ $class CF$UID - 1246 + 1176 NSRangeCount 0 @@ -79446,20 +85460,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4341 + 4710 @@ -79467,17 +85481,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4342 + 4711 CF$UID - 4344 + 4713 @@ -79485,28 +85499,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4343 + 4712 @@ -79515,28 +85529,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4345 + 4714 @@ -79545,20 +85559,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4347 + 4716 @@ -79566,21 +85580,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4348 + 4717 CF$UID - 4350 + 4719 CF$UID - 4352 + 4721 @@ -79588,28 +85602,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 4349 + 4718 @@ -79618,28 +85632,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 4351 + 4720 @@ -79648,28 +85662,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 4353 + 4722 @@ -79678,13 +85692,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4299 + 4668 @@ -79692,60 +85706,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 42 CF$UID - 40 + 43 CF$UID - 41 + 44 CF$UID - 42 + 45 CF$UID - 4356 + 4725 CF$UID - 44 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 4356 + 4725 CF$UID - 304 + 225 CF$UID - 30 + 32 CF$UID - 4357 + 4726 CF$UID - 4431 + 4800 @@ -79754,76 +85768,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 49 + 52 CF$UID - 48 + 51 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 57 + 60 CF$UID - 4358 + 4727 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4359 + 4728 CF$UID - 4410 + 4779 CF$UID - 4417 + 4786 CF$UID - 4423 + 4792 @@ -79832,76 +85846,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 4360 + 4729 CF$UID - 4361 + 4730 CF$UID - 4376 + 4745 CF$UID - 4387 + 4756 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 4404 + 4773 CF$UID - 168 + 171 @@ -79909,7 +85923,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -79920,60 +85934,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 4362 + 4731 CF$UID - 4368 + 4737 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 4374 + 4743 CF$UID - 4375 + 4744 @@ -79981,20 +85995,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4363 + 4732 @@ -80002,17 +86016,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4364 + 4733 CF$UID - 4366 + 4735 @@ -80020,28 +86034,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4365 + 4734 @@ -80050,28 +86064,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4367 + 4736 @@ -80080,20 +86094,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4369 + 4738 @@ -80101,17 +86115,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4370 + 4739 CF$UID - 4372 + 4741 @@ -80119,28 +86133,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4371 + 4740 @@ -80149,28 +86163,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4373 + 4742 @@ -80179,20 +86193,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -80200,20 +86214,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -80221,7 +86235,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -80231,19 +86245,19 @@ primaryEditorContextNode CF$UID - 4377 + 4746 rootLayoutTreeNode CF$UID - 4385 + 4754 $class CF$UID - 120 + 123 children @@ -80255,62 +86269,62 @@ documentArchivableRepresentation CF$UID - 4378 + 4747 orientation 0 parent CF$UID - 4385 + 4754 $class CF$UID - 117 + 120 DocumentLocation CF$UID - 4383 + 4752 DomainIdentifier CF$UID - 104 + 107 IdentifierPath CF$UID - 4379 + 4748 IndexOfDocumentIdentifier CF$UID - 57 + 60 $class CF$UID - 112 + 115 NS.objects CF$UID - 4380 + 4749 CF$UID - 4381 + 4750 CF$UID - 4382 + 4751 @@ -80318,48 +86332,48 @@ $class CF$UID - 107 + 110 Identifier CF$UID - 4358 + 4727 $class CF$UID - 107 + 110 Identifier CF$UID - 109 + 112 $class CF$UID - 107 + 110 Identifier CF$UID - 111 + 114 $class CF$UID - 116 + 119 documentURL CF$UID - 4384 + 4753 timestamp @@ -80371,7 +86385,7 @@ $class CF$UID - 115 + 118 NS.string file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/ANTLRBaseTree.h @@ -80380,12 +86394,12 @@ $class CF$UID - 120 + 123 children CF$UID - 4386 + 4755 contentType 0 @@ -80406,13 +86420,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4377 + 4746 @@ -80420,20 +86434,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 126 NS.objects CF$UID - 4388 + 4757 @@ -80441,20 +86455,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 128 NS.objects CF$UID - 4389 + 4758 @@ -80462,36 +86476,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 130 CF$UID - 128 + 131 CF$UID - 129 + 132 NS.objects CF$UID - 4390 + 4759 CF$UID - 57 + 60 CF$UID - 4403 + 4772 @@ -80499,13 +86513,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4391 + 4760 @@ -80513,68 +86527,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 132 + 135 CF$UID - 133 + 136 CF$UID - 134 + 137 CF$UID - 135 + 138 CF$UID - 136 + 139 CF$UID - 137 + 140 CF$UID - 138 + 141 NS.objects CF$UID - 4392 + 142 CF$UID - 4393 + 4761 CF$UID - 4398 + 4762 CF$UID - 4358 + 4727 CF$UID - 270 + 269 CF$UID - 4402 + 4766 CF$UID - 157 + 4767 @@ -80583,163 +86597,163 @@ $class CF$UID - 117 - - DocumentLocation - - CF$UID - 4383 - - DomainIdentifier - - CF$UID - 104 - - IdentifierPath - - CF$UID - 4394 - - IndexOfDocumentIdentifier - - CF$UID - 57 - - - - $class - - CF$UID - 112 + 87 + NS.keys + + + CF$UID + 146 + + + CF$UID + 145 + + + CF$UID + 147 + + + CF$UID + 148 + + NS.objects CF$UID - 4395 + 4763 CF$UID - 4396 + 48 CF$UID - 4397 + 4764 + + + CF$UID + 4765 + 324421881.86844403 + {1527, 1531} + {2218, 17} $class CF$UID - 107 + 155 - Identifier + NS.base CF$UID - 4358 + 0 + + NS.relative + + CF$UID + 1941 $class CF$UID - 107 + 120 - Identifier + DocumentLocation CF$UID - 109 + 4752 - - - $class + DomainIdentifier CF$UID 107 - Identifier + IdentifierPath CF$UID - 111 + 4768 + + IndexOfDocumentIdentifier + + CF$UID + 60 $class CF$UID - 84 + 115 - NS.keys - - - CF$UID - 147 - - - CF$UID - 146 - - - CF$UID - 148 - - - CF$UID - 149 - - NS.objects CF$UID - 4399 - - - CF$UID - 45 + 4769 CF$UID - 4400 + 4770 CF$UID - 4401 + 4771 - 324421881.86844403 - {1527, 1531} - {2218, 17} $class CF$UID - 156 + 110 - NS.base + Identifier CF$UID - 0 + 4727 - NS.relative + + + $class CF$UID - 1562 + 110 + + Identifier + + CF$UID + 112 $class CF$UID - 112 + 110 + + Identifier + + CF$UID + 114 + + + + $class + + CF$UID + 115 NS.objects CF$UID - 159 + 162 @@ -80747,20 +86761,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4405 + 4774 @@ -80768,17 +86782,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4406 + 4775 CF$UID - 4408 + 4777 @@ -80786,28 +86800,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 4407 + 4776 @@ -80816,28 +86830,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 4409 + 4778 @@ -80846,36 +86860,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 1233 + 175 CF$UID - 172 + 1501 NS.objects CF$UID - 4411 + 4780 CF$UID - 4412 + 1501 CF$UID - 1233 + 4781 @@ -80883,68 +86897,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -80952,68 +86966,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 1236 + 1504 CF$UID - 1237 + 1505 CF$UID - 1238 + 1506 CF$UID - 1239 + 1507 CF$UID - 1240 + 1508 CF$UID - 1241 + 1509 CF$UID - 1242 + 1510 NS.objects CF$UID - 4413 + 4782 CF$UID - 57 + 60 CF$UID - 4414 + 4783 CF$UID - 4415 + 4784 CF$UID - 57 + 60 CF$UID - 4416 + 4785 CF$UID - 45 + 48 @@ -81021,7 +87035,7 @@ $class CF$UID - 1244 + 1174 NSRangeCount 0 @@ -81030,7 +87044,7 @@ $class CF$UID - 1246 + 1176 NSRangeCount 0 @@ -81041,20 +87055,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4418 + 4787 @@ -81062,17 +87076,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4419 + 4788 CF$UID - 4421 + 4790 @@ -81080,28 +87094,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4420 + 4789 @@ -81110,28 +87124,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4422 + 4791 @@ -81140,20 +87154,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4424 + 4793 @@ -81161,21 +87175,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4425 + 4794 CF$UID - 4427 + 4796 CF$UID - 4429 + 4798 @@ -81183,28 +87197,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 4426 + 4795 @@ -81213,28 +87227,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 4428 + 4797 @@ -81243,28 +87257,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 4430 + 4799 @@ -81273,13 +87287,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4356 + 4725 @@ -81287,217 +87301,208 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 2486 + 42 CF$UID - 2484 + 43 CF$UID - 2481 + 44 CF$UID - 3859 + 45 CF$UID - 4433 + 4802 CF$UID - 2485 + 47 NS.objects CF$UID - 45 + 48 CF$UID - 4433 + 4802 CF$UID - 4434 + 4803 CF$UID - 31 + 33 CF$UID - 4435 + 4804 CF$UID - 4523 + 4860 - IDEWorkspaceTabController_34025F63-7F30-4045-A3CF-479E4757FF96 - {{30, 56}, {859, 967}} + IDEWorkspaceTabController_5A5562D3-2457-44ED-87EC-EE25A7A3221D + {{56, 349}, {240, 646}} $class CF$UID - 68 + 71 NS.keys CF$UID - 3430 - - - CF$UID - 3431 + 52 CF$UID - 3432 + 53 CF$UID - 3434 + 54 CF$UID - 3433 + 55 CF$UID - 3435 + 56 CF$UID - 3436 + 57 CF$UID - 3437 + 58 NS.objects CF$UID - 4436 - - - CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4437 + 4805 CF$UID - 4494 + 4838 CF$UID - 4509 + 4846 CF$UID - 4515 + 4852 - TestRewriteRuleTokenStream.m $class CF$UID - 68 + 71 NS.keys CF$UID - 3440 + 62 CF$UID - 3441 + 63 CF$UID - 3442 + 64 CF$UID - 3692 + 65 CF$UID - 3443 + 66 CF$UID - 3444 + 67 CF$UID - 3445 + 68 CF$UID - 3446 + 69 NS.objects CF$UID - 4438 + 4806 CF$UID - 4439 + 4807 CF$UID - 4454 + 4822 CF$UID - 4468 + 4826 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 4488 + 4832 CF$UID - 168 + 171 @@ -81505,7 +87510,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -81516,60 +87521,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 3449 + 73 CF$UID - 3450 + 74 CF$UID - 3451 + 75 CF$UID - 3452 + 76 CF$UID - 3453 + 77 CF$UID - 3454 + 78 NS.objects CF$UID - 4440 + 4808 CF$UID - 4446 + 4814 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 4452 + 4820 CF$UID - 4453 + 4821 @@ -81577,20 +87582,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 1690 + 80 NS.objects CF$UID - 4441 + 4809 @@ -81598,17 +87603,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4442 + 4810 CF$UID - 4444 + 4812 @@ -81616,80 +87621,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 83 CF$UID - 1694 + 84 NS.objects CF$UID - 3458 + 85 CF$UID - 4443 + 4811 - 427 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 83 CF$UID - 1694 + 84 NS.objects CF$UID - 3461 + 89 CF$UID - 4445 + 4813 - 431 + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 1690 + 80 NS.objects CF$UID - 4447 + 4815 @@ -81697,17 +87702,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4448 + 4816 CF$UID - 4450 + 4818 @@ -81715,80 +87720,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 83 CF$UID - 1694 + 84 NS.objects CF$UID - 3458 + 85 CF$UID - 4449 + 4817 - 427 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 83 CF$UID - 1694 + 84 NS.objects CF$UID - 3461 + 89 CF$UID - 4451 + 4819 - 431 + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 3470 + 100 NS.objects CF$UID - 98 + 101 @@ -81796,20 +87801,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 3472 + 103 NS.objects CF$UID - 57 + 60 @@ -81817,7 +87822,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -81827,19 +87832,19 @@ primaryEditorContextNode CF$UID - 4455 + 4823 rootLayoutTreeNode CF$UID - 4466 + 4824 $class CF$UID - 120 + 123 children @@ -81851,70 +87856,53 @@ documentArchivableRepresentation CF$UID - 4456 + 0 orientation 0 parent CF$UID - 4466 + 4824 $class CF$UID - 117 - - DocumentLocation - - CF$UID - 4465 + 123 - DomainIdentifier + children CF$UID - 3884 + 4825 - IdentifierPath + contentType + 0 + documentArchivableRepresentation CF$UID - 4457 + 0 - IndexOfDocumentIdentifier + orientation + 0 + parent CF$UID - 57 + 0 $class CF$UID - 112 + 115 NS.objects CF$UID - 4458 - - - CF$UID - 4460 - - - CF$UID - 4461 - - - CF$UID - 4462 - - - CF$UID - 4463 + 4823 @@ -81922,118 +87910,117 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 4459 - - - TestRewriteRuleTokenStream.m - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 3941 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 3934 + 71 + NS.keys + + + CF$UID + 126 + + + NS.objects + + + CF$UID + 4827 + + $class CF$UID - 107 - - Identifier - - CF$UID - 3932 + 71 + NS.keys + + + CF$UID + 128 + + + NS.objects + + + CF$UID + 4828 + + $class CF$UID - 107 - - Identifier - - CF$UID - 4464 + 87 + NS.keys + + + CF$UID + 130 + + + CF$UID + 131 + + + CF$UID + 132 + + + NS.objects + + + CF$UID + 4829 + + + CF$UID + 60 + + + CF$UID + 4831 + + - ANTLR $class CF$UID - 116 - - documentURL - - CF$UID - 1552 - - timestamp - - CF$UID - 0 + 115 + NS.objects + + + CF$UID + 4830 + + $class CF$UID - 120 - - children - - CF$UID - 4467 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 + 71 + NS.keys + + NS.objects + $class CF$UID - 112 + 115 NS.objects CF$UID - 4455 + 162 @@ -82041,20 +88028,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 3722 + 80 NS.objects CF$UID - 4469 + 4833 @@ -82062,20 +88049,17 @@ $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 3724 + 4834 - - NS.objects - CF$UID - 4470 + 4836 @@ -82083,50 +88067,96 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 3726 + 83 CF$UID - 3727 + 84 + + + NS.objects + + + CF$UID + 166 CF$UID - 3728 + 4835 - NS.objects + + 203 + + $class + + CF$UID + 87 + + NS.keys CF$UID - 4471 + 83 CF$UID - 57 + 84 + + NS.objects + CF$UID - 4486 + 169 + + + CF$UID + 4837 + 115 $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 173 + + + CF$UID + 174 + + + CF$UID + 175 + + NS.objects CF$UID - 4472 + 4839 + + + CF$UID + 4840 + + + CF$UID + 174 @@ -82134,68 +88164,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 3731 + 177 CF$UID - 3732 + 178 CF$UID - 3733 + 179 CF$UID - 3734 + 180 CF$UID - 3735 + 181 CF$UID - 3736 + 182 CF$UID - 3737 + 183 NS.objects CF$UID - 4459 + 184 CF$UID - 4473 + 48 CF$UID - 4481 + 48 CF$UID - 4459 + 48 CF$UID - 3910 + 185 CF$UID - 4484 + 186 CF$UID - 3913 + 186 @@ -82203,56 +88233,92 @@ $class CF$UID - 117 - - DocumentLocation - - CF$UID - 4465 - - DomainIdentifier - - CF$UID - 3884 - - IdentifierPath - - CF$UID - 4474 - - IndexOfDocumentIdentifier - - CF$UID - 57 - - - - $class - - CF$UID - 112 + 71 + NS.keys + + + CF$UID + 189 + + + CF$UID + 190 + + + CF$UID + 191 + + + CF$UID + 192 + + + CF$UID + 181 + + + CF$UID + 193 + + + CF$UID + 194 + + + CF$UID + 195 + + + CF$UID + 196 + + + CF$UID + 197 + + NS.objects CF$UID - 4475 + 48 CF$UID - 4476 + 4841 CF$UID - 4477 + 4842 CF$UID - 4478 + 4843 CF$UID - 4479 + 202 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 4844 + + + CF$UID + 4845 + + + CF$UID + 48 @@ -82260,161 +88326,164 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 4459 + 199 + NS.objects + $class CF$UID - 107 - - Identifier - - CF$UID - 3941 + 199 + NS.objects + $class CF$UID - 107 - - Identifier - - CF$UID - 3934 + 199 + NS.objects + $class CF$UID - 107 - - Identifier - - CF$UID - 3932 + 199 + NS.objects + $class CF$UID - 107 - - Identifier - - CF$UID - 4480 + 91 + NS.objects + - ANTLR $class CF$UID - 84 + 71 NS.keys CF$UID - 1971 + 80 + + NS.objects + CF$UID - 1972 + 4847 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 1973 + 4848 CF$UID - 1974 + 4850 - NS.objects + + + $class + + CF$UID + 87 + + NS.keys CF$UID - 45 + 83 CF$UID - 4482 + 84 + + NS.objects + CF$UID - 4483 + 208 CF$UID - 349 + 4849 - 324445437.80177498 - {2459, 2857} - - $class - - CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 4485 - - - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/test/runtime/TestRewriteRuleTokenStream/TestRewriteRuleTokenStream.m + 389 $class CF$UID - 112 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + NS.objects CF$UID - 4487 + 208 + + + CF$UID + 4851 - {{0, 0}, {859, 921}} + 211 $class CF$UID - 68 + 71 NS.keys CF$UID - 1690 + 80 NS.objects CF$UID - 4489 + 4853 @@ -82422,17 +88491,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4490 + 4854 CF$UID - 4492 + 4856 + + + CF$UID + 4858 @@ -82440,409 +88513,335 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 83 CF$UID - 1694 + 84 NS.objects CF$UID - 3504 + 56 CF$UID - 4491 + 4855 - 203 + 661 $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 83 CF$UID - 1694 + 84 NS.objects CF$UID - 3507 + 55 CF$UID - 4493 + 4857 - 115 + 921 $class CF$UID - 68 + 87 NS.keys CF$UID - 3764 + 83 CF$UID - 3510 + 84 NS.objects CF$UID - 4495 + 219 CF$UID - 3764 + 4859 + 354 $class CF$UID - 68 + 115 - NS.keys + NS.objects CF$UID - 3821 + 4802 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 3822 + 47 CF$UID - 3823 + 44 CF$UID - 3824 + 43 CF$UID - 3825 + 42 CF$UID - 3826 + 45 CF$UID - 3827 + 4862 NS.objects CF$UID - 4496 - - - CF$UID - 45 + 4863 CF$UID - 45 + 4864 CF$UID - 45 + 4862 CF$UID - 4499 + 48 CF$UID - 183 + 34 CF$UID - 4500 + 4865 + IDEWorkspaceTabController_EB09D177-511E-48E6-97D0-A5368084A1FF $class CF$UID - 112 + 115 NS.objects CF$UID - 4497 + 4862 + {{49, 309}, {600, 646}} $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 4498 - - - CF$UID - 3932 - - - CF$UID - 3934 - - - CF$UID - 3941 + 51 CF$UID - 4459 + 52 - - - ANTLR - {{0, 0}, {0, 0}} - - $class - - CF$UID - 184 - - NS.objects - CF$UID - 4501 + 53 CF$UID - 4502 + 54 CF$UID - 4503 + 55 CF$UID - 4504 + 56 CF$UID - 4505 + 57 CF$UID - 4506 + 58 + + NS.objects + CF$UID - 4507 + 4866 CF$UID - 4508 + 60 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 4498 + 48 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 4498 + 48 CF$UID - 3839 + 4867 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 4498 + 4918 CF$UID - 3837 + 4926 CF$UID - 3842 + 4932 + FuzzyLexer.h $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 4498 + 62 CF$UID - 3932 + 63 CF$UID - 3934 + 64 CF$UID - 3935 + 65 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 4498 + 66 CF$UID - 3932 + 67 CF$UID - 3934 + 68 + + + CF$UID + 69 - - - $class - - CF$UID - 88 - NS.objects CF$UID - 4498 + 4868 CF$UID - 3932 + 4869 CF$UID - 3934 + 4884 CF$UID - 3941 + 4897 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 4498 + 48 CF$UID - 3837 + 60 - - - - $class - - CF$UID - 88 - - NS.objects - CF$UID - 4498 + 4912 CF$UID - 3932 + 171 @@ -82850,119 +88849,92 @@ $class CF$UID - 68 + 71 NS.keys - - - CF$UID - 1690 - - + NS.objects - - - CF$UID - 4510 - - + $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 4511 + 73 CF$UID - 4513 + 74 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 1693 + 75 CF$UID - 1694 + 76 + + + CF$UID + 77 + + + CF$UID + 78 NS.objects CF$UID - 1695 + 4870 CF$UID - 4512 + 4876 - - - 710 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 1693 + 98 CF$UID - 1694 + 98 - - NS.objects - CF$UID - 1695 + 4882 CF$UID - 4514 + 4883 - 211 $class CF$UID - 68 + 71 NS.keys CF$UID - 1690 + 80 NS.objects CF$UID - 4516 + 4871 @@ -82970,21 +88942,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4517 - - - CF$UID - 4519 + 4872 CF$UID - 4521 + 4874 @@ -82992,103 +88960,98 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 83 CF$UID - 1694 + 84 NS.objects CF$UID - 3435 + 85 CF$UID - 4518 + 4873 - 260 + 300 $class CF$UID - 84 + 87 NS.keys CF$UID - 1693 + 83 CF$UID - 1694 + 84 NS.objects CF$UID - 3433 + 89 CF$UID - 4520 + 4875 - 982 + 299 $class CF$UID - 84 + 71 NS.keys CF$UID - 1693 - - - CF$UID - 1694 + 80 NS.objects CF$UID - 3687 - - - CF$UID - 4522 + 4877 - 340 $class CF$UID - 112 + 91 NS.objects CF$UID - 4433 + 4878 + + + CF$UID + 4880 @@ -83096,208 +89059,101 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 39 - - - CF$UID - 40 - - - CF$UID - 41 - - - CF$UID - 42 - - - CF$UID - 4525 + 83 CF$UID - 44 + 84 NS.objects CF$UID - 45 - - - CF$UID - 4525 - - - CF$UID - 4526 - - - CF$UID - 32 - - - CF$UID - 4527 + 85 CF$UID - 4583 + 4879 - IDEWorkspaceTabController_5A5562D3-2457-44ED-87EC-EE25A7A3221D - {{56, 349}, {240, 646}} + 300 $class CF$UID - 68 + 87 NS.keys CF$UID - 49 - - - CF$UID - 50 - - - CF$UID - 51 - - - CF$UID - 52 - - - CF$UID - 53 - - - CF$UID - 54 + 83 CF$UID - 55 + 84 NS.objects CF$UID - 57 - - - CF$UID - 45 - - - CF$UID - 45 - - - CF$UID - 4528 - - - CF$UID - 4561 - - - CF$UID - 4569 + 89 CF$UID - 4575 + 4881 + 299 $class CF$UID - 68 + 71 NS.keys CF$UID - 59 - - - CF$UID - 60 - - - CF$UID - 61 - - - CF$UID - 62 - - - CF$UID - 63 - - - CF$UID - 64 - - - CF$UID - 65 - - - CF$UID - 66 + 100 NS.objects CF$UID - 4529 - - - CF$UID - 4530 - - - CF$UID - 4545 - - - CF$UID - 4549 - - - CF$UID - 45 - - - CF$UID - 57 + 101 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 4555 + 103 + + NS.objects + CF$UID - 168 + 60 @@ -83305,71 +89161,100 @@ $class CF$UID - 68 + 124 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 4885 + + rootLayoutTreeNode + + CF$UID + 4895 - NS.keys - - NS.objects - $class CF$UID - 68 + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 4886 + + orientation + 0 + parent + + CF$UID + 4895 + + + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 4893 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 4887 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 - NS.keys - - - CF$UID - 70 - - - CF$UID - 71 - - - CF$UID - 72 - - - CF$UID - 73 - - - CF$UID - 74 - - - CF$UID - 75 - - NS.objects CF$UID - 4531 - - - CF$UID - 4537 - - - CF$UID - 95 + 4888 CF$UID - 95 + 4889 CF$UID - 4543 + 4891 CF$UID - 4544 + 4892 @@ -83377,38 +89262,114 @@ $class CF$UID - 68 + 110 + + Identifier + + CF$UID + 4866 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 4890 + + + fuzzy + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 253 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 114 + + + + $class + + CF$UID + 119 + + documentURL + + CF$UID + 4894 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/FuzzyLexer.h + + + $class + + CF$UID + 123 + + children + + CF$UID + 4896 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 4532 - - $class CF$UID - 88 + 115 NS.objects CF$UID - 4533 - - - CF$UID - 4535 + 4885 @@ -83416,80 +89377,78 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 126 NS.objects CF$UID - 82 - - - CF$UID - 4534 + 4898 - 298 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 128 NS.objects CF$UID - 86 - - - CF$UID - 4536 + 4899 - 301 $class CF$UID - 68 + 87 NS.keys CF$UID - 77 + 130 + + + CF$UID + 131 + + + CF$UID + 132 NS.objects CF$UID - 4538 + 4900 + + + CF$UID + 60 + + + CF$UID + 4911 @@ -83497,17 +89456,13 @@ $class CF$UID - 88 + 115 NS.objects CF$UID - 4539 - - - CF$UID - 4541 + 4901 @@ -83515,101 +89470,68 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 141 CF$UID - 81 + 135 - - NS.objects - CF$UID - 82 + 137 CF$UID - 4540 + 138 - - - 298 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 139 CF$UID - 81 + 140 + + + CF$UID + 136 NS.objects CF$UID - 86 + 4902 CF$UID - 4542 + 142 - - - 301 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 97 + 4908 - - NS.objects - CF$UID - 98 + 4866 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 100 + 269 - - NS.objects - CF$UID - 57 + 4910 + + + CF$UID + 4866 @@ -83617,205 +89539,177 @@ $class CF$UID - 121 + 120 - geniusEditorContextNode + DocumentLocation CF$UID - 0 + 4893 - primaryEditorContextNode + DomainIdentifier CF$UID - 4546 + 107 - rootLayoutTreeNode + IdentifierPath CF$UID - 4547 + 4903 - - - $class + IndexOfDocumentIdentifier CF$UID - 120 + 60 - children + + + $class CF$UID - 0 + 115 - contentType - 1 - documentArchivableRepresentation + NS.objects + + + CF$UID + 4904 + + + CF$UID + 4905 + + + CF$UID + 4906 + + + CF$UID + 4907 + + + + + $class CF$UID - 0 + 110 - orientation - 0 - parent + Identifier CF$UID - 4547 + 4866 $class CF$UID - 120 + 110 - children + Identifier CF$UID - 4548 + 4890 - contentType - 0 - documentArchivableRepresentation + + + $class CF$UID - 0 + 110 - orientation - 0 - parent + Identifier CF$UID - 0 + 253 $class CF$UID - 112 + 110 - NS.objects - - - CF$UID - 4546 - - - - - $class + Identifier CF$UID - 68 + 114 - NS.keys - - - CF$UID - 123 - - - NS.objects - - - CF$UID - 4550 - - $class CF$UID - 68 + 87 NS.keys CF$UID - 125 - - - NS.objects - - - CF$UID - 4551 + 145 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 127 + 146 CF$UID - 128 + 147 CF$UID - 129 + 148 NS.objects CF$UID - 4552 + 48 CF$UID - 57 + 4909 CF$UID - 4554 + 2638 - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 4553 + 2532 + 323993445.39168298 $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 1939 - NS.keys - - NS.objects - $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -83823,20 +89717,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4556 + 4913 @@ -83844,17 +89738,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4557 + 4914 CF$UID - 4559 + 4916 @@ -83862,28 +89756,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 4558 + 4915 @@ -83892,28 +89786,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 4560 + 4917 @@ -83922,36 +89816,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 171 + 174 CF$UID - 172 + 175 NS.objects CF$UID - 4562 + 4919 CF$UID - 4563 + 4920 CF$UID - 171 + 174 @@ -83959,68 +89853,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -84028,92 +89922,92 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 186 + 189 CF$UID - 187 + 190 CF$UID - 188 + 191 CF$UID - 189 + 192 CF$UID - 178 + 181 CF$UID - 190 + 193 CF$UID - 191 + 194 CF$UID - 192 + 195 CF$UID - 193 + 196 CF$UID - 194 + 197 NS.objects CF$UID - 45 + 48 CF$UID - 4564 + 4921 CF$UID - 4565 + 4922 CF$UID - 4566 + 4923 CF$UID - 199 + 202 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4567 + 4924 CF$UID - 4568 + 4925 CF$UID - 45 + 48 @@ -84121,7 +90015,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -84130,7 +90024,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -84139,7 +90033,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -84148,7 +90042,7 @@ $class CF$UID - 196 + 199 NS.objects @@ -84157,7 +90051,7 @@ $class CF$UID - 88 + 91 NS.objects @@ -84166,20 +90060,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4570 + 4927 @@ -84187,17 +90081,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4571 + 4928 CF$UID - 4573 + 4930 @@ -84205,80 +90099,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4572 + 4929 - 389 + 377 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4574 + 4931 - 211 + 223 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4576 + 4933 @@ -84286,21 +90180,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4577 + 4934 CF$UID - 4579 + 4936 CF$UID - 4581 + 4938 @@ -84308,88 +90202,88 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 4578 + 4935 - 661 + 260 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 4580 + 4937 - 921 + 1313 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 4582 + 4939 @@ -84398,230 +90292,208 @@ $class CF$UID - 112 - - NS.objects - - - CF$UID - 4525 - - - - - $class - - CF$UID - 68 + 71 NS.keys CF$UID - 4585 + 42 CF$UID - 41 + 43 CF$UID - 40 + 44 CF$UID - 39 + 45 CF$UID - 42 + 4941 CF$UID - 44 + 47 NS.objects CF$UID - 4586 + 48 CF$UID - 4661 + 4941 CF$UID - 4585 + 4942 CF$UID - 45 + 35 CF$UID - 33 + 4943 CF$UID - 4662 + 4996 - IDEWorkspaceTabController_EB09D177-511E-48E6-97D0-A5368084A1FF + IDEWorkspaceTabController_D7C117CF-2DCE-4CBA-B705-19535B08742D + {{161, 382}, {240, 646}} $class CF$UID - 68 + 71 NS.keys CF$UID - 48 - - - CF$UID - 49 + 52 CF$UID - 50 + 53 CF$UID - 51 + 54 CF$UID - 52 + 55 CF$UID - 53 + 56 CF$UID - 54 + 57 CF$UID - 55 + 58 NS.objects CF$UID - 4587 - - - CF$UID - 57 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4588 + 4944 CF$UID - 4639 + 4977 CF$UID - 4647 + 4982 CF$UID - 4653 + 4988 - FuzzyLexer.h $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 62 CF$UID - 60 + 63 CF$UID - 61 + 64 CF$UID - 62 + 65 CF$UID - 63 + 66 CF$UID - 64 + 67 CF$UID - 65 + 68 CF$UID - 66 + 69 NS.objects CF$UID - 4589 + 4945 CF$UID - 4590 + 4946 CF$UID - 4605 + 4961 CF$UID - 4618 + 4965 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 4633 + 4971 CF$UID - 168 + 171 @@ -84629,7 +90501,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -84640,60 +90512,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 73 CF$UID - 71 + 74 CF$UID - 72 + 75 CF$UID - 73 + 76 CF$UID - 74 + 77 CF$UID - 75 + 78 NS.objects CF$UID - 4591 + 4947 CF$UID - 4597 + 4953 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 4603 + 4959 CF$UID - 4604 + 4960 @@ -84701,20 +90573,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4592 + 4948 @@ -84722,17 +90594,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4593 + 4949 CF$UID - 4595 + 4951 @@ -84740,80 +90612,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4594 + 4950 - 300 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4596 + 4952 - 299 + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4598 + 4954 @@ -84821,17 +90693,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4599 + 4955 CF$UID - 4601 + 4957 @@ -84839,80 +90711,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 85 CF$UID - 4600 + 4956 - 300 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 89 CF$UID - 4602 + 4958 - 299 + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 100 NS.objects CF$UID - 98 + 101 @@ -84920,20 +90792,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 103 NS.objects CF$UID - 57 + 60 @@ -84941,7 +90813,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -84951,19 +90823,19 @@ primaryEditorContextNode CF$UID - 4606 + 4962 rootLayoutTreeNode CF$UID - 4616 + 4963 $class CF$UID - 120 + 123 children @@ -84975,66 +90847,53 @@ documentArchivableRepresentation CF$UID - 4607 + 0 orientation 0 parent CF$UID - 4616 + 4963 $class CF$UID - 117 - - DocumentLocation - - CF$UID - 4614 + 123 - DomainIdentifier + children CF$UID - 104 + 4964 - IdentifierPath + contentType + 0 + documentArchivableRepresentation CF$UID - 4608 + 0 - IndexOfDocumentIdentifier + orientation + 0 + parent CF$UID - 57 + 0 $class CF$UID - 112 + 115 NS.objects CF$UID - 4609 - - - CF$UID - 4610 - - - CF$UID - 4612 - - - CF$UID - 4613 + 4962 @@ -85042,67 +90901,105 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 4587 + 71 + NS.keys + + + CF$UID + 126 + + + NS.objects + + + CF$UID + 4966 + + $class CF$UID - 107 - - Identifier - - CF$UID - 4611 + 71 + NS.keys + + + CF$UID + 128 + + + NS.objects + + + CF$UID + 4967 + + - fuzzy $class CF$UID - 107 - - Identifier - - CF$UID - 248 + 87 + NS.keys + + + CF$UID + 130 + + + CF$UID + 131 + + + CF$UID + 132 + + + NS.objects + + + CF$UID + 4968 + + + CF$UID + 60 + + + CF$UID + 4970 + + $class CF$UID - 107 - - Identifier - - CF$UID - 111 + 115 + NS.objects + + + CF$UID + 4969 + + $class CF$UID - 116 - - documentURL - - CF$UID - 4615 - - timestamp - - CF$UID - 0 + 71 + NS.keys + + NS.objects + $class @@ -85110,46 +91007,50 @@ CF$UID 115 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/fuzzy/FuzzyLexer.h + NS.objects + + + CF$UID + 162 + + $class CF$UID - 120 - - children - - CF$UID - 4617 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 + 71 + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 4972 + + $class CF$UID - 112 + 91 NS.objects CF$UID - 4606 + 4973 + + + CF$UID + 4975 @@ -85157,92 +91058,96 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 123 + 83 + + + CF$UID + 84 NS.objects CF$UID - 4619 + 166 + + + CF$UID + 4974 + 203 $class CF$UID - 68 + 87 NS.keys CF$UID - 125 + 83 + + + CF$UID + 84 NS.objects CF$UID - 4620 + 169 + + + CF$UID + 4976 + 115 $class CF$UID - 84 + 71 NS.keys CF$UID - 127 + 173 CF$UID - 128 + 1501 CF$UID - 129 + 175 NS.objects CF$UID - 4621 - - - CF$UID - 57 + 4978 CF$UID - 4632 + 4979 - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 4622 + 1501 @@ -85250,68 +91155,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 138 + 177 CF$UID - 132 + 178 CF$UID - 134 + 179 CF$UID - 135 + 180 CF$UID - 136 + 181 CF$UID - 137 + 182 CF$UID - 133 + 183 NS.objects CF$UID - 157 + 184 CF$UID - 4587 + 48 CF$UID - 4623 + 48 CF$UID - 4587 + 48 CF$UID - 270 + 185 CF$UID - 4625 + 186 CF$UID - 4626 + 186 @@ -85319,115 +91224,107 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 146 + 1504 CF$UID - 147 + 1505 CF$UID - 148 + 1506 CF$UID - 149 + 1507 + + + CF$UID + 1508 + + + CF$UID + 1509 + + + CF$UID + 1510 NS.objects CF$UID - 45 + 4980 CF$UID - 4624 + 60 CF$UID - 2061 + 4981 CF$UID - 1948 + 1513 + + + CF$UID + 60 + + + CF$UID + 1514 + + + CF$UID + 48 - 323993445.39168298 $class CF$UID - 156 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1560 + 1174 + NSRangeCount + 0 $class CF$UID - 117 - - DocumentLocation - - CF$UID - 4614 - - DomainIdentifier - - CF$UID - 104 - - IdentifierPath - - CF$UID - 4627 - - IndexOfDocumentIdentifier - - CF$UID - 57 + 1176 + NSRangeCount + 0 $class CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 4628 - - - CF$UID - 4629 - - - CF$UID - 4630 + 80 + + NS.objects + CF$UID - 4631 + 4983 @@ -85435,61 +91332,120 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 4587 + 91 + NS.objects + + + CF$UID + 4984 + + + CF$UID + 4986 + + $class CF$UID - 107 - - Identifier - - CF$UID - 4611 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 208 + + + CF$UID + 4985 + + + 389 $class CF$UID - 107 - - Identifier - - CF$UID - 248 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 208 + + + CF$UID + 4987 + + + 211 $class CF$UID - 107 - - Identifier - - CF$UID - 111 + 71 + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 4989 + + $class CF$UID - 112 + 91 NS.objects CF$UID - 159 + 4990 + + + CF$UID + 4992 + + + CF$UID + 4994 @@ -85497,297 +91453,407 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 77 + 83 - - NS.objects - CF$UID - 4634 + 84 - - - $class - - CF$UID - 88 - NS.objects CF$UID - 4635 + 56 CF$UID - 4637 + 4991 + 630 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 55 CF$UID - 4636 + 4993 - 203 + 952 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 219 CF$UID - 4638 + 4995 + + + + 354 + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 4941 - 115 $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 47 CF$UID - 171 + 44 CF$UID - 172 + 43 + + + CF$UID + 42 + + + CF$UID + 45 + + + CF$UID + 4998 NS.objects CF$UID - 4640 + 4999 CF$UID - 4641 + 5000 CF$UID - 171 + 4998 + + + CF$UID + 48 + + + CF$UID + 36 + + + CF$UID + 5001 + + + + IDEWorkspaceTabController_2ACC26B0-F5C0-41D8-832E-AD4A74EA1F07 + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 4998 + {{268, 360}, {600, 668}} $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 51 CF$UID - 175 + 52 CF$UID - 176 + 53 CF$UID - 177 + 54 CF$UID - 178 + 55 CF$UID - 179 + 56 CF$UID - 180 + 57 + + + CF$UID + 58 NS.objects CF$UID - 181 + 5002 CF$UID - 45 + 60 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 5003 CF$UID - 183 + 5054 CF$UID - 183 + 5062 + + + CF$UID + 5068 + Simplifier.m $class CF$UID - 68 + 71 NS.keys CF$UID - 186 + 62 CF$UID - 187 + 63 CF$UID - 188 + 64 CF$UID - 189 + 65 CF$UID - 178 + 66 CF$UID - 190 + 67 CF$UID - 191 + 68 CF$UID - 192 + 69 + + + NS.objects + + + CF$UID + 5004 CF$UID - 193 + 5005 CF$UID - 194 + 5020 + + + CF$UID + 5032 + + + CF$UID + 48 + + + CF$UID + 60 + + + CF$UID + 5048 + + + CF$UID + 171 + + + $class + + CF$UID + 71 + + NS.keys + NS.objects + + + + $class + + CF$UID + 71 + + NS.keys CF$UID - 45 + 73 CF$UID - 4642 + 74 CF$UID - 4643 + 75 CF$UID - 4644 + 76 CF$UID - 199 + 77 CF$UID - 45 + 78 + + NS.objects + CF$UID - 45 + 5006 CF$UID - 4645 + 5012 CF$UID - 4646 + 98 CF$UID - 45 + 98 + + + CF$UID + 5018 + + + CF$UID + 5019 @@ -85795,65 +91861,119 @@ $class CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 + 71 + NS.keys + + + CF$UID + 80 + + NS.objects - + + + CF$UID + 5007 + + $class CF$UID - 196 + 91 NS.objects - + + + CF$UID + 5008 + + + CF$UID + 5010 + + $class CF$UID - 196 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + NS.objects - + + + CF$UID + 85 + + + CF$UID + 5009 + + + 298 $class CF$UID - 88 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + NS.objects - + + + CF$UID + 89 + + + CF$UID + 5011 + + + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4648 + 5013 @@ -85861,17 +91981,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4649 + 5014 CF$UID - 4651 + 5016 @@ -85879,80 +91999,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 85 CF$UID - 4650 + 5015 - 377 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 89 CF$UID - 4652 + 5017 - 223 + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 100 NS.objects CF$UID - 4654 + 101 @@ -85960,21 +92080,20 @@ $class CF$UID - 88 + 71 - NS.objects + NS.keys CF$UID - 4655 - - - CF$UID - 4657 + 103 + + NS.objects + CF$UID - 4659 + 60 @@ -85982,104 +92101,256 @@ $class CF$UID - 84 + 124 - NS.keys + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 5021 + + rootLayoutTreeNode + + CF$UID + 5030 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 5022 + + orientation + 0 + parent + + CF$UID + 5030 + + + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 5028 + + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 5023 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 + + NS.objects CF$UID - 80 + 5024 CF$UID - 81 + 5025 - - NS.objects - CF$UID - 53 + 5026 CF$UID - 4656 + 5027 - 260 $class CF$UID - 84 + 110 + + Identifier + + CF$UID + 5002 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 3155 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 253 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 114 + + + + $class + + CF$UID + 119 + + documentURL + + CF$UID + 5029 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 118 + + NS.string + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/Simplifier.m + + + $class + + CF$UID + 123 + + children + + CF$UID + 5031 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 115 - NS.keys - - - CF$UID - 80 - - - CF$UID - 81 - - NS.objects CF$UID - 52 - - - CF$UID - 4658 + 5021 - 1313 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 126 NS.objects CF$UID - 216 - - - CF$UID - 4660 + 5033 - 354 - {{49, 309}, {600, 646}} $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 128 + + NS.objects CF$UID - 4585 + 5034 @@ -86087,131 +92358,119 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 39 - - - CF$UID - 40 - - - CF$UID - 41 - - - CF$UID - 42 + 130 CF$UID - 4664 + 131 CF$UID - 44 + 132 NS.objects CF$UID - 45 - - - CF$UID - 4664 - - - CF$UID - 4665 + 5035 CF$UID - 34 + 60 CF$UID - 4666 + 5047 + + + + $class + + CF$UID + 115 + + NS.objects + CF$UID - 4719 + 5036 - IDEWorkspaceTabController_D7C117CF-2DCE-4CBA-B705-19535B08742D - {{161, 382}, {240, 646}} $class CF$UID - 68 + 71 NS.keys CF$UID - 49 + 135 CF$UID - 50 + 136 CF$UID - 51 + 137 CF$UID - 52 + 138 CF$UID - 53 + 139 CF$UID - 54 + 140 CF$UID - 55 + 141 NS.objects CF$UID - 57 + 142 CF$UID - 45 + 5002 CF$UID - 45 + 5037 CF$UID - 4667 + 5002 CF$UID - 4700 + 152 CF$UID - 4705 + 5040 CF$UID - 4711 + 5041 @@ -86219,148 +92478,178 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 59 - - - CF$UID - 60 - - - CF$UID - 61 - - - CF$UID - 62 - - - CF$UID - 63 + 146 CF$UID - 64 + 145 CF$UID - 65 + 147 CF$UID - 66 + 148 NS.objects CF$UID - 4668 - - - CF$UID - 4669 - - - CF$UID - 4684 - - - CF$UID - 4688 - - - CF$UID - 45 + 5038 CF$UID - 57 + 48 CF$UID - 4694 + 5039 CF$UID - 168 + 2524 + 323992277.437558 + {15643, 721} $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 1928 - NS.keys - - NS.objects - $class CF$UID - 68 + 120 + + DocumentLocation + + CF$UID + 5028 - NS.keys + DomainIdentifier + + CF$UID + 107 + + IdentifierPath + + CF$UID + 5042 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 + + NS.objects CF$UID - 70 - - - CF$UID - 71 - - - CF$UID - 72 + 5043 CF$UID - 73 + 5044 CF$UID - 74 + 5045 CF$UID - 75 + 5046 + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 5002 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 3155 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 253 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 114 + + + + $class + + CF$UID + 115 + NS.objects CF$UID - 4670 - - - CF$UID - 4676 - - - CF$UID - 95 - - - CF$UID - 95 - - - CF$UID - 4682 - - - CF$UID - 4683 + 162 @@ -86368,20 +92657,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4671 + 5049 @@ -86389,17 +92678,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4672 + 5050 CF$UID - 4674 + 5052 @@ -86407,98 +92696,96 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 166 CF$UID - 4673 + 5051 - 298 + 203 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 169 CF$UID - 4675 + 5053 - 301 + 115 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 173 - - NS.objects - CF$UID - 4677 + 174 + + + CF$UID + 175 - - - $class - - CF$UID - 88 - NS.objects CF$UID - 4678 + 5055 CF$UID - 4680 + 5056 + + + CF$UID + 174 @@ -86506,80 +92793,68 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 177 CF$UID - 81 + 178 - - NS.objects - CF$UID - 82 + 179 CF$UID - 4679 + 180 - - - 298 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 181 CF$UID - 81 + 182 + + + CF$UID + 183 NS.objects CF$UID - 86 + 184 CF$UID - 4681 + 48 - - - 301 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 97 + 48 - - NS.objects - CF$UID - 98 + 48 + + + CF$UID + 185 + + + CF$UID + 186 + + + CF$UID + 186 @@ -86587,20 +92862,92 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 189 + + + CF$UID + 190 + + + CF$UID + 191 + + + CF$UID + 192 + + + CF$UID + 181 + + + CF$UID + 193 + + + CF$UID + 194 + + + CF$UID + 195 + + + CF$UID + 196 + + + CF$UID + 197 NS.objects CF$UID - 57 + 48 + + + CF$UID + 5057 + + + CF$UID + 5058 + + + CF$UID + 5059 + + + CF$UID + 202 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 5060 + + + CF$UID + 5061 + + + CF$UID + 48 @@ -86608,87 +92955,65 @@ $class CF$UID - 121 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 4685 - - rootLayoutTreeNode - - CF$UID - 4686 + 199 + NS.objects + $class CF$UID - 120 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 4686 + 199 + NS.objects + $class CF$UID - 120 - - children - - CF$UID - 4687 + 199 - contentType - 0 - documentArchivableRepresentation + NS.objects + + + + $class CF$UID - 0 + 199 - orientation - 0 - parent + NS.objects + + + + $class CF$UID - 0 + 91 + NS.objects + $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 80 + + NS.objects CF$UID - 4685 + 5063 @@ -86696,20 +93021,17 @@ $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 123 + 5064 - - NS.objects - CF$UID - 4689 + 5066 @@ -86717,96 +93039,102 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 125 + 83 + + + CF$UID + 84 NS.objects CF$UID - 4690 + 208 + + + CF$UID + 5065 + 399 $class CF$UID - 84 + 87 NS.keys CF$UID - 127 - - - CF$UID - 128 + 83 CF$UID - 129 + 84 NS.objects CF$UID - 4691 - - - CF$UID - 57 + 208 CF$UID - 4693 + 5067 + 223 $class CF$UID - 112 + 71 - NS.objects + NS.keys CF$UID - 4692 + 80 - - - $class - - CF$UID - 68 - - NS.keys - NS.objects - + + + CF$UID + 5069 + + $class CF$UID - 112 + 91 NS.objects CF$UID - 159 + 5070 + + + CF$UID + 5072 + + + CF$UID + 5074 @@ -86814,135 +93142,221 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 77 + 83 + + + CF$UID + 84 NS.objects CF$UID - 4695 + 56 + + + CF$UID + 5071 + 457 $class CF$UID - 88 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + NS.objects CF$UID - 4696 + 55 CF$UID - 4698 + 5073 + 1116 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 219 CF$UID - 4697 + 5075 - 203 + 354 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 42 CF$UID - 81 + 43 + + + CF$UID + 44 + + + CF$UID + 45 + + + CF$UID + 5077 + + + CF$UID + 47 NS.objects CF$UID - 166 + 48 CF$UID - 4699 + 5077 + + + CF$UID + 5078 + + + CF$UID + 37 + + + CF$UID + 5079 + + + CF$UID + 5132 - 115 + IDEWorkspaceTabController_7BDC7074-7CDB-4F9D-BA7D-78C9C1EDE74B + {{203, 336}, {240, 646}} $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 52 CF$UID - 172 + 53 CF$UID - 1233 + 54 + + + CF$UID + 55 + + + CF$UID + 56 + + + CF$UID + 57 + + + CF$UID + 58 NS.objects CF$UID - 4701 + 60 CF$UID - 1233 + 48 CF$UID - 4702 + 48 + + + CF$UID + 5080 + + + CF$UID + 5113 + + + CF$UID + 5118 + + + CF$UID + 5124 @@ -86950,68 +93364,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 62 CF$UID - 175 + 63 CF$UID - 176 + 64 CF$UID - 177 + 65 CF$UID - 178 + 66 CF$UID - 179 + 67 CF$UID - 180 + 68 + + + CF$UID + 69 NS.objects CF$UID - 181 + 5081 CF$UID - 45 + 5082 CF$UID - 45 + 5097 CF$UID - 45 + 5101 CF$UID - 182 + 48 CF$UID - 183 + 60 CF$UID - 183 + 5107 + + + CF$UID + 171 @@ -87019,68 +93441,92 @@ $class CF$UID - 68 + 71 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 71 NS.keys CF$UID - 1236 - - - CF$UID - 1237 + 73 CF$UID - 1238 + 74 CF$UID - 1239 + 75 CF$UID - 1240 + 76 CF$UID - 1241 + 77 CF$UID - 1242 + 78 NS.objects CF$UID - 4703 + 5083 CF$UID - 57 + 5089 CF$UID - 4704 + 98 CF$UID - 1247 + 98 CF$UID - 57 + 5095 CF$UID - 1248 + 5096 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 45 + 80 + + + NS.objects + + + CF$UID + 5084 @@ -87088,38 +93534,98 @@ $class CF$UID - 1244 + 91 - NSRangeCount - 0 + NS.objects + + + CF$UID + 5085 + + + CF$UID + 5087 + + $class CF$UID - 1246 + 87 - NSRangeCount - 0 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + + NS.objects + + + CF$UID + 85 + + + CF$UID + 5086 + + + 298 $class CF$UID - 68 + 87 NS.keys CF$UID - 77 + 83 + + + CF$UID + 84 NS.objects CF$UID - 4706 + 89 + + + CF$UID + 5088 + + + + 301 + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 80 + + + NS.objects + + + CF$UID + 5090 @@ -87127,17 +93633,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4707 + 5091 CF$UID - 4709 + 5093 @@ -87145,80 +93651,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 85 CF$UID - 4708 + 5092 - 389 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 89 CF$UID - 4710 + 5094 - 211 + 301 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 100 NS.objects CF$UID - 4712 + 101 @@ -87226,21 +93732,129 @@ $class CF$UID - 88 + 71 + NS.keys + + + CF$UID + 103 + + NS.objects CF$UID - 4713 + 60 + + + + + $class + + CF$UID + 124 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 5098 + + rootLayoutTreeNode + + CF$UID + 5099 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 5099 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 5100 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 5098 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 4715 + 126 + + NS.objects + CF$UID - 4717 + 5102 @@ -87248,37 +93862,104 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 128 + + NS.objects + CF$UID - 81 + 5103 + + + + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 130 + + + CF$UID + 131 + + + CF$UID + 132 NS.objects CF$UID - 53 + 5104 CF$UID - 4714 + 60 + + + CF$UID + 5106 + + + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 5105 + + + + + $class + + CF$UID + 71 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 162 - 630 $class CF$UID - 84 + 71 NS.keys @@ -87286,282 +93967,265 @@ CF$UID 80 + + NS.objects + CF$UID - 81 + 5108 + + + $class + + CF$UID + 91 + NS.objects CF$UID - 52 + 5109 CF$UID - 4716 + 5111 - 952 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 166 CF$UID - 4718 + 5110 - 354 + 203 $class CF$UID - 112 + 87 + NS.keys + + + CF$UID + 83 + + + CF$UID + 84 + + NS.objects CF$UID - 4664 + 169 + + + CF$UID + 5112 + 115 $class CF$UID - 68 + 71 NS.keys CF$UID - 4721 - - - CF$UID - 41 - - - CF$UID - 40 - - - CF$UID - 39 + 173 CF$UID - 42 + 1501 CF$UID - 44 + 175 NS.objects CF$UID - 4722 - - - CF$UID - 4797 - - - CF$UID - 4721 - - - CF$UID - 45 + 5114 CF$UID - 35 + 5115 CF$UID - 4798 + 1501 - IDEWorkspaceTabController_2ACC26B0-F5C0-41D8-832E-AD4A74EA1F07 $class CF$UID - 68 + 71 NS.keys CF$UID - 48 - - - CF$UID - 49 + 177 CF$UID - 50 + 178 CF$UID - 51 + 179 CF$UID - 52 + 180 CF$UID - 53 + 181 CF$UID - 54 + 182 CF$UID - 55 + 183 NS.objects CF$UID - 4723 - - - CF$UID - 57 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 4724 + 48 CF$UID - 4775 + 185 CF$UID - 4783 + 186 CF$UID - 4789 + 186 - Simplifier.m $class CF$UID - 68 + 71 NS.keys CF$UID - 59 - - - CF$UID - 60 + 1504 CF$UID - 61 + 1505 CF$UID - 62 + 1506 CF$UID - 63 + 1507 CF$UID - 64 + 1508 CF$UID - 65 + 1509 CF$UID - 66 + 1510 NS.objects CF$UID - 4725 - - - CF$UID - 4726 + 5116 CF$UID - 4741 + 60 CF$UID - 4753 + 5117 CF$UID - 45 + 1513 CF$UID - 57 + 60 CF$UID - 4769 + 1514 CF$UID - 168 + 48 @@ -87569,92 +94233,137 @@ $class CF$UID - 68 + 1174 - NS.keys - - NS.objects - + NSRangeCount + 0 + + + $class + + CF$UID + 1176 + + NSRangeCount + 0 $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 80 + + NS.objects + CF$UID - 71 + 5119 + + + + $class + + CF$UID + 91 + + NS.objects + CF$UID - 72 + 5120 CF$UID - 73 + 5122 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 74 + 83 CF$UID - 75 + 84 NS.objects CF$UID - 4727 + 208 CF$UID - 4733 + 5121 + + + 389 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 95 + 83 CF$UID - 95 + 84 + + NS.objects + CF$UID - 4739 + 208 CF$UID - 4740 + 5123 + 211 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4728 + 5125 @@ -87662,17 +94371,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4729 + 5126 CF$UID - 4731 + 5128 + + + CF$UID + 5130 @@ -87680,98 +94393,103 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 82 + 56 CF$UID - 4730 + 5127 - 298 + 629 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 86 + 55 CF$UID - 4732 + 5129 - 301 + 953 $class CF$UID - 68 + 87 NS.keys CF$UID - 77 + 83 + + + CF$UID + 84 NS.objects CF$UID - 4734 + 219 + + + CF$UID + 5131 + 354 $class CF$UID - 88 + 115 NS.objects CF$UID - 4735 - - - CF$UID - 4737 + 5077 @@ -87779,80 +94497,131 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 42 CF$UID - 81 + 43 - - NS.objects - CF$UID - 82 + 44 CF$UID - 4736 + 45 - - - 298 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 5134 CF$UID - 81 + 47 NS.objects CF$UID - 86 + 48 CF$UID - 4738 + 5134 + + + CF$UID + 5135 + + + CF$UID + 38 + + + CF$UID + 5136 + + + CF$UID + 5189 - 301 + IDEWorkspaceTabController_2B2152F1-B07F-4225-B664-24F65D0A9243 + {{224, 349}, {240, 646}} $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 52 + + + CF$UID + 53 + + + CF$UID + 54 + + + CF$UID + 55 + + + CF$UID + 56 + + + CF$UID + 57 + + + CF$UID + 58 NS.objects CF$UID - 98 + 60 + + + CF$UID + 48 + + + CF$UID + 48 + + + CF$UID + 5137 + + + CF$UID + 5170 + + + CF$UID + 5175 + + + CF$UID + 5181 @@ -87860,121 +94629,76 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 62 - - NS.objects - CF$UID - 57 + 63 + + + CF$UID + 64 + + + CF$UID + 65 + + + CF$UID + 66 + + + CF$UID + 67 + + + CF$UID + 68 + + + CF$UID + 69 - - - $class - - CF$UID - 121 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 4742 - - rootLayoutTreeNode - - CF$UID - 4751 - - - - $class - - CF$UID - 120 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 4743 - - orientation - 0 - parent - - CF$UID - 4751 - - - - $class - - CF$UID - 117 - - DocumentLocation - - CF$UID - 4749 - - DomainIdentifier - - CF$UID - 104 - - IdentifierPath - - CF$UID - 4744 - - IndexOfDocumentIdentifier - - CF$UID - 57 - - - - $class - - CF$UID - 112 - NS.objects CF$UID - 4745 + 5138 CF$UID - 4746 + 5139 + + + CF$UID + 5154 + + + CF$UID + 5158 + + + CF$UID + 48 + + + CF$UID + 60 CF$UID - 4747 + 5164 CF$UID - 4748 + 171 @@ -87982,113 +94706,92 @@ $class CF$UID - 107 - - Identifier - - CF$UID - 4723 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 2603 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 248 - - - - $class - - CF$UID - 107 - - Identifier - - CF$UID - 111 - - - - $class - - CF$UID - 116 - - documentURL - - CF$UID - 4750 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 115 + 71 - NS.string - file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/polydiff/Simplifier.m + NS.keys + + NS.objects + $class CF$UID - 120 - - children - - CF$UID - 4752 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 + 71 + NS.keys + + + CF$UID + 73 + + + CF$UID + 74 + + + CF$UID + 75 + + + CF$UID + 76 + + + CF$UID + 77 + + + CF$UID + 78 + + + NS.objects + + + CF$UID + 5140 + + + CF$UID + 5146 + + + CF$UID + 98 + + + CF$UID + 98 + + + CF$UID + 5152 + + + CF$UID + 5153 + + $class CF$UID - 112 + 71 + NS.keys + + + CF$UID + 80 + + NS.objects CF$UID - 4742 + 5141 @@ -88096,20 +94799,17 @@ $class CF$UID - 68 + 91 - NS.keys + NS.objects CF$UID - 123 + 5142 - - NS.objects - CF$UID - 4754 + 5144 @@ -88117,57 +94817,80 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 125 + 83 + + + CF$UID + 84 NS.objects CF$UID - 4755 + 85 + + + CF$UID + 5143 + 298 $class CF$UID - 84 + 87 NS.keys CF$UID - 127 - - - CF$UID - 128 + 83 CF$UID - 129 + 84 NS.objects CF$UID - 4756 + 89 CF$UID - 57 + 5145 + + + + 301 + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 80 + + NS.objects + CF$UID - 4768 + 5147 @@ -88175,13 +94898,17 @@ $class CF$UID - 112 + 91 NS.objects CF$UID - 4757 + 5148 + + + CF$UID + 5150 @@ -88189,68 +94916,101 @@ $class CF$UID - 68 + 87 NS.keys CF$UID - 132 - - - CF$UID - 133 + 83 CF$UID - 134 + 84 + + NS.objects + CF$UID - 135 + 85 CF$UID - 136 + 5149 + + + 298 + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 137 + 83 CF$UID - 138 + 84 NS.objects CF$UID - 4723 - - - CF$UID - 4758 + 89 CF$UID - 4764 + 5151 + + + 301 + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 4723 + 100 + + NS.objects + CF$UID - 153 + 101 + + + + $class + + CF$UID + 71 + + NS.keys + CF$UID - 4767 + 103 + + NS.objects + CF$UID - 157 + 60 @@ -88258,178 +95018,205 @@ $class CF$UID - 117 - - DocumentLocation - - CF$UID - 4749 + 124 - DomainIdentifier + geniusEditorContextNode CF$UID - 104 + 0 - IdentifierPath + primaryEditorContextNode CF$UID - 4759 + 5155 - IndexOfDocumentIdentifier + rootLayoutTreeNode CF$UID - 57 + 5156 $class CF$UID - 112 + 123 - NS.objects - - - CF$UID - 4760 - - - CF$UID - 4761 - - - CF$UID - 4762 - - - CF$UID - 4763 - - - - - $class + children CF$UID - 107 + 0 - Identifier + contentType + 1 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent CF$UID - 4723 + 5156 $class CF$UID - 107 + 123 - Identifier + children CF$UID - 2603 + 5157 - - - $class + contentType + 0 + documentArchivableRepresentation CF$UID - 107 + 0 - Identifier + orientation + 0 + parent CF$UID - 248 + 0 $class CF$UID - 107 + 115 - Identifier + NS.objects + + + CF$UID + 5155 + + + + + $class CF$UID - 111 + 71 + NS.keys + + + CF$UID + 126 + + + NS.objects + + + CF$UID + 5159 + + $class CF$UID - 84 + 71 NS.keys CF$UID - 147 + 128 + + NS.objects + CF$UID - 146 + 5160 + + + + $class + + CF$UID + 87 + + NS.keys + CF$UID - 148 + 130 CF$UID - 149 + 131 - - NS.objects - CF$UID - 4765 + 132 + + NS.objects + CF$UID - 45 + 5161 CF$UID - 4766 + 60 CF$UID - 1940 + 5163 - 323992277.437558 - {15643, 721} $class CF$UID - 156 - - NS.base - - CF$UID - 0 + 115 - NS.relative + NS.objects + + + CF$UID + 5162 + + + + + $class CF$UID - 1550 + 71 + NS.keys + + NS.objects + $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 162 @@ -88437,20 +95224,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4770 + 5165 @@ -88458,17 +95245,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4771 + 5166 CF$UID - 4773 + 5168 @@ -88476,28 +95263,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 163 + 166 CF$UID - 4772 + 5167 @@ -88506,28 +95293,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 166 + 169 CF$UID - 4774 + 5169 @@ -88536,36 +95323,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 173 CF$UID - 171 + 1501 CF$UID - 172 + 175 NS.objects CF$UID - 4776 + 5171 CF$UID - 4777 + 5172 CF$UID - 171 + 1501 @@ -88573,68 +95360,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 177 CF$UID - 175 + 178 CF$UID - 176 + 179 CF$UID - 177 + 180 CF$UID - 178 + 181 CF$UID - 179 + 182 CF$UID - 180 + 183 NS.objects CF$UID - 181 + 184 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 185 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -88642,92 +95429,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 186 - - - CF$UID - 187 - - - CF$UID - 188 - - - CF$UID - 189 + 1504 CF$UID - 178 + 1505 CF$UID - 190 + 1506 CF$UID - 191 + 1507 CF$UID - 192 + 1508 CF$UID - 193 + 1509 CF$UID - 194 + 1510 NS.objects CF$UID - 45 - - - CF$UID - 4778 - - - CF$UID - 4779 - - - CF$UID - 4780 + 5173 CF$UID - 199 + 60 CF$UID - 45 + 5174 CF$UID - 45 + 1513 CF$UID - 4781 + 60 CF$UID - 4782 + 1514 CF$UID - 45 + 48 @@ -88735,65 +95498,38 @@ $class CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 - - NS.objects - - - - $class - - CF$UID - 196 + 1174 - NS.objects - + NSRangeCount + 0 $class CF$UID - 88 + 1176 - NS.objects - + NSRangeCount + 0 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4784 + 5176 @@ -88801,17 +95537,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4785 + 5177 CF$UID - 4787 + 5179 @@ -88819,80 +95555,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4786 + 5178 - 399 + 389 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 205 + 208 CF$UID - 4788 + 5180 - 223 + 211 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 80 NS.objects CF$UID - 4790 + 5182 @@ -88900,21 +95636,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4791 + 5183 CF$UID - 4793 + 5185 CF$UID - 4795 + 5187 @@ -88922,104 +95658,103 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 53 + 56 CF$UID - 4792 + 5184 - 457 + 629 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 52 + 55 CF$UID - 4794 + 5186 - 1116 + 953 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 83 CF$UID - 81 + 84 NS.objects CF$UID - 216 + 219 CF$UID - 4796 + 5188 354 - {{268, 360}, {600, 668}} $class CF$UID - 112 + 115 NS.objects CF$UID - 4721 + 5134 @@ -89027,208 +95762,216 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 5191 CF$UID - 40 + 474 CF$UID - 41 + 473 CF$UID - 42 + 472 CF$UID - 4800 + 475 CF$UID - 44 + 477 NS.objects CF$UID - 45 + 5192 CF$UID - 4800 + 5272 CF$UID - 4801 + 5191 CF$UID - 36 + 48 CF$UID - 4802 + 39 CF$UID - 4855 + 5273 - IDEWorkspaceTabController_7BDC7074-7CDB-4F9D-BA7D-78C9C1EDE74B - {{203, 336}, {240, 646}} + IDEWorkspaceTabController_7C9CA7DC-C1BD-4E3C-87A4-808B1D459FCA $class CF$UID - 68 + 71 NS.keys CF$UID - 49 + 480 CF$UID - 50 + 481 CF$UID - 51 + 482 CF$UID - 52 + 483 CF$UID - 53 + 484 CF$UID - 54 + 485 CF$UID - 55 + 486 + + + CF$UID + 487 NS.objects CF$UID - 57 + 5193 CF$UID - 45 + 60 CF$UID - 45 + 48 CF$UID - 4803 + 48 CF$UID - 4836 + 5194 CF$UID - 4841 + 5250 CF$UID - 4847 + 5258 + + + CF$UID + 5264 + ANTLRTreeRuleReturnScope.h $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 490 CF$UID - 60 + 491 CF$UID - 61 + 492 CF$UID - 62 + 493 CF$UID - 63 + 494 CF$UID - 64 + 495 CF$UID - 65 + 496 CF$UID - 66 + 497 NS.objects CF$UID - 4804 + 5195 CF$UID - 4805 + 5196 CF$UID - 4820 + 5211 CF$UID - 4824 + 5223 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 4830 + 5244 CF$UID - 168 + 171 @@ -89236,7 +95979,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -89247,60 +95990,60 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 500 CF$UID - 71 + 501 CF$UID - 72 + 502 CF$UID - 73 + 503 CF$UID - 74 + 504 CF$UID - 75 + 505 NS.objects CF$UID - 4806 + 5197 CF$UID - 4812 + 5203 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 4818 + 5209 CF$UID - 4819 + 5210 @@ -89308,20 +96051,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 4807 + 5198 @@ -89329,17 +96072,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4808 + 5199 CF$UID - 4810 + 5201 @@ -89347,80 +96090,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 82 + 512 CF$UID - 4809 + 5200 - 298 + 447 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 86 + 515 CF$UID - 4811 + 5202 - 301 + 451 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 4813 + 5204 @@ -89428,17 +96171,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4814 + 5205 CF$UID - 4816 + 5207 @@ -89446,80 +96189,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 82 + 512 CF$UID - 4815 + 5206 - 298 + 447 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 86 + 515 CF$UID - 4817 + 5208 - 301 + 451 $class CF$UID - 68 + 71 NS.keys CF$UID - 97 + 524 NS.objects CF$UID - 98 + 101 @@ -89527,20 +96270,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 100 + 526 NS.objects CF$UID - 57 + 60 @@ -89548,7 +96291,7 @@ $class CF$UID - 121 + 124 geniusEditorContextNode @@ -89558,19 +96301,19 @@ primaryEditorContextNode CF$UID - 4821 + 5212 rootLayoutTreeNode CF$UID - 4822 + 5221 $class CF$UID - 120 + 123 children @@ -89582,14 +96325,14 @@ documentArchivableRepresentation CF$UID - 0 + 5213 orientation 0 parent CF$UID - 4822 + 5221 @@ -89598,10 +96341,114 @@ CF$UID 120 + DocumentLocation + + CF$UID + 5220 + + DomainIdentifier + + CF$UID + 530 + + IdentifierPath + + CF$UID + 5214 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 5215 + + + CF$UID + 5217 + + + CF$UID + 5218 + + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 5216 + + + ANTLRTreeRuleReturnScope.h + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 535 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 5219 + + + ANTLR + + $class + + CF$UID + 119 + + documentURL + + CF$UID + 1945 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 123 + children CF$UID - 4823 + 5222 contentType 0 @@ -89622,13 +96469,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4821 + 5212 @@ -89636,20 +96483,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 123 + 543 NS.objects CF$UID - 4825 + 5224 @@ -89657,20 +96504,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 125 + 545 NS.objects CF$UID - 4826 + 5225 @@ -89678,36 +96525,36 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 127 + 547 CF$UID - 128 + 548 CF$UID - 129 + 549 NS.objects CF$UID - 4827 + 5226 CF$UID - 57 + 60 CF$UID - 4829 + 5242 @@ -89715,13 +96562,13 @@ $class CF$UID - 112 + 115 NS.objects CF$UID - 4828 + 5227 @@ -89729,45 +96576,258 @@ $class CF$UID - 68 + 71 NS.keys - + + + CF$UID + 552 + + + CF$UID + 553 + + + CF$UID + 554 + + + CF$UID + 555 + + + CF$UID + 556 + + + CF$UID + 557 + + + CF$UID + 558 + + NS.objects - + + + CF$UID + 5228 + + + CF$UID + 5229 + + + CF$UID + 5235 + + + CF$UID + 5216 + + + CF$UID + 5239 + + + CF$UID + 5240 + + + CF$UID + 577 + + + startNode $class CF$UID - 112 + 120 + + DocumentLocation + + CF$UID + 5220 + + DomainIdentifier + + CF$UID + 530 + + IdentifierPath + + CF$UID + 5230 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 NS.objects CF$UID - 159 + 5231 + + + CF$UID + 5232 + + + CF$UID + 5233 + + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 5216 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 535 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 5234 + + + ANTLR + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 567 + + + CF$UID + 568 + + + CF$UID + 569 + + + CF$UID + 570 + + + NS.objects + + + CF$UID + 5236 + + + CF$UID + 48 + + + CF$UID + 5237 + + + CF$UID + 5238 + + + + 324440398.24771601 + {0, 1988} + {1952, 0} + public.c-header + + $class + + CF$UID + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 5241 + + + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.h + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 5243 + {{0, 0}, {899, 859}} $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 4831 + 5245 @@ -89775,17 +96835,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4832 + 5246 CF$UID - 4834 + 5248 @@ -89793,28 +96853,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 163 + 583 CF$UID - 4833 + 5247 @@ -89823,28 +96883,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 166 + 586 CF$UID - 4835 + 5249 @@ -89853,36 +96913,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 589 CF$UID - 172 + 591 CF$UID - 1233 + 1164 NS.objects CF$UID - 4837 + 5251 CF$UID - 1233 + 1164 CF$UID - 4838 + 5254 @@ -89890,68 +96950,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 593 CF$UID - 175 + 594 CF$UID - 176 + 595 CF$UID - 177 + 596 CF$UID - 178 + 597 CF$UID - 179 + 598 CF$UID - 180 + 599 NS.objects CF$UID - 181 + 5252 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 5253 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -89959,68 +97019,78 @@ $class CF$UID - 68 + 115 + + NS.objects + + + {{0, 0}, {259, 832}} + + $class + + CF$UID + 71 NS.keys CF$UID - 1236 + 1166 CF$UID - 1237 + 1167 CF$UID - 1238 + 1168 CF$UID - 1239 + 1169 CF$UID - 1240 + 1170 CF$UID - 1241 + 1171 CF$UID - 1242 + 1172 NS.objects CF$UID - 4839 + 5255 CF$UID - 57 + 60 CF$UID - 4840 + 5256 CF$UID - 1247 + 622 CF$UID - 57 + 60 CF$UID - 1248 + 5257 CF$UID - 45 + 48 @@ -90028,7 +97098,7 @@ $class CF$UID - 1244 + 1174 NSRangeCount 0 @@ -90037,29 +97107,30 @@ $class CF$UID - 1246 + 1176 NSRangeCount 0 + ANTLRTreeRuleReturn $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 4842 + 5259 @@ -90067,17 +97138,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4843 + 5260 CF$UID - 4845 + 5262 @@ -90085,80 +97156,80 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 205 + 622 CF$UID - 4844 + 5261 - 389 + 489 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 205 + 622 CF$UID - 4846 + 5263 - 211 + 370 $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 4848 + 5265 @@ -90166,21 +97237,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4849 + 5266 CF$UID - 4851 + 5268 CF$UID - 4853 + 5270 @@ -90188,103 +97259,104 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 53 + 485 CF$UID - 4850 + 5267 - 629 + 260 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 52 + 484 CF$UID - 4852 + 5269 - 953 + 885 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 216 + 633 CF$UID - 4854 + 5271 - 354 + 340 + {{163, 90}, {899, 905}} $class CF$UID - 112 + 115 NS.objects CF$UID - 4800 + 5191 @@ -90292,208 +97364,217 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 39 + 472 CF$UID - 40 + 473 CF$UID - 41 + 474 CF$UID - 42 + 475 CF$UID - 4857 + 5275 CF$UID - 44 + 477 NS.objects CF$UID - 45 + 48 CF$UID - 4857 + 5275 CF$UID - 4858 + 5276 CF$UID - 37 + 40 CF$UID - 4859 + 5277 CF$UID - 4912 + 5359 - IDEWorkspaceTabController_2B2152F1-B07F-4225-B664-24F65D0A9243 - {{224, 349}, {240, 646}} + IDEWorkspaceTabController_A37CC082-FCE5-4465-8D92-5B82D5AFB5B0 + {{184, 262}, {1095, 766}} $class CF$UID - 68 + 71 NS.keys CF$UID - 49 + 480 CF$UID - 50 + 481 CF$UID - 51 + 482 CF$UID - 52 + 483 CF$UID - 53 + 484 CF$UID - 54 + 485 CF$UID - 55 + 486 + + + CF$UID + 487 NS.objects CF$UID - 57 + 5278 CF$UID - 45 + 60 CF$UID - 45 + 48 CF$UID - 4860 + 48 CF$UID - 4893 + 5279 CF$UID - 4898 + 5334 CF$UID - 4904 + 5345 + + + CF$UID + 5351 + ANTLRTreeAdaptor.m $class CF$UID - 68 + 71 NS.keys CF$UID - 59 + 490 CF$UID - 60 + 491 CF$UID - 61 + 492 CF$UID - 62 + 493 CF$UID - 63 + 494 CF$UID - 64 + 495 CF$UID - 65 + 496 CF$UID - 66 + 497 NS.objects CF$UID - 4861 + 5280 CF$UID - 4862 + 5281 CF$UID - 4877 + 5296 CF$UID - 4881 + 5308 CF$UID - 45 + 48 CF$UID - 57 + 60 CF$UID - 4887 + 5328 CF$UID - 168 + 171 @@ -90501,7 +97582,7 @@ $class CF$UID - 68 + 71 NS.keys @@ -90512,60 +97593,397 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 70 + 500 CF$UID - 71 + 501 CF$UID - 72 + 502 CF$UID - 73 + 503 CF$UID - 74 + 504 CF$UID - 75 + 505 NS.objects CF$UID - 4863 + 5282 CF$UID - 4869 + 5288 CF$UID - 95 + 98 CF$UID - 95 + 98 CF$UID - 4875 + 5294 CF$UID - 4876 + 5295 + + + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 507 + + + NS.objects + + + CF$UID + 5283 + + + + + $class + + CF$UID + 91 + + NS.objects + + + CF$UID + 5284 + + + CF$UID + 5286 + + + + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 510 + + + CF$UID + 511 + + + NS.objects + + + CF$UID + 512 + + + CF$UID + 5285 + + + + 544 + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 510 + + + CF$UID + 511 + + + NS.objects + + + CF$UID + 515 + + + CF$UID + 5287 + + + + 550 + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 507 + + + NS.objects + + + CF$UID + 5289 + + + + + $class + + CF$UID + 91 + + NS.objects + + + CF$UID + 5290 + + + CF$UID + 5292 + + + + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 510 + + + CF$UID + 511 + + + NS.objects + + + CF$UID + 512 + + + CF$UID + 5291 + + + + 544 + + $class + + CF$UID + 87 + + NS.keys + + + CF$UID + 510 + + + CF$UID + 511 + + + NS.objects + + + CF$UID + 515 + + + CF$UID + 5293 + + + + 550 + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 524 + + + NS.objects + + + CF$UID + 101 + + + + + $class + + CF$UID + 71 + + NS.keys + + + CF$UID + 526 + + + NS.objects + + + CF$UID + 60 + + + + + $class + + CF$UID + 124 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 5297 + + rootLayoutTreeNode + + CF$UID + 5306 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 5298 + + orientation + 0 + parent + + CF$UID + 5306 + + + + $class + + CF$UID + 120 + + DocumentLocation + + CF$UID + 5305 + + DomainIdentifier + + CF$UID + 530 + + IdentifierPath + + CF$UID + 5299 + + IndexOfDocumentIdentifier + + CF$UID + 60 + + + + $class + + CF$UID + 115 + + NS.objects + + + CF$UID + 5300 + + + CF$UID + 5302 + + + CF$UID + 5303 @@ -90573,38 +97991,94 @@ $class CF$UID - 68 + 110 + + Identifier + + CF$UID + 5301 + + + ANTLRTreeAdaptor.m + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 535 + + + + $class + + CF$UID + 110 + + Identifier + + CF$UID + 5304 + + + ANTLR + + $class + + CF$UID + 119 + + documentURL + + CF$UID + 1930 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 123 + + children + + CF$UID + 5307 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 - NS.keys - - - CF$UID - 77 - - - NS.objects - - - CF$UID - 4864 - - $class CF$UID - 88 + 115 NS.objects CF$UID - 4865 - - - CF$UID - 4867 + 5297 @@ -90612,80 +98086,78 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 543 NS.objects CF$UID - 82 - - - CF$UID - 4866 + 5309 - 298 $class CF$UID - 84 + 71 NS.keys CF$UID - 80 - - - CF$UID - 81 + 545 NS.objects CF$UID - 86 - - - CF$UID - 4868 + 5310 - 301 $class CF$UID - 68 + 87 NS.keys CF$UID - 77 + 547 + + + CF$UID + 548 + + + CF$UID + 549 NS.objects CF$UID - 4870 + 5311 + + + CF$UID + 60 + + + CF$UID + 5326 @@ -90693,17 +98165,13 @@ $class CF$UID - 88 + 115 NS.objects CF$UID - 4871 - - - CF$UID - 4873 + 5312 @@ -90711,328 +98179,257 @@ $class CF$UID - 84 + 71 NS.keys CF$UID - 80 + 552 CF$UID - 81 + 553 - - NS.objects - CF$UID - 82 + 554 CF$UID - 4872 + 555 - - - 298 - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 80 + 556 CF$UID - 81 + 557 + + + CF$UID + 558 NS.objects CF$UID - 86 + 5313 CF$UID - 4874 + 5314 - - - 301 - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 97 + 5320 - - NS.objects - CF$UID - 98 + 5301 - - - - $class - - CF$UID - 68 - - NS.keys - CF$UID - 100 + 574 - - NS.objects - CF$UID - 57 + 5324 + + + CF$UID + 577 + @implementation ANTLRTreeAdaptor $class CF$UID - 121 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 4878 + 120 - rootLayoutTreeNode + DocumentLocation CF$UID - 4879 + 5305 - - - $class + DomainIdentifier CF$UID - 120 + 530 - children + IdentifierPath CF$UID - 0 + 5315 - contentType - 1 - documentArchivableRepresentation + IndexOfDocumentIdentifier CF$UID - 0 + 60 - orientation - 0 - parent + + + $class CF$UID - 4879 + 115 + NS.objects + + + CF$UID + 5316 + + + CF$UID + 5317 + + + CF$UID + 5318 + + $class CF$UID - 120 + 110 - children + Identifier CF$UID - 4880 + 5301 - contentType - 0 - documentArchivableRepresentation + + + $class CF$UID - 0 + 110 - orientation - 0 - parent + Identifier CF$UID - 0 + 535 $class CF$UID - 112 + 110 - NS.objects - - - CF$UID - 4878 - - - - - $class + Identifier CF$UID - 68 + 5319 - NS.keys - - - CF$UID - 123 - - - NS.objects - - - CF$UID - 4882 - - + ANTLR $class CF$UID - 68 + 87 NS.keys CF$UID - 125 - - - NS.objects - - - CF$UID - 4883 + 567 - - - - $class - - CF$UID - 84 - - NS.keys - CF$UID - 127 + 568 CF$UID - 128 + 569 CF$UID - 129 + 570 NS.objects CF$UID - 4884 + 5321 CF$UID - 57 + 48 CF$UID - 4886 + 5322 - - - - $class - - CF$UID - 112 - - NS.objects - CF$UID - 4885 + 5323 + 324440596.88617098 + {2169, 1696} + {3488, 0} $class CF$UID - 68 + 155 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 5325 - NS.keys - - NS.objects - + file://localhost/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/ANTLRTreeAdaptor.m $class CF$UID - 112 + 115 NS.objects CF$UID - 159 + 5327 + {{0, 0}, {1095, 720}} $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 4888 + 5329 @@ -91040,17 +98437,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4889 + 5330 CF$UID - 4891 + 5332 @@ -91058,28 +98455,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 163 + 583 CF$UID - 4890 + 5331 @@ -91088,28 +98485,28 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 166 + 586 CF$UID - 4892 + 5333 @@ -91118,36 +98515,36 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 170 + 589 CF$UID - 172 + 590 CF$UID - 1233 + 591 NS.objects CF$UID - 4894 + 5335 CF$UID - 1233 + 5338 CF$UID - 4895 + 590 @@ -91155,68 +98552,68 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 174 + 593 CF$UID - 175 + 594 CF$UID - 176 + 595 CF$UID - 177 + 596 CF$UID - 178 + 597 CF$UID - 179 + 598 CF$UID - 180 + 599 NS.objects CF$UID - 181 + 5336 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 45 + 48 CF$UID - 182 + 5337 CF$UID - 183 + 186 CF$UID - 183 + 186 @@ -91224,68 +98621,102 @@ $class CF$UID - 68 + 115 + + NS.objects + + + {{0, 0}, {259, 832}} + + $class + + CF$UID + 71 NS.keys CF$UID - 1236 + 603 CF$UID - 1237 + 604 CF$UID - 1238 + 605 CF$UID - 1239 + 606 CF$UID - 1240 + 607 CF$UID - 1241 + 608 CF$UID - 1242 + 609 + + + CF$UID + 610 + + + CF$UID + 611 + + + CF$UID + 612 NS.objects CF$UID - 4896 + 48 CF$UID - 57 + 5339 CF$UID - 4897 + 5340 CF$UID - 1247 + 5341 CF$UID - 57 + 5342 CF$UID - 1248 + 48 CF$UID - 45 + 48 + + + CF$UID + 5343 + + + CF$UID + 5344 + + + CF$UID + 48 @@ -91293,38 +98724,66 @@ $class CF$UID - 1244 + 199 - NSRangeCount - 0 + NS.objects + $class CF$UID - 1246 + 199 - NSRangeCount - 0 + NS.objects + + + + $class + + CF$UID + 199 + + NS.objects + + + {{0, 0}, {0, 0}} + + $class + + CF$UID + 199 + + NS.objects + + + + $class + + CF$UID + 91 + + NS.objects + $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 4899 + 5346 @@ -91332,17 +98791,17 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4900 + 5347 CF$UID - 4902 + 5349 @@ -91350,58 +98809,58 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 205 + 622 CF$UID - 4901 + 5348 - 389 + 509 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 205 + 622 CF$UID - 4903 + 5350 @@ -91410,20 +98869,20 @@ $class CF$UID - 68 + 71 NS.keys CF$UID - 77 + 507 NS.objects CF$UID - 4905 + 5352 @@ -91431,21 +98890,21 @@ $class CF$UID - 88 + 91 NS.objects CF$UID - 4906 + 5353 CF$UID - 4908 + 5355 CF$UID - 4910 + 5357 @@ -91453,103 +98912,103 @@ $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 53 + 485 CF$UID - 4907 + 5354 - 629 + 260 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 52 + 484 CF$UID - 4909 + 5356 - 953 + 982 $class CF$UID - 84 + 87 NS.keys CF$UID - 80 + 510 CF$UID - 81 + 511 NS.objects CF$UID - 216 + 633 CF$UID - 4911 + 5358 - 354 + 340 $class CF$UID - 112 + 115 NS.objects CF$UID - 4857 + 5275 diff --git a/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/project.xcworkspace/xcuserdata/acondit.xcuserdatad/xcdebugger/Expressions.xcexplist b/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/project.xcworkspace/xcuserdata/acondit.xcuserdatad/xcdebugger/Expressions.xcexplist new file mode 100644 index 00000000..8dd585d4 --- /dev/null +++ b/runtime/ObjC/Framework/ANTLR/ANTLR.xcodeproj/project.xcworkspace/xcuserdata/acondit.xcuserdatad/xcdebugger/Expressions.xcexplist @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/runtime/ObjC/Framework/ANTLRBaseMapElement.h b/runtime/ObjC/Framework/ANTLRBaseMapElement.h index b9100ac2..08151650 100644 --- a/runtime/ObjC/Framework/ANTLRBaseMapElement.h +++ b/runtime/ObjC/Framework/ANTLRBaseMapElement.h @@ -36,7 +36,7 @@ NSNumber *index; } -@property (retain, getter=getIndex, setter=setIndex:) NSNumber *index; +@property (retain) NSNumber *index; + (id) newANTLRBaseMapElement; + (id) newANTLRBaseMapElementWithIndex:(NSNumber *)anIdx; @@ -45,9 +45,6 @@ - (id) copyWithZone:(NSZone *)aZone; -- (NSNumber *)getIndex; -- (void)setIndex:(NSNumber *)anIdx; - - (NSInteger)count; - (NSInteger)size; diff --git a/runtime/ObjC/Framework/ANTLRBaseMapElement.m b/runtime/ObjC/Framework/ANTLRBaseMapElement.m index cacc24d2..71977998 100644 --- a/runtime/ObjC/Framework/ANTLRBaseMapElement.m +++ b/runtime/ObjC/Framework/ANTLRBaseMapElement.m @@ -57,12 +57,21 @@ - (id) init - (id) initWithAnIndex:(NSNumber *)aNumber { if ((self = [super init]) != nil ) { - [aNumber retain]; index = aNumber; + if ( index ) [index retain]; } return (self); } +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRBaseMapElement" ); +#endif + if ( index ) [index release]; + [super dealloc]; +} + - (id) copyWithZone:(NSZone *)aZone { ANTLRBaseMapElement *copy; @@ -72,17 +81,6 @@ - (id) copyWithZone:(NSZone *)aZone return( copy ); } -- (id)getIndex -{ - return index; -} - -- (void)setIndex:(id)anIdx -{ - [anIdx retain]; - index = anIdx; -} - - (NSInteger)count { return 1; diff --git a/runtime/ObjC/Framework/ANTLRBaseRecognizer.h b/runtime/ObjC/Framework/ANTLRBaseRecognizer.h index 669bec8b..346a8570 100644 --- a/runtime/ObjC/Framework/ANTLRBaseRecognizer.h +++ b/runtime/ObjC/Framework/ANTLRBaseRecognizer.h @@ -29,6 +29,7 @@ #import #import "ANTLRIntStream.h" +#import "AMutableArray.h" // This is an abstract superclass for lexers and parsers. @@ -52,10 +53,10 @@ #import "ANTLRFailedPredicateException.h" @interface ANTLRBaseRecognizer : NSObject { - ANTLRRecognizerSharedState *state; // the state of this recognizer. Might be shared with other recognizers, e.g. in grammar import scenarios. - NSString *grammarFileName; // where did the grammar come from. filled in by codegeneration - NSString *sourceName; - NSMutableArray *tokenNames; + __strong ANTLRRecognizerSharedState *state; // the state of this recognizer. Might be shared with other recognizers, e.g. in grammar import scenarios. + __strong NSString *grammarFileName; // where did the grammar come from. filled in by codegeneration + __strong NSString *sourceName; + __strong AMutableArray *tokenNames; } + (void) initialize; @@ -64,7 +65,7 @@ + (ANTLRBaseRecognizer *) newANTLRBaseRecognizerWithRuleLen:(NSInteger)aLen; + (ANTLRBaseRecognizer *) newANTLRBaseRecognizer:(ANTLRRecognizerSharedState *)aState; -+ (NSMutableArray *)getTokenNames; ++ (AMutableArray *)getTokenNames; + (void)setTokenNames:(NSArray *)aTokNamArray; + (void)setGrammarFileName:(NSString *)aFileName; @@ -96,7 +97,7 @@ * * This is ignored for lexers. */ -- (id) getInput; +- (id) input; - (void)skip; @@ -108,8 +109,8 @@ // error reporting and recovery - (void) reportError:(ANTLRRecognitionException *)e; -- (void) displayRecognitionError:(NSMutableArray *)theTokNams Exception:(ANTLRRecognitionException *)e; -- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSMutableArray *)theTokNams; +- (void) displayRecognitionError:(AMutableArray *)theTokNams Exception:(ANTLRRecognitionException *)e; +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(AMutableArray *)theTokNams; - (NSInteger) getNumberOfSyntaxErrors; - (NSString *)getErrorHeader:(ANTLRRecognitionException *)e; - (NSString *)getTokenErrorDisplay:(id)t; @@ -147,20 +148,20 @@ - (ANTLRBitSet *)popFollow; // to be used by the debugger to do reporting. maybe hook in incremental stuff here, too. -- (NSMutableArray *) getRuleInvocationStack; -- (NSMutableArray *) getRuleInvocationStack:(ANTLRRecognitionException *)exception - Recognizer:(NSString *)recognizerClassName; +- (AMutableArray *) getRuleInvocationStack; +- (AMutableArray *) getRuleInvocationStack:(ANTLRRecognitionException *)exception + Recognizer:(NSString *)recognizerClassName; -- (NSMutableArray *) getTokenNames; +- (AMutableArray *) getTokenNames; - (NSString *)getGrammarFileName; - (NSString *)getSourceName; -- (NSMutableArray *) toStrings:(NSArray *)tokens; +- (AMutableArray *) toStrings:(NSArray *)tokens; // support for memoization - (NSInteger) getRuleMemoization:(NSInteger)ruleIndex StartIndex:(NSInteger)ruleStartIndex; - (BOOL) alreadyParsedRule:(id)anInput RuleIndex:(NSInteger)ruleIndex; - (void) memoize:(id)anInput - RuleIndex:(NSInteger)ruleIndex - StartIndex:(NSInteger)ruleStartIndex; + RuleIndex:(NSInteger)ruleIndex + StartIndex:(NSInteger)ruleStartIndex; - (NSInteger) getRuleMemoizationCacheSize; - (void)traceIn:(NSString *)ruleName Index:(NSInteger)ruleIndex Object:(id)inputSymbol; - (void)traceOut:(NSString *)ruleName Index:(NSInteger)ruleIndex Object:(id)inputSymbol; @@ -174,6 +175,6 @@ @property (retain) ANTLRRecognizerSharedState *state; @property (retain) NSString *grammarFileName; @property (retain) NSString *sourceName; -@property (retain) NSMutableArray *tokenNames; +@property (retain) AMutableArray *tokenNames; @end diff --git a/runtime/ObjC/Framework/ANTLRBaseRecognizer.m b/runtime/ObjC/Framework/ANTLRBaseRecognizer.m index fc20cdfc..573e0dc7 100644 --- a/runtime/ObjC/Framework/ANTLRBaseRecognizer.m +++ b/runtime/ObjC/Framework/ANTLRBaseRecognizer.m @@ -39,7 +39,7 @@ @implementation ANTLRBaseRecognizer -static NSMutableArray *_tokenNames; +static AMutableArray *_tokenNames; static NSString *_grammarFileName; static NSString *NEXT_TOKEN_RULE_NAME; @@ -71,20 +71,26 @@ + (ANTLRBaseRecognizer *) newANTLRBaseRecognizer:(ANTLRRecognizerSharedState *)a return [[ANTLRBaseRecognizer alloc] initWithState:aState]; } -+ (NSMutableArray *)getTokenNames ++ (AMutableArray *)getTokenNames { return _tokenNames; } -+ (void)setTokenNames:(NSMutableArray *)theTokNams ++ (void)setTokenNames:(AMutableArray *)theTokNams { + if ( _tokenNames != theTokNams ) { + if ( _tokenNames ) [_tokenNames release]; + [theTokNams retain]; + } _tokenNames = theTokNams; - [_tokenNames retain]; } + (void)setGrammarFileName:(NSString *)aFileName { - _grammarFileName = aFileName; + if ( _grammarFileName != aFileName ) { + if ( _grammarFileName ) [_grammarFileName release]; + [aFileName retain]; + } [_grammarFileName retain]; } @@ -95,7 +101,9 @@ - (id) init state = [[ANTLRRecognizerSharedState newANTLRRecognizerSharedState] retain]; } tokenNames = _tokenNames; + if ( tokenNames ) [tokenNames retain]; grammarFileName = _grammarFileName; + if ( grammarFileName ) [grammarFileName retain]; state._fsp = -1; state.errorRecovery = NO; // are we recovering? state.lastErrorIndex = -1; @@ -114,7 +122,9 @@ - (id) initWithLen:(NSInteger)aLen state = [[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:aLen] retain]; } tokenNames = _tokenNames; + if ( tokenNames ) [tokenNames retain]; grammarFileName = _grammarFileName; + if ( grammarFileName ) [grammarFileName retain]; state._fsp = -1; state.errorRecovery = NO; // are we recovering? state.lastErrorIndex = -1; @@ -135,7 +145,9 @@ - (id) initWithState:(ANTLRRecognizerSharedState *)aState } [state retain]; tokenNames = _tokenNames; + if ( tokenNames ) [tokenNames retain]; grammarFileName = _grammarFileName; + if ( grammarFileName ) [grammarFileName retain]; state._fsp = -1; state.errorRecovery = NO; // are we recovering? state.lastErrorIndex = -1; @@ -147,9 +159,14 @@ - (id) initWithState:(ANTLRRecognizerSharedState *)aState return self; } -- (void) dealloc +- (void)dealloc { - [state release]; +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRBaseRecognizer" ); +#endif + if ( grammarFileName ) [grammarFileName release]; + if ( tokenNames ) [tokenNames release]; + if ( state ) [state release]; [super dealloc]; } @@ -159,8 +176,10 @@ - (void) reset { if ( state == nil ) return; - if ( state.following != nil ) - [state.following removeAllObjects]; + if ( state.following != nil ) { + if ( [state.following count] ) + [state.following removeAllObjects]; + } state._fsp = -1; state.errorRecovery = NO; // are we recovering? state.lastErrorIndex = -1; @@ -168,8 +187,10 @@ - (void) reset state.syntaxErrors = 0; state.backtracking = 0; // the level of backtracking state.tokenStartCharIndex = -1; - if ( state.ruleMemo != nil ) - [state.ruleMemo removeAllObjects]; + if ( state.ruleMemo != nil ) { + if ( [state.ruleMemo count] ) + [state.ruleMemo removeAllObjects]; + } } - (BOOL) getFailed @@ -190,13 +211,13 @@ - (ANTLRRecognizerSharedState *) getState - (void) setState:(ANTLRRecognizerSharedState *) theState { if (state != theState) { - [state release]; - [theState retain]; + if ( state ) [state release]; state = theState; + [state retain]; } } -- (id)getInput +- (id)input { return nil; // Must be overriden in inheriting class } @@ -296,7 +317,7 @@ -(void) reportError:(ANTLRRecognitionException *) e [self displayRecognitionError:[self getTokenNames] Exception:e]; } --(void) displayRecognitionError:(NSMutableArray *)theTokNams Exception:(ANTLRRecognitionException *)e +-(void) displayRecognitionError:(AMutableArray *)theTokNams Exception:(ANTLRRecognitionException *)e { NSString *hdr = [self getErrorHeader:e]; NSString *msg = [self getErrorMessage:e TokenNames:theTokNams]; @@ -325,9 +346,10 @@ -(void) displayRecognitionError:(NSMutableArray *)theTokNams Exception:(ANTLRRec * Override this to change the message generated for one or more * exception types. */ -- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSMutableArray *)theTokNams +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(AMutableArray *)theTokNams { - NSString *msg = [e getMessage]; + // NSString *msg = [e getMessage]; + NSString *msg; if ( [e isKindOfClass:[ANTLRUnwantedTokenException class]] ) { ANTLRUnwantedTokenException *ute = (ANTLRUnwantedTokenException *)e; NSString *tokenName=@""; @@ -442,7 +464,7 @@ - (NSString *)getTokenErrorDisplay:(id)t s = @""; } else { - s = [NSString stringWithFormat:@"<%@>", [t getType]]; + s = [NSString stringWithFormat:@"<%@>", t.type]; } } s = [s stringByReplacingOccurrencesOfString:@"\n" withString:@"\\\\n"]; @@ -466,14 +488,14 @@ - (void) emitErrorMessage:(NSString *) msg */ - (void)recover:(id)anInput Exception:(ANTLRRecognitionException *)re { - if ( state.lastErrorIndex == [anInput getIndex] ) { + if ( state.lastErrorIndex == anInput.index ) { // uh oh, another error at same token index; must be a case // where LT(1) is in the recovery token set so nothing is // consumed; consume a single token so at least to prevent // an infinite loop; this is a failsafe. [anInput consume]; } - state.lastErrorIndex = [anInput getIndex]; + state.lastErrorIndex = anInput.index; ANTLRBitSet *followSet = [self computeErrorRecoverySet]; [self beginResync]; [self consumeUntilFollow:anInput Follow:followSet]; @@ -821,7 +843,7 @@ -(void) consumeUntilFollow:(id)anInput Follow:(ANTLRBitSet *)set - (void)pushFollow:(ANTLRBitSet *)fset { if ( (state._fsp +1) >= [state.following count] ) { - // NSMutableArray *f = [NSMutableArray arrayWithCapacity:[[state.following] count]*2]; + // AMutableArray *f = [AMutableArray arrayWithCapacity:[[state.following] count]*2]; // System.arraycopy(state.following, 0, f, 0, state.following.length); // state.following = f; [state.following addObject:fset]; @@ -840,7 +862,6 @@ - (ANTLRBitSet *)popFollow if ( state._fsp >= 0 && [state.following count] > 0 ) { fset = [state.following objectAtIndex:state._fsp--]; [state.following removeLastObject]; - [fset release]; return fset; } else { @@ -857,7 +878,7 @@ - (ANTLRBitSet *)popFollow * This is very useful for error messages and for context-sensitive * error recovery. */ -- (NSMutableArray *)getRuleInvocationStack +- (AMutableArray *)getRuleInvocationStack { NSString *parserClassName = [[self className] retain]; return [self getRuleInvocationStack:[ANTLRRecognitionException newException] Recognizer:parserClassName]; @@ -870,11 +891,11 @@ - (NSMutableArray *)getRuleInvocationStack * * TODO: move to a utility class or something; weird having lexer call this */ -- (NSMutableArray *)getRuleInvocationStack:(ANTLRRecognitionException *)e +- (AMutableArray *)getRuleInvocationStack:(ANTLRRecognitionException *)e Recognizer:(NSString *)recognizerClassName { // char *name; - NSMutableArray *rules = [[NSMutableArray arrayWithCapacity:20] retain]; + AMutableArray *rules = [[AMutableArray arrayWithCapacity:20] retain]; NSArray *stack = [e callStackSymbols]; int i = 0; for (i = [stack count]-1; i >= 0; i--) { @@ -951,15 +972,15 @@ - (NSString *)getSourceName /** A convenience method for use most often with template rewrites. * Convert a List to List */ -- (NSMutableArray *)toStrings:(NSMutableArray *)tokens +- (AMutableArray *)toStrings:(AMutableArray *)tokens { if ( tokens == nil ) return nil; - NSMutableArray *strings = [[NSMutableArray arrayWithCapacity:[tokens count]] retain]; + AMutableArray *strings = [AMutableArray arrayWithCapacity:[tokens count]]; id object; NSInteger i = 0; for (object in tokens) { - [strings addObject:[[object getText] retain]]; + [strings addObject:[object text]]; i++; } return strings; @@ -980,7 +1001,7 @@ - (NSInteger)getRuleMemoization:(NSInteger)ruleIndex StartIndex:(NSInteger)ruleS NSNumber *stopIndexI; ANTLRHashRule *aHashRule; if ( (aHashRule = [state.ruleMemo objectAtIndex:ruleIndex]) == nil ) { - aHashRule = [[ANTLRHashRule newANTLRHashRuleWithLen:17] retain]; + aHashRule = [ANTLRHashRule newANTLRHashRuleWithLen:17]; [state.ruleMemo insertObject:aHashRule atIndex:ruleIndex]; } stopIndexI = [aHashRule getRuleMemoStopIndex:ruleStartIndex]; @@ -1001,7 +1022,7 @@ - (NSInteger)getRuleMemoization:(NSInteger)ruleIndex StartIndex:(NSInteger)ruleS */ - (BOOL)alreadyParsedRule:(id)anInput RuleIndex:(NSInteger)ruleIndex { - NSInteger aStopIndex = [self getRuleMemoization:ruleIndex StartIndex:[anInput getIndex]]; + NSInteger aStopIndex = [self getRuleMemoization:ruleIndex StartIndex:anInput.index]; if ( aStopIndex == ANTLR_MEMO_RULE_UNKNOWN ) { // NSLog(@"rule %d not yet encountered\n", ruleIndex); return NO; @@ -1028,7 +1049,7 @@ - (void)memoize:(id)anInput NSInteger stopTokenIndex; aRuleStack = state.ruleMemo; - stopTokenIndex = (state.failed ? ANTLR_MEMO_RULE_FAILED : ([anInput getIndex]-1)); + stopTokenIndex = (state.failed ? ANTLR_MEMO_RULE_FAILED : (anInput.index-1)); if ( aRuleStack == nil ) { if (debug) NSLog(@"!!!!!!!!! memo array is nil for %@", [self getGrammarFileName]); return; @@ -1088,8 +1109,8 @@ - (BOOL) evaluateSyntacticPredicate:(SEL)synpredFragment // stream:(id input; state.backtracking++; - // input = [((ANTLRCommonToken*)state.token) getInput]; - input = [self getInput]; + // input = state.token.input; + input = self.input; int start = [input mark]; @try { [self performSelector:synpredFragment]; diff --git a/runtime/ObjC/Framework/ANTLRBaseStack.h b/runtime/ObjC/Framework/ANTLRBaseStack.h index 5a4e566d..23561789 100644 --- a/runtime/ObjC/Framework/ANTLRBaseStack.h +++ b/runtime/ObjC/Framework/ANTLRBaseStack.h @@ -56,8 +56,8 @@ // Instance Methods - (id) copyWithZone:(NSZone *)aZone; -- (NSInteger)count; -- (NSInteger)size; +- (NSUInteger)count; +- (NSUInteger)size; /* clear -- reinitialize the maplist array */ - (NSInteger)getLastHash; diff --git a/runtime/ObjC/Framework/ANTLRBaseStack.m b/runtime/ObjC/Framework/ANTLRBaseStack.m index 77eb77ac..7bd22824 100644 --- a/runtime/ObjC/Framework/ANTLRBaseStack.m +++ b/runtime/ObjC/Framework/ANTLRBaseStack.m @@ -44,30 +44,35 @@ @implementation ANTLRBaseStack +(ANTLRBaseStack *)newANTLRBaseStack { - return [[[ANTLRBaseStack alloc] init] retain]; + return [[ANTLRBaseStack alloc] init]; } +(ANTLRBaseStack *)newANTLRBaseStackWithLen:(NSInteger)cnt { - return [[[ANTLRBaseStack alloc] initWithLen:cnt] retain]; + return [[ANTLRBaseStack alloc] initWithLen:cnt]; } -(id)init { - if ((self = [super initWithLen:HASHSIZE]) != nil) { + self = [super initWithLen:HASHSIZE]; + if ( self != nil ) { } return( self ); } -(id)initWithLen:(NSInteger)cnt { - if ((self = [super initWithLen:cnt]) != nil) { + self = [super initWithLen:cnt]; + if ( self != nil ) { } return( self ); } --(void)dealloc +- (void)dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRBaseStack" ); +#endif [super dealloc]; } @@ -79,9 +84,9 @@ - (id) copyWithZone:(NSZone *)aZone return copy; } -- (NSInteger)count +- (NSUInteger)count { - NSInteger aCnt = 0; + NSUInteger aCnt = 0; for (int i = 0; i < BuffSize; i++) { if (ptrBuffer[i] != nil) { @@ -91,7 +96,7 @@ - (NSInteger)count return aCnt; } -- (NSInteger) size +- (NSUInteger) size { return BuffSize; } @@ -107,7 +112,7 @@ -(void)deleteANTLRBaseStack:(ANTLRBaseStack *)np while ( tmp ) { rtmp = tmp; tmp = [tmp getfNext]; - [rtmp dealloc]; + [rtmp release]; } } } diff --git a/runtime/ObjC/Framework/ANTLRBaseTree.h b/runtime/ObjC/Framework/ANTLRBaseTree.h old mode 100755 new mode 100644 index 3514bbef..1139cd04 --- a/runtime/ObjC/Framework/ANTLRBaseTree.h +++ b/runtime/ObjC/Framework/ANTLRBaseTree.h @@ -26,6 +26,7 @@ #import "ANTLRTree.h" #import "ANTLRCommonToken.h" +#import "AMutableArray.h" @protocol ANTLRBaseTree @@ -38,8 +39,8 @@ - (id) initWith:(id)node; - (id) getChild:(NSUInteger)i; -- (NSMutableArray *)getChildren; -- (void) setChildren:(NSMutableArray *)anArray; +- (AMutableArray *)children; +- (void) setChildren:(AMutableArray *)anArray; - (id)getFirstChildWithType:(NSInteger)type; - (NSUInteger) getChildCount; @@ -52,7 +53,7 @@ - (void) setChild:(NSInteger) i With:(id)t; - (id) deleteChild:(NSInteger) i; -- (NSMutableArray *) createChildrenList; +- (AMutableArray *) createChildrenList; - (void) replaceChildrenFrom:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id) t; // Indicates the node is a nil node but may still have children, meaning // the tree is a flat list. @@ -72,7 +73,7 @@ - (void) setChildIndex:(NSInteger)i; - (id)getAncestor:(NSInteger)ttype; -- (NSMutableArray *)getAncestors; +- (AMutableArray *)getAncestors; #pragma mark Copying - (id) copyWithZone:(NSZone *)aZone; // the children themselves are not copied here! @@ -80,11 +81,11 @@ - (id) deepCopyWithZone:(NSZone *)aZone; #pragma mark Tree Parser support -- (NSInteger) getType; -- (NSString *) getText; +- (NSInteger)type; +- (NSString *)text; // In case we don't have a token payload, what is the line for errors? -- (NSInteger) getLine; -- (NSInteger) getCharPositionInLine; +- (NSUInteger)line; +- (NSUInteger)charPositionInLine; #pragma mark Informational @@ -94,25 +95,15 @@ - (NSString *) toString; - (NSString *) toStringTree; -@property (retain) idtoken; -@property (assign) NSInteger startIndex; -@property (assign) NSInteger stopIndex; -@property (retain) id parent; -@property (assign) NSInteger childIndex; -@property (retain) NSMutableArray *children; +@property (retain) AMutableArray *children; @property (retain) NSException *anException; @end @interface ANTLRBaseTree : NSObject { - ANTLRCommonToken *token; - NSInteger startIndex; - NSInteger stopIndex; - id parent; - NSInteger childIndex; - NSMutableArray *children; - NSException *anException; + __strong AMutableArray *children; + __strong NSException *anException; } + (id) INVALID_NODE; @@ -123,8 +114,8 @@ - (id) initWith:(id)node; - (id) getChild:(NSUInteger)i; -- (NSMutableArray *)getChildren; -- (void) setChildren:(NSMutableArray *)anArray; +- (AMutableArray *)children; +- (void) setChildren:(AMutableArray *)anArray; - (id)getFirstChildWithType:(NSInteger)type; - (NSUInteger) getChildCount; @@ -138,7 +129,7 @@ - (void) setChild:(NSUInteger) i With:(id)t; - (id) deleteChild:(NSUInteger) idx; -- (NSMutableArray *) createChildrenList; +- (AMutableArray *) createChildrenList; - (void) replaceChildrenFrom:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id) t; // Indicates the node is a nil node but may still have children, meaning // the tree is a flat list. @@ -152,52 +143,48 @@ - (void) freshenParentAndChildIndexes; - (void) freshenParentAndChildIndexes:(NSInteger) offset; - (void) sanityCheckParentAndChildIndexes; -- (void) sanityCheckParentAndChildIndexes:(id) parent At:(NSInteger) i; +- (void) sanityCheckParentAndChildIndexes:(id)parent At:(NSInteger) i; - (NSInteger) getChildIndex; - (void) setChildIndex:(NSInteger)i; - (BOOL) hasAncestor:(NSInteger) ttype; - (id)getAncestor:(NSInteger)ttype; -- (NSMutableArray *)getAncestors; +- (AMutableArray *)getAncestors; - (id) copyWithZone:(NSZone *)aZone; - (id) deepCopy; // performs a deepCopyWithZone: with the default zone - (id) deepCopyWithZone:(NSZone *)aZone; // Return a token type; needed for tree parsing -- (NSInteger) getType; -- (NSString *) getText; +- (NSInteger)type; +- (NSString *)text; // In case we don't have a token payload, what is the line for errors? -- (NSInteger) getLine; -- (NSInteger) getCharPositionInLine; -- (void) setCharPositionInLine:(NSInteger)pos; +- (NSUInteger)line; +- (NSUInteger)charPositionInLine; +- (void) setCharPositionInLine:(NSUInteger)pos; - (NSString *) treeDescription; - (NSString *) description; - (NSString *) toString; - (NSString *) toStringTree; -@property (retain) ANTLRCommonToken *token; -@property (assign) NSInteger startIndex; -@property (assign) NSInteger stopIndex; -@property (retain) id parent; -@property (assign) NSInteger childIndex; - -@property (retain) NSMutableArray *children; +@property (retain) AMutableArray *children; @property (retain) NSException *anException; @end @interface ANTLRTreeNavigationNode : ANTLRBaseTree { } +- (id) init; - (id) copyWithZone:(NSZone *)aZone; @end @interface ANTLRTreeNavigationNodeDown : ANTLRTreeNavigationNode { } + (ANTLRTreeNavigationNodeDown *) getNavigationNodeDown; +- (id) init; - (NSInteger) tokenType; - (NSString *) description; @end @@ -205,6 +192,7 @@ @interface ANTLRTreeNavigationNodeUp : ANTLRTreeNavigationNode { } + (ANTLRTreeNavigationNodeUp *) getNavigationNodeUp; +- (id) init; - (NSInteger) tokenType; - (NSString *) description; @end @@ -212,6 +200,7 @@ @interface ANTLRTreeNavigationNodeEOF : ANTLRTreeNavigationNode { } + (ANTLRTreeNavigationNodeEOF *) getNavigationNodeEOF; +- (id) init; - (NSInteger) tokenType; - (NSString *) description; @end diff --git a/runtime/ObjC/Framework/ANTLRBaseTree.m b/runtime/ObjC/Framework/ANTLRBaseTree.m old mode 100755 new mode 100644 index 97c3f03d..5ba4eac1 --- a/runtime/ObjC/Framework/ANTLRBaseTree.m +++ b/runtime/ObjC/Framework/ANTLRBaseTree.m @@ -28,6 +28,7 @@ #import "ANTLRBaseTreeAdaptor.h" #import "ANTLRToken.h" // TODO: this shouldn't be here...but needed for invalidNode +#import "AMutableArray.h" #import "ANTLRCommonTree.h" #import "ANTLRRuntimeException.h" #import "ANTLRError.h" @@ -88,8 +89,9 @@ - (id) initWith:(id)node { self = [super init]; if ( self != nil ) { - children = nil; - [children addObject:node]; + // children = [[AMutableArray arrayWithCapacity:5] retain]; + // [children addObject:node]; + [self addChild:node]; return self; } return nil; @@ -97,8 +99,10 @@ - (id) initWith:(id)node - (void) dealloc { - [children release]; - children = nil; +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRBaseTree" ); +#endif + if ( children ) [children release]; [super dealloc]; } @@ -113,21 +117,25 @@ - (void) dealloc /** Get the children internal List; note that if you directly mess with * the list, do so at your own risk. */ -- (NSMutableArray *) getChildren +- (AMutableArray *) children { - return children; // [[children retain] autorelease]; + return children; } -- (void) setChildren:(NSMutableArray *)anArray +- (void) setChildren:(AMutableArray *)anArray { + if ( children != anArray ) { + if ( children ) [children release]; + if ( anArray ) [anArray retain]; + } children = anArray; } -- (id) getFirstChildWithType:(NSInteger) type +- (id) getFirstChildWithType:(NSInteger) aType { for (NSUInteger i = 0; children != nil && i < [children count]; i++) { id t = (id) [children objectAtIndex:i]; - if ( [t getType] == type ) { + if ( t.type == aType ) { return t; } } @@ -184,7 +192,7 @@ - (void) addChild:(id) t } else { // child is not nil (don't care about children) if ( children == nil ) { - children = [NSMutableArray arrayWithCapacity:5]; // create children list on demand + children = [[AMutableArray arrayWithCapacity:5] retain]; // create children list on demand } [children addObject:t]; [childTree setParent:(id)self]; @@ -194,7 +202,7 @@ - (void) addChild:(id) t } /** Add all elements of kids list as children of this node */ -- (void) addChildren:(NSMutableArray *) kids +- (void) addChildren:(AMutableArray *) kids { for (NSUInteger i = 0; i < [kids count]; i++) { id t = (id) [kids objectAtIndex:i]; @@ -211,7 +219,7 @@ - (void) setChild:(NSUInteger) i With:(id)t @throw [ANTLRIllegalArgumentException newException:@"ANTLRBaseTree Can't set single child to a list"]; } if ( children == nil ) { - children = [NSMutableArray arrayWithCapacity:5]; + children = [[AMutableArray arrayWithCapacity:5] retain]; } if ([children count] > i ) { [children replaceObjectAtIndex:i withObject:t]; @@ -253,13 +261,13 @@ - (void) replaceChildrenFrom:(NSInteger)startChildIndex To:(NSInteger)stopChildI int replacingHowMany = stopChildIndex - startChildIndex + 1; int replacingWithHowMany; id newTree = (id) t; - NSMutableArray *newChildren = nil; + AMutableArray *newChildren = nil; // normalize to a list of children to add: newChildren if ( [newTree isNil] ) { newChildren = newTree.children; } else { - newChildren = [NSMutableArray arrayWithCapacity:5]; + newChildren = [AMutableArray arrayWithCapacity:5]; [newChildren addObject:newTree]; } replacingWithHowMany = [newChildren count]; @@ -303,9 +311,9 @@ - (void) replaceChildrenFrom:(NSInteger)startChildIndex To:(NSInteger)stopChildI } /** Override in a subclass to change the impl of children list */ -- (NSMutableArray *) createChildrenList +- (AMutableArray *) createChildrenList { - return [NSMutableArray arrayWithCapacity:5]; + return [AMutableArray arrayWithCapacity:5]; } - (BOOL) isNil @@ -336,8 +344,8 @@ - (void) sanityCheckParentAndChildIndexes - (void) sanityCheckParentAndChildIndexes:(id)aParent At:(NSInteger) i { - if ( aParent != self.parent ) { - @throw [ANTLRIllegalStateException newException:[NSString stringWithFormat:@"parents don't match; expected %s found %s", aParent, self.parent]]; + if ( aParent != [self getParent] ) { + @throw [ANTLRIllegalStateException newException:[NSString stringWithFormat:@"parents don't match; expected %s found %s", aParent, [self getParent]]]; } if ( i != [self getChildIndex] ) { @throw [ANTLRIllegalStateException newException:[NSString stringWithFormat:@"child indexes don't match; expected %d found %d", i, [self getChildIndex]]]; @@ -411,7 +419,7 @@ - (BOOL) hasAncestor:(NSInteger) ttype id t = (id)self; t = (id)[t getParent]; while ( t != nil ) { - if ( [t getType]==ttype ) + if ( t.type == ttype ) return t; t = (id)[t getParent]; } @@ -421,42 +429,41 @@ - (BOOL) hasAncestor:(NSInteger) ttype /** Return a list of all ancestors of this node. The first node of * list is the root and the last is the parent of this node. */ -- (NSMutableArray *)getAncestors +- (AMutableArray *)getAncestors { if ( [self getParent] == nil ) return nil; - NSMutableArray *ancestors = [NSMutableArray arrayWithCapacity:5]; + AMutableArray *ancestors = [AMutableArray arrayWithCapacity:5]; id t = (id)self; t = (id)[t getParent]; while ( t != nil ) { [ancestors insertObject:t atIndex:0]; // insert at start t = (id)[t getParent]; } - [ancestors retain]; return ancestors; } -- (NSInteger) getType +- (NSInteger)type { return ANTLRTokenTypeInvalid; } -- (NSString *) getText +- (NSString *)text { return nil; } -- (NSInteger) getLine +- (NSUInteger)line { return 0; } -- (NSInteger) getCharPositionInLine +- (NSUInteger)charPositionInLine { return 0; } -- (void) setCharPositionInLine:(NSInteger) pos +- (void) setCharPositionInLine:(NSUInteger) pos { } @@ -479,13 +486,14 @@ - (id) deepCopyWithZone:(NSZone *)aZone { id theCopy = [self copyWithZone:aZone]; - [theCopy.children removeAllObjects]; - NSMutableArray *childrenCopy = theCopy.children; + if ( [theCopy.children count] ) + [theCopy.children removeAllObjects]; + AMutableArray *childrenCopy = theCopy.children; for (id loopItem in children) { id childCopy = [loopItem deepCopyWithZone:aZone]; [theCopy addChild:childCopy]; } - [childrenCopy release]; + if ( childrenCopy ) [childrenCopy release]; return theCopy; } @@ -530,11 +538,6 @@ - (NSString *) toString return nil; } -@synthesize token; -@synthesize startIndex; -@synthesize stopIndex; -@synthesize parent; -@synthesize childIndex; @synthesize children; @synthesize anException; @@ -543,6 +546,12 @@ - (NSString *) toString #pragma mark - @implementation ANTLRTreeNavigationNode +- (id)init +{ + self = (ANTLRTreeNavigationNode *)[super init]; + return self; +} + - (id) copyWithZone:(NSZone *)aZone { return nil; @@ -557,6 +566,12 @@ + (ANTLRTreeNavigationNodeDown *) getNavigationNodeDown return navigationNodeDown; } +- (id)init +{ + self = [super init]; + return self; +} + - (NSInteger) tokenType { return ANTLRTokenTypeDOWN; } - (NSString *) description { return @"DOWN"; } @end @@ -570,6 +585,12 @@ + (ANTLRTreeNavigationNodeUp *) getNavigationNodeUp } +- (id)init +{ + self = [super init]; + return self; +} + - (NSInteger) tokenType { return ANTLRTokenTypeUP; } - (NSString *) description { return @"UP"; } @end @@ -582,6 +603,12 @@ + (ANTLRTreeNavigationNodeEOF *) getNavigationNodeEOF return navigationNodeEOF; } +- (id)init +{ + self = [super init]; + return self; +} + - (NSInteger) tokenType { return ANTLRTokenTypeEOF; } - (NSString *) description { return @"EOF"; } diff --git a/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h b/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h index 65a3d3eb..f8ed0d2d 100644 --- a/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h +++ b/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.h @@ -119,7 +119,9 @@ - (void) setType:(id)aTree Type:(NSInteger)type; -- (NSString *)getText:(id)aTree; +- (id)getToken:(ANTLRCommonTree *)t; + +- (NSString *)getText:(ANTLRCommonTree *)aTree; - (void) setText:(id)aTree Text:(NSString *)theText; @@ -131,6 +133,19 @@ - (NSInteger) getChildCount:(id)aTree; +- (id) getParent:(id) t; + +- (void) setParent:(id)t With:(id) parent; + +/** What index is this node in the child list? Range: 0..n-1 + * If your node type doesn't handle this, it's ok but the tree rewrites + * in tree parsers need this functionality. + */ +- (NSInteger) getChildIndex:(id)t; +- (void) setChildIndex:(id)t With:(NSInteger)index; + +- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; + - (NSInteger) getUniqueID:(id)node; #ifdef DONTUSENOMO diff --git a/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m b/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m index 6f208f48..58b181d6 100644 --- a/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m +++ b/runtime/ObjC/Framework/ANTLRBaseTreeAdaptor.m @@ -93,39 +93,39 @@ - (id) errorNode:(id)anInput Exception:e]; } -- (BOOL) isNil:(id) tree +- (BOOL) isNil:(id) tree { - return [(id)tree isNil]; + return [(id)tree isNil]; } -- (id)dupTree:(id)tree +- (id)dupTree:(id)tree { - return [self dupTree:(id)tree Parent:nil]; + return [self dupTree:(id)tree Parent:nil]; } /** This is generic in the sense that it will work with any kind of * tree (not just Tree interface). It invokes the adaptor routines * not the tree node routines to do the construction. */ -- (id)dupTree:(id)t Parent:(id)parent +- (id)dupTree:(id)t Parent:(id)parent { if ( t==nil ) { return nil; } - idnewTree = [self dupNode:t]; + id newTree = [self dupNode:t]; // ensure new subtree root has parent/child index set [self setChildIndex:newTree With:[self getChildIndex:t]]; // same index in new tree [self setParent:newTree With:parent]; NSInteger n = [self getChildCount:t]; for (NSInteger i = 0; i < n; i++) { - id child = [self getChild:t At:i]; - id newSubTree = [self dupTree:child Parent:t]; + id child = [self getChild:t At:i]; + id newSubTree = [self dupTree:child Parent:t]; [self addChild:newSubTree toTree:newTree]; } return newTree; } -- (id)dupNode:(id)aNode +- (id)dupNode:(id)aNode { return aNode; // override for better results :>) } @@ -136,10 +136,10 @@ - (BOOL) isNil:(id) tree * make sure that this is consistent with have the user will build * ASTs. */ -- (void) addChild:(id)child toTree:(id)t +- (void) addChild:(id)child toTree:(id)t { if ( t != nil && child != nil ) { - [(id)t addChild:[(id)child retain]]; + [(id)t addChild:child]; } } @@ -169,18 +169,18 @@ - (void) addChild:(id)child toTree:(id)t * constructing these nodes so we should have this control for * efficiency. */ -- (id)becomeRoot:(id)newRoot old:(id)oldRoot +- (id)becomeRoot:(id)newRoot old:(id)oldRoot { if ( oldRoot == nil ) { return newRoot; } //System.out.println("becomeroot new "+newRoot.toString()+" old "+oldRoot); - id newRootTree = (id)newRoot; - id oldRootTree = (id)oldRoot; + id newRootTree = (id)newRoot; + id oldRootTree = (id)oldRoot; // handle ^(nil real-node) if ( [newRootTree isNil] ) { NSInteger nc = [newRootTree getChildCount]; - if ( nc == 1 ) newRootTree = [(id)newRootTree getChild:0]; + if ( nc == 1 ) newRootTree = [(id)newRootTree getChild:0]; else if ( nc > 1 ) { // TODO: make tree run time exceptions hierarchy @throw [ANTLRRuntimeException newException:NSStringFromClass([self class]) reason:@"more than one node as root (TODO: make exception hierarchy)"]; @@ -194,16 +194,16 @@ - (void) addChild:(id)child toTree:(id)t } /** Transform ^(nil x) to x and nil to null */ -- (id)rulePostProcessing:(id)root +- (id)rulePostProcessing:(id)root { //System.out.println("rulePostProcessing: "+((Tree)root).toStringTree()); - id r = (id)root; + id r = (id)root; if ( r != nil && [r isNil] ) { if ( [r getChildCount] == 0 ) { r = nil; } else if ( [r getChildCount] == 1 ) { - r = (id)[r getChild:0]; + r = (id)[r getChild:0]; // whoever invokes rule will set parent and child index [r setParent:nil]; [r setChildIndex:-1]; @@ -212,84 +212,128 @@ - (void) addChild:(id)child toTree:(id)t return r; } -- (id)becomeRootfromToken:(id)newRoot old:(id)oldRoot +- (id)becomeRootfromToken:(id)newRoot old:(id)oldRoot { - return [self becomeRoot:(id)[self create:newRoot] old:oldRoot]; + return [self becomeRoot:(id)[self create:newRoot] old:oldRoot]; } -- (id) create:(id)aToken +- (id) create:(id)aToken { return [ANTLRCommonTree newTreeWithToken:aToken]; } -- (id)createTree:(NSInteger)tokenType FromToken:(id)fromToken +- (id)createTree:(NSInteger)tokenType FromToken:(id)fromToken { fromToken = [self createToken:fromToken]; //((ClassicToken)fromToken).setType(tokenType); [fromToken setType:tokenType]; - id t = [self create:fromToken]; + id t = [self create:fromToken]; return t; } -- (id)createTree:(NSInteger)tokenType FromToken:(id)fromToken Text:(NSString *)text +- (id)createTree:(NSInteger)tokenType FromToken:(id)fromToken Text:(NSString *)text { if (fromToken == nil) return [self createTree:tokenType Text:text]; fromToken = [self createToken:fromToken]; [fromToken setType:tokenType]; [fromToken setText:text]; - idt = [self create:fromToken]; + id t = [self create:fromToken]; return t; } -- (id)createTree:(NSInteger)tokenType Text:(NSString *)text +- (id)createTree:(NSInteger)tokenType Text:(NSString *)text { id fromToken = [self createToken:tokenType Text:text]; - id t = (id)[self create:fromToken]; + id t = (id)[self create:fromToken]; return t; } -- (NSInteger) getType:(id) t +- (NSInteger) getType:(ANTLRCommonTree *) t { - return [(id)t getType]; + return [t type]; } -- (void) setType:(id)t Type:(NSInteger)type +- (void) setType:(id)t Type:(NSInteger)type { @throw [ANTLRNoSuchElementException newException:@"don't know enough about Tree node"]; } -- (NSString *)getText:(id)t +/** What is the Token associated with this node? If + * you are not using ANTLRCommonTree, then you must + * override this in your own adaptor. + */ +- (id) getToken:(ANTLRCommonTree *) t +{ + if ( [t isKindOfClass:[ANTLRCommonTree class]] ) { + return [t getToken]; + } + return nil; // no idea what to do +} + +- (NSString *)getText:(ANTLRCommonTree *)t { - return [(id)t getText]; + return [t text]; } -- (void) setText:(id)t Text:(NSString *)text +- (void) setText:(id)t Text:(NSString *)text { @throw [ANTLRNoSuchElementException newException:@"don't know enough about Tree node"]; } -- (id) getChild:(id)t At:(NSInteger)index +- (id) getChild:(id)t At:(NSInteger)index { - return [(id)t getChild:index ]; + return [(id)t getChild:index ]; } -- (void) setChild:(id)t At:(NSInteger)index Child:(id)child +- (void) setChild:(id)t At:(NSInteger)index Child:(id)child { - [(id)t setChild:index With:(id)child]; + [(id)t setChild:index With:(id)child]; } -- (id) deleteChild:(id)t Index:(NSInteger)index +- (id) deleteChild:(id)t Index:(NSInteger)index { - return [(id)t deleteChild:index]; + return [(id)t deleteChild:index]; } -- (NSInteger) getChildCount:(id)t +- (NSInteger) getChildCount:(id)t { - return [(id)t getChildCount]; + return [(id)t getChildCount]; } -- (NSInteger) getUniqueID:(id)node +- (id) getParent:(id) t +{ + if ( t == nil ) + return nil; + return (id)[t getParent]; +} + +- (void) setParent:(id)t With:(id) parent +{ + if ( t != nil ) + [(id) t setParent:(id)parent]; +} + +/** What index is this node in the child list? Range: 0..n-1 + * If your node type doesn't handle this, it's ok but the tree rewrites + * in tree parsers need this functionality. + */ +- (NSInteger) getChildIndex:(id)t +{ + return ((ANTLRCommonTree *)t).childIndex; +} + +- (void) setChildIndex:(id)t With:(NSInteger)index +{ + ((ANTLRCommonTree *)t).childIndex = index; +} + +- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t +{ + return; +} + +- (NSInteger) getUniqueID:(id)node { if ( treeToUniqueIDMap == nil ) { treeToUniqueIDMap = [ANTLRUniqueIDMap newANTLRUniqueIDMap]; @@ -344,11 +388,21 @@ - (NSInteger) getUniqueID:(id)node * seems like this will yield start=i and stop=i-1 in a nil node. * Might be useful info so I'll not force to be i..i. */ -- (void) setTokenBoundaries:(id)aTree From:(id)startToken To:(id)stopToken +- (void) setTokenBoundaries:(id)aTree From:(id)startToken To:(id)stopToken { return; } +- (NSInteger) getTokenStartIndex:(id)aTree +{ + return -1; +} + +- (NSInteger) getTokenStopIndex:(id)aTree +{ + return -1; +} + #ifdef DONTUSENOMO - (NSInteger)getUniqueID { diff --git a/runtime/ObjC/Framework/ANTLRBitSet.h b/runtime/ObjC/Framework/ANTLRBitSet.h index 3a4a51f4..8fd75b18 100644 --- a/runtime/ObjC/Framework/ANTLRBitSet.h +++ b/runtime/ObjC/Framework/ANTLRBitSet.h @@ -28,6 +28,7 @@ #import #import #import "ANTLRToken.h" +#import "AMutableArray.h" #define BITS (sizeof(NSUInteger) * 8) #define LOG_BITS ((sizeof(NSUInteger)==8)?6:5) @@ -37,7 +38,7 @@ // This is fast, so there is no need to reinvent the wheel just yet. @interface ANTLRBitSet : NSObject < NSMutableCopying > { - CFMutableBitVectorRef bitVector; + __strong CFMutableBitVectorRef bitVector; } #pragma mark Class Methods @@ -48,7 +49,7 @@ * @param nbits The size of the ANTLRBitSet in bits */ + (ANTLRBitSet *) newANTLRBitSetWithNBits:(NSUInteger)nbits; -+ (ANTLRBitSet *) newANTLRBitSetWithArray:(NSMutableArray *)types; ++ (ANTLRBitSet *) newANTLRBitSetWithArray:(AMutableArray *)types; + (ANTLRBitSet *) newANTLRBitSetWithBits:(const unsigned long long *)theBits Count:(NSUInteger)longCount; + (ANTLRBitSet *) of:(NSUInteger)el; diff --git a/runtime/ObjC/Framework/ANTLRBitSet.m b/runtime/ObjC/Framework/ANTLRBitSet.m index 9f1b8f49..3f77e368 100644 --- a/runtime/ObjC/Framework/ANTLRBitSet.m +++ b/runtime/ObjC/Framework/ANTLRBitSet.m @@ -47,7 +47,7 @@ + (ANTLRBitSet *) newANTLRBitSetWithNBits:(NSUInteger)nbits return [[ANTLRBitSet alloc] initWithNBits:nbits]; } -+ (ANTLRBitSet *) newANTLRBitSetWithArray:(NSMutableArray *)types ++ (ANTLRBitSet *) newANTLRBitSetWithArray:(AMutableArray *)types { return [[ANTLRBitSet alloc] initWithArrayOfBits:types]; } @@ -178,8 +178,11 @@ - (ANTLRBitSet *) initWithArrayOfBits:(NSArray *)theArray return self; } -- (void) dealloc +- (void)dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRBitSet" ); +#endif CFRelease(bitVector); [super dealloc]; } diff --git a/runtime/ObjC/Framework/ANTLRBufferedTokenStream.h b/runtime/ObjC/Framework/ANTLRBufferedTokenStream.h index 3ef668cd..28d14188 100644 --- a/runtime/ObjC/Framework/ANTLRBufferedTokenStream.h +++ b/runtime/ObjC/Framework/ANTLRBufferedTokenStream.h @@ -28,43 +28,46 @@ #import "ANTLRTokenStream.h" #import "ANTLRTokenSource.h" #import "ANTLRBitSet.h" +#import "ANTLRCommonToken.h" +#import "AMutableArray.h" @interface ANTLRBufferedTokenStream : NSObject { -id tokenSource; +__strong id tokenSource; /** Record every single token pulled from the source so we can reproduce * chunks of it later. The buffer in LookaheadStream overlaps sometimes * as its moving window moves through the input. This list captures * everything so we can access complete input text. */ -NSMutableArray *tokens; +__strong AMutableArray *tokens; /** Track the last mark() call result value for use in rewind(). */ NSInteger lastMarker; /** The index into the tokens list of the current token (next token - * to consume). tokens[p] should be LT(1). p=-1 indicates need + * to consume). tokens[index] should be LT(1). index=-1 indicates need * to initialize with first token. The ctor doesn't get a token. - * First call to LT(1) or whatever gets the first token and sets p=0; + * First call to LT(1) or whatever gets the first token and sets index=0; */ -NSInteger p; +NSInteger index; NSInteger range; // how deep have we gone? } @property (retain, getter=getTokenSource,setter=setTokenSource:) id tokenSource; -@property (retain, getter=getTokens,setter=setTokens:) NSMutableArray *tokens; +@property (retain, getter=getTokens,setter=setTokens:) AMutableArray *tokens; @property (assign, getter=getLastMarker,setter=setLastMarker:) NSInteger lastMarker; -@property (assign, getter=getIndex,setter=setIndex:) NSInteger p; +@property (assign) NSInteger index; @property (assign, getter=getRange,setter=setRange:) NSInteger range; + (ANTLRBufferedTokenStream *) newANTLRBufferedTokenStream; + (ANTLRBufferedTokenStream *) newANTLRBufferedTokenStreamWith:(id)aSource; - (id) initWithTokenSource:(id)aSource; +- (void)dealloc; - (id) copyWithZone:(NSZone *)aZone; -- (NSInteger) getIndex; -- (void) setIndex:(NSInteger)index; +- (NSUInteger)charPositionInLine; +- (NSUInteger)line; - (NSInteger) getRange; - (void) setRange:(NSInteger)anInt; - (NSInteger) mark; @@ -72,25 +75,25 @@ NSInteger range; // how deep have we gone? - (void) rewind:(NSInteger) marker; - (void) rewind; - (void) reset; -- (void) seek:(NSInteger) index; +- (void) seek:(NSInteger) anIndex; - (NSInteger) size; - (void) consume; - (void) sync:(NSInteger) i; - (void) fetch:(NSInteger) n; - (id) getToken:(NSInteger) i; -- (NSMutableArray *)getFrom:(NSInteger)startIndex To:(NSInteger) stopIndex; +- (AMutableArray *)getFrom:(NSInteger)startIndex To:(NSInteger) stopIndex; - (NSInteger) LA:(NSInteger)i; - (id) LB:(NSInteger) k; - (id) LT:(NSInteger) k; - (void) setup; - (id) getTokenSource; - (void) setTokenSource:(id) aTokenSource; -- (NSMutableArray *)getTokens; +- (AMutableArray *)getTokens; - (NSString *) getSourceName; -- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex; -- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex With:(ANTLRBitSet *)types; -- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithList:(NSMutableArray *)types; -- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithType:(NSInteger)ttype; +- (AMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex; +- (AMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex With:(ANTLRBitSet *)types; +- (AMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithList:(AMutableArray *)types; +- (AMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithType:(NSInteger)ttype; - (NSString *) toString; - (NSString *) toStringFromStart:(NSInteger)startIndex ToEnd:(NSInteger)stopIndex; - (NSString *) toStringFromToken:(id)startIndex ToToken:(id)stopIndex; diff --git a/runtime/ObjC/Framework/ANTLRBufferedTokenStream.m b/runtime/ObjC/Framework/ANTLRBufferedTokenStream.m index 3558c0ff..94802b5b 100644 --- a/runtime/ObjC/Framework/ANTLRBufferedTokenStream.m +++ b/runtime/ObjC/Framework/ANTLRBufferedTokenStream.m @@ -36,7 +36,7 @@ @implementation ANTLRBufferedTokenStream @synthesize tokenSource; @synthesize tokens; @synthesize lastMarker; -@synthesize p; +@synthesize index; @synthesize range; + (ANTLRBufferedTokenStream *) newANTLRBufferedTokenStream @@ -54,8 +54,8 @@ - (ANTLRBufferedTokenStream *) init if ((self = [super init]) != nil) { tokenSource = nil; - tokens = [[NSMutableArray arrayWithCapacity:1000] retain]; - p = -1; + tokens = [[AMutableArray arrayWithCapacity:1000] retain]; + index = -1; range = -1; } return self; @@ -65,9 +65,9 @@ -(id) initWithTokenSource:(id)aSource { if ((self = [super init]) != nil) { - tokenSource = aSource; - tokens = [[NSMutableArray arrayWithCapacity:1000] retain]; - p = -1; + tokenSource = [aSource retain]; + tokens = [[AMutableArray arrayWithCapacity:1000] retain]; + index = -1; range = -1; } return self; @@ -82,24 +82,34 @@ - (id) copyWithZone:(NSZone *)aZone if ( self.tokens ) copy.tokens = [tokens copyWithZone:aZone]; copy.lastMarker = self.lastMarker; - copy.p = self.p; + copy.index = self.index; copy.range = self.range; return copy; } -- (id) getTokenSource +- (void)dealloc { - return tokenSource; +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRBufferedTokenStream" ); +#endif + if ( tokens ) [tokens release]; + if ( tokenSource ) [tokenSource release]; + [super dealloc]; +} + +- (NSUInteger)line +{ + return ((ANTLRCommonToken *)[tokens objectAtIndex:index]).line; } -- (NSInteger) getIndex +- (NSUInteger)charPositionInLine { - return p; + return ((ANTLRCommonToken *)[tokens objectAtIndex:index]).charPositionInLine; } -- (void) setIndex:(NSInteger) anIndex +- (id) getTokenSource { - p = anIndex; + return tokenSource; } - (NSInteger) getRange @@ -114,11 +124,11 @@ - (void) setRange:(NSInteger)anInt - (NSInteger) mark { - if ( p == -1 ) { + if ( index == -1 ) { [self setup]; // [self fill]; } - lastMarker = [self getIndex]; + lastMarker = self.index; return lastMarker; } @@ -139,13 +149,13 @@ - (void) rewind - (void) reset { - p = 0; + index = 0; lastMarker = 0; } - (void) seek:(NSInteger) anIndex { - p = anIndex; + index = anIndex; } - (NSInteger) size @@ -162,12 +172,12 @@ - (NSInteger) size */ - (void) consume { - if ( p == -1 ) { + if ( index == -1 ) { [self setup]; // [self fill]; } - p++; - [self sync:p]; + index++; + [self sync:index]; } /** Make sure index i in tokens has a token. */ @@ -186,10 +196,9 @@ - (void) fetch:(NSInteger)n for (NSInteger i=1; i <= n; i++) { id t = [tokenSource nextToken]; [t setTokenIndex:[tokens count]]; - if (debug > 1) NSLog(@"adding %@ at index %d\n", [t getText], [tokens count]); + if (debug > 1) NSLog(@"adding %@ at index %d\n", [t text], [tokens count]); [tokens addObject:t]; - [t retain]; - if ( [t getType] == ANTLRTokenTypeEOF ) + if ( t.type == ANTLRTokenTypeEOF ) break; } } @@ -203,20 +212,20 @@ - (void) fetch:(NSInteger)n } /** Get all tokens from start..stop inclusively */ -- (NSMutableArray *)getFrom:(NSInteger)startIndex To:(NSInteger)stopIndex +- (AMutableArray *)getFrom:(NSInteger)startIndex To:(NSInteger)stopIndex { if ( startIndex < 0 || stopIndex < 0 ) return nil; - if ( p == -1 ) { + if ( index == -1 ) { [self setup]; // [self fill]; } - NSMutableArray *subset = [NSMutableArray arrayWithCapacity:5]; + AMutableArray *subset = [AMutableArray arrayWithCapacity:5]; if ( stopIndex >= [tokens count] ) stopIndex = [tokens count]-1; for (NSInteger i = startIndex; i <= stopIndex; i++) { idt = [tokens objectAtIndex:i]; - if ( [t getType] == ANTLRTokenTypeEOF ) + if ( t.type == ANTLRTokenTypeEOF ) break; [subset addObject:t]; } @@ -225,19 +234,19 @@ - (NSMutableArray *)getFrom:(NSInteger)startIndex To:(NSInteger)stopIndex - (NSInteger) LA:(NSInteger)i { - return [[self LT:i] getType]; + return [[self LT:i] type]; } - (id) LB:(NSInteger)k { - if ( (p - k) < 0 ) + if ( (index - k) < 0 ) return nil; - return [tokens objectAtIndex:(p-k)]; + return [tokens objectAtIndex:(index-k)]; } - (id) LT:(NSInteger)k { - if ( p == -1 ) { + if ( index == -1 ) { [self setup]; // [self fill]; } @@ -246,7 +255,7 @@ - (NSInteger) LA:(NSInteger)i if ( k < 0 ) return [self LB:-k]; - NSInteger i = p + k - 1; + NSInteger i = index + k - 1; [self sync:i]; if ( i >= [tokens count] ) { // return EOF token // EOF must be last token @@ -260,23 +269,24 @@ - (NSInteger) LA:(NSInteger)i - (void) setup { [self sync:0]; - p = 0; + index = 0; } /** Reset this token stream by setting its token source. */ - (void) setTokenSource:(id) aTokenSource { tokenSource = aTokenSource; - [tokens removeAllObjects]; - p = -1; + if ( [tokens count] ) + [tokens removeAllObjects]; + index = -1; } -- (NSMutableArray *)getTokens +- (AMutableArray *)getTokens { return tokens; } -- (NSMutableArray *)getTokensFrom:(NSInteger) startIndex To:(NSInteger) stopIndex +- (AMutableArray *)getTokensFrom:(NSInteger) startIndex To:(NSInteger) stopIndex { return [self getTokensFrom:startIndex To:stopIndex With:(ANTLRBitSet *)nil]; } @@ -285,9 +295,9 @@ - (NSMutableArray *)getTokensFrom:(NSInteger) startIndex To:(NSInteger) stopInde * the token type BitSet. Return null if no tokens were found. This * method looks at both on and off channel tokens. */ -- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex With:(ANTLRBitSet *)types +- (AMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex With:(ANTLRBitSet *)types { - if ( p == -1 ) { + if ( index == -1 ) { [self setup]; // [self fill]; } @@ -299,12 +309,11 @@ - (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex return nil; // list = tokens[start:stop]:{Token t, t.getType() in types} - NSMutableArray *filteredTokens = [NSMutableArray arrayWithCapacity:5]; + AMutableArray *filteredTokens = [AMutableArray arrayWithCapacity:5]; for (NSInteger i = startIndex; i <= stopIndex; i++) { idt = [tokens objectAtIndex:i]; - if ( types == nil || [types member:[t getType]] ) { + if ( types == nil || [types member:t.type] ) { [filteredTokens addObject:t]; - [t retain]; } } if ( [filteredTokens count] == 0 ) { @@ -313,12 +322,12 @@ - (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex return filteredTokens; } -- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithType:(NSInteger)ttype +- (AMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithType:(NSInteger)ttype { return [self getTokensFrom:startIndex To:stopIndex With:[ANTLRBitSet of:ttype]]; } -- (NSMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithList:(NSMutableArray *)types +- (AMutableArray *)getTokensFrom:(NSInteger)startIndex To:(NSInteger)stopIndex WithList:(AMutableArray *)types { return [self getTokensFrom:startIndex To:stopIndex With:[ANTLRBitSet newANTLRBitSetWithArray:types]]; } @@ -331,7 +340,7 @@ - (NSString *)getSourceName /** Grab *all* tokens from stream and return string */ - (NSString *) toString { - if ( p == -1 ) { + if ( index == -1 ) { [self setup]; } [self fill]; @@ -342,7 +351,7 @@ - (NSString *) toStringFromStart:(NSInteger)startIdx ToEnd:(NSInteger)stopIdx { if ( startIdx < 0 || stopIdx < 0 ) return nil; - if ( p == -1 ) { + if ( index == -1 ) { [self setup]; } if ( stopIdx >= [tokens count] ) @@ -350,9 +359,9 @@ - (NSString *) toStringFromStart:(NSInteger)startIdx ToEnd:(NSInteger)stopIdx NSMutableString *buf = [NSMutableString stringWithCapacity:5]; for (NSInteger i = startIdx; i <= stopIdx; i++) { idt = [tokens objectAtIndex:i]; - if ( [t getType] == ANTLRTokenTypeEOF ) + if ( t.type == ANTLRTokenTypeEOF ) break; - [buf appendString:[t getText]]; + [buf appendString:[t text]]; } return buf; } @@ -368,27 +377,16 @@ - (NSString *) toStringFromToken:(id)startToken ToToken:(id { - id up; - id down; - id eof; + id up; + id down; + id eof; - NSMutableArray *nodes; + AMutableArray *nodes; - id root; // root + id root; // root id tokens; ANTLRCommonTreeAdaptor *adaptor; BOOL uniqueNavigationNodes; - NSInteger p; + NSInteger index; NSInteger lastMarker; ANTLRIntArray *calls; @@ -81,36 +82,37 @@ } -@property (retain, getter=getUp, setter=setUp:) id up; -@property (retain, getter=getDown, setter=setDown:) id down; -@property (retain, getter=getEof, setter=setEof:) id eof; -@property (retain, getter=getNodes, setter=setNodes:) NSMutableArray *nodes; -@property (retain, getter=getTreeSource, setter=setTreeSource:) id root; +@property (retain, getter=getUp, setter=setUp:) id up; +@property (retain, getter=getDown, setter=setDown:) id down; +@property (retain, getter=eof, setter=setEof:) id eof; +@property (retain, getter=getNodes, setter=setNodes:) AMutableArray *nodes; +@property (retain, getter=getTreeSource, setter=setTreeSource:) id root; @property (retain, getter=getTokenStream, setter=setTokenStream:) id tokens; @property (retain, getter=getAdaptor, setter=setAdaptor:) ANTLRCommonTreeAdaptor *adaptor; @property (assign, getter=getUniqueNavigationNodes, setter=setUniqueNavigationNodes:) BOOL uniqueNavigationNodes; -@property (assign, getter=getIndex, setter=setIndex:) NSInteger p; +@property (assign) NSInteger index; @property (assign, getter=getLastMarker, setter=setLastMarker:) NSInteger lastMarker; @property (retain, getter=getCalls, setter=setCalls:) ANTLRIntArray *calls; @property (retain, getter=getEnum, setter=setEnum:) NSEnumerator *e; @property (retain, getter=getCurrentSymbol, setter=setCurrentSymbol:) id currentSymbol; -+ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)tree; -+ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(id)tree; -+ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(id)tree withBufferSize:(NSInteger)initialBufferSize; ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(ANTLRCommonTree *)tree; ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(ANTLRCommonTree *)tree; ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(ANTLRCommonTree *)tree withBufferSize:(NSInteger)initialBufferSize; #pragma mark Constructor -- (id) initWithTree:(id)tree; -- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(id)tree; -- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(id)tree WithBufferSize:(NSInteger)bufferSize; +- (id) initWithTree:(ANTLRCommonTree *)tree; +- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(ANTLRCommonTree *)tree; +- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(ANTLRCommonTree *)tree WithBufferSize:(NSInteger)bufferSize; +- (void)dealloc; - (id) copyWithZone:(NSZone *)aZone; // protected methods. DO NOT USE #pragma mark Protected Methods - (void) fillBuffer; -- (void) fillBufferWithTree:(id) tree; -- (NSInteger) getNodeIndex:(id) node; +- (void) fillBufferWithTree:(ANTLRCommonTree *) tree; +- (NSInteger) getNodeIndex:(ANTLRCommonTree *) node; - (void) addNavigationNode:(NSInteger) type; - (id) getNode:(NSUInteger) i; - (id) LT:(NSInteger) k; @@ -131,8 +133,6 @@ - (NSInteger) LA:(NSInteger) i; - (NSInteger) mark; - (void) release:(NSInteger) marker; -- (NSInteger) getIndex; -- (void) setIndex:(NSInteger) idx; - (void) rewind:(NSInteger) marker; - (void) rewind; - (void) seek:(NSInteger) idx; @@ -150,7 +150,8 @@ - (NSString *) toStringFromNode:(id)aStart ToNode:(id)aStop; // getters and setters -- (NSMutableArray *) getNodes; -- (id) getEof; +- (AMutableArray *) getNodes; +- (id) eof; +- (void)setEof:(id)anEOF; @end diff --git a/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m b/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m index 6877f03f..a8f73d8b 100644 --- a/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m +++ b/runtime/ObjC/Framework/ANTLRBufferedTreeNodeStream.m @@ -83,98 +83,112 @@ @implementation ANTLRBufferedTreeNodeStream @synthesize tokens; @synthesize adaptor; @synthesize uniqueNavigationNodes; -@synthesize p; +@synthesize index; @synthesize lastMarker; @synthesize calls; @synthesize e; @synthesize currentSymbol; -+ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id) aTree ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(ANTLRCommonTree *) aTree { - return [((ANTLRBufferedTreeNodeStream *)[ANTLRBufferedTreeNodeStream alloc]) initWithTree:(id)aTree]; + return [((ANTLRBufferedTreeNodeStream *)[ANTLRBufferedTreeNodeStream alloc]) initWithTree:(ANTLRCommonTree *)aTree]; } -+ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(id)aTree ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(ANTLRCommonTree *)aTree { - return [[ANTLRBufferedTreeNodeStream alloc] initWithTreeAdaptor:adaptor Tree:(id)aTree]; + return [[ANTLRBufferedTreeNodeStream alloc] initWithTreeAdaptor:adaptor Tree:(ANTLRCommonTree *)aTree]; } -+ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(id)aTree withBufferSize:(NSInteger)initialBufferSize ++ (ANTLRBufferedTreeNodeStream *) newANTLRBufferedTreeNodeStream:(id)adaptor Tree:(ANTLRCommonTree *)aTree withBufferSize:(NSInteger)initialBufferSize { - return [[ANTLRBufferedTreeNodeStream alloc] initWithTreeAdaptor:adaptor Tree:(id)aTree WithBufferSize:initialBufferSize]; + return [[ANTLRBufferedTreeNodeStream alloc] initWithTreeAdaptor:adaptor Tree:(ANTLRCommonTree *)aTree WithBufferSize:initialBufferSize]; } -(ANTLRBufferedTreeNodeStream *) init { self = [super init]; if (self) { - p = -1; + index = -1; uniqueNavigationNodes = NO; root = [[ANTLRCommonTree alloc] init]; // tokens = tree; - adaptor = [[ANTLRCommonTreeAdaptor alloc] init]; - nodes = [NSMutableArray arrayWithCapacity:DEFAULT_INITIAL_BUFFER_SIZE]; - down = [adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"]; - up = [adaptor createTree:ANTLRTokenTypeUP Text:@"UP"]; - eof = [adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"]; + adaptor = [[[ANTLRCommonTreeAdaptor alloc] init] retain]; + nodes = [[AMutableArray arrayWithCapacity:DEFAULT_INITIAL_BUFFER_SIZE] retain]; + down = [[adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"] retain]; + up = [[adaptor createTree:ANTLRTokenTypeUP Text:@"UP"] retain]; + eof = [[adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"] retain]; } return self; } -- (ANTLRBufferedTreeNodeStream *)initWithTree:(id) aTree +- (ANTLRBufferedTreeNodeStream *)initWithTree:(ANTLRCommonTree *) aTree { self = [super init]; if (self) { - p = -1; + index = -1; uniqueNavigationNodes = NO; root = aTree; // tokens = aTree; - adaptor = [[ANTLRCommonTreeAdaptor alloc] init]; - nodes = [NSMutableArray arrayWithCapacity:DEFAULT_INITIAL_BUFFER_SIZE]; - down = [adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"]; - up = [adaptor createTree:ANTLRTokenTypeUP Text:@"UP"]; - eof = [adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"]; + adaptor = [[[ANTLRCommonTreeAdaptor alloc] init] retain]; + nodes = [[AMutableArray arrayWithCapacity:DEFAULT_INITIAL_BUFFER_SIZE] retain]; + down = [[adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"] retain]; + up = [[adaptor createTree:ANTLRTokenTypeUP Text:@"UP"] retain]; + eof = [[adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"] retain]; } return self; } --(ANTLRBufferedTreeNodeStream *) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(id)aTree +-(ANTLRBufferedTreeNodeStream *) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(ANTLRCommonTree *)aTree { self = [super init]; if (self) { - p = -1; + index = -1; uniqueNavigationNodes = NO; root = aTree; // tokens = aTree; - adaptor = anAdaptor; - nodes = [NSMutableArray arrayWithCapacity:DEFAULT_INITIAL_BUFFER_SIZE]; - down = [adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"]; - up = [adaptor createTree:ANTLRTokenTypeUP Text:@"UP"]; - eof = [adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"]; + adaptor = [anAdaptor retain]; + nodes = [[AMutableArray arrayWithCapacity:DEFAULT_INITIAL_BUFFER_SIZE] retain]; + down = [[adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"] retain]; + up = [[adaptor createTree:ANTLRTokenTypeUP Text:@"UP"] retain]; + eof = [[adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"] retain]; } return self; } --(ANTLRBufferedTreeNodeStream *) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(id)aTree WithBufferSize:(NSInteger)bufferSize +-(ANTLRBufferedTreeNodeStream *) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)anAdaptor Tree:(ANTLRCommonTree *)aTree WithBufferSize:(NSInteger)bufferSize { self = [super init]; if (self) { // down = [adaptor createToken:ANTLRTokenTypeDOWN withText:@"DOWN"]; // up = [adaptor createToken:ANTLRTokenTypeDOWN withText:@"UP"]; // eof = [adaptor createToken:ANTLRTokenTypeDOWN withText:@"EOF"]; - p = -1; + index = -1; uniqueNavigationNodes = NO; root = aTree; // tokens = aTree; - adaptor = anAdaptor; - nodes = [NSMutableArray arrayWithCapacity:bufferSize]; - down = [adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"]; - up = [adaptor createTree:ANTLRTokenTypeUP Text:@"UP"]; - eof = [adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"]; + adaptor = [anAdaptor retain]; + nodes = [[AMutableArray arrayWithCapacity:bufferSize] retain]; + down = [[adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"] retain]; + up = [[adaptor createTree:ANTLRTokenTypeUP Text:@"UP"] retain]; + eof = [[adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"] retain]; } return self; } +- (void)dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRBufferedTreeNodeStream" ); +#endif + if ( adaptor ) [adaptor release]; + if ( nodes ) [nodes release]; + if ( root ) [root release]; + if ( down ) [down release]; + if ( up ) [up release]; + if ( eof ) [eof release]; + [super dealloc]; +} + - (id) copyWithZone:(NSZone *)aZone { ANTLRBufferedTreeNodeStream *copy; @@ -195,7 +209,7 @@ - (id) copyWithZone:(NSZone *)aZone if ( adaptor ) copy.adaptor = [adaptor copyWithZone:aZone]; copy.uniqueNavigationNodes = self.uniqueNavigationNodes; - copy.p = self.p; + copy.index = self.index; copy.lastMarker = self.lastMarker; if ( calls ) copy.calls = [calls copyWithZone:aZone]; @@ -208,10 +222,10 @@ -(void) fillBuffer { [self fillBufferWithTree:root]; // if (debug > 1) NSLog("revIndex=%@", tokenTypeToStreamIndexesMap); - p = 0; // buffer of nodes intialized now + index = 0; // buffer of nodes intialized now } --(void) fillBufferWithTree:(id) aTree +-(void) fillBufferWithTree:(ANTLRCommonTree *) aTree { BOOL empty = [adaptor isNil:aTree]; if (!empty) { @@ -230,9 +244,9 @@ -(void) fillBufferWithTree:(id) aTree } } --(NSInteger) getNodeIndex:(id) node +-(NSInteger) getNodeIndex:(ANTLRCommonTree *) node { - if (p == -1) { + if (index == -1) { [self fillBuffer]; } for (NSUInteger i = 0; i < [nodes count]; i++) { @@ -269,7 +283,7 @@ -(void) addNavigationNode:(NSInteger) type -(id) getNode:(NSUInteger) i { - if (p == -1) { + if (index == -1) { [self fillBuffer]; } return [nodes objectAtIndex:i]; @@ -277,7 +291,7 @@ -(id) getNode:(NSUInteger) i -(id) LT:(NSInteger) k { - if (p == -1) { + if (index == -1) { [self fillBuffer]; } if (k == 0) { @@ -286,10 +300,10 @@ -(id) LT:(NSInteger) k if (k < 0) { return [self LB:-k]; } - if ((p + k - 1) >= [nodes count]) { + if ((index + k - 1) >= [nodes count]) { return eof; } - return [nodes objectAtIndex:(p + k - 1)]; + return [nodes objectAtIndex:(index + k - 1)]; } -(id) getCurrentSymbol @@ -302,13 +316,13 @@ -(id) LB:(NSInteger) k if (k == 0) { return nil; } - if ((p - k) < 0) { + if ((index - k) < 0) { return nil; } - return [nodes objectAtIndex:(p - k)]; + return [nodes objectAtIndex:(index - k)]; } -- (id)getTreeSource +- (ANTLRCommonTree *)getTreeSource { return root; } @@ -350,10 +364,10 @@ - (void) setUniqueNavigationNodes:(BOOL)aVal -(void) consume { - if (p == -1) { + if (index == -1) { [self fillBuffer]; } - p++; + index++; } -(NSInteger) LA:(NSInteger) i @@ -363,10 +377,10 @@ -(NSInteger) LA:(NSInteger) i -(NSInteger) mark { - if (p == -1) { + if (index == -1) { [self fillBuffer]; } - lastMarker = [self getIndex]; + lastMarker = self.index; return lastMarker; } @@ -375,11 +389,6 @@ -(void) release:(NSInteger) marker // do nothing } --(NSInteger) index -{ - return p; -} - -(void) rewind:(NSInteger) marker { [self seek:marker]; @@ -392,10 +401,10 @@ -(void) rewind -(void) seek:(NSInteger) i { - if (p == -1) { + if (index == -1) { [self fillBuffer]; } - p = i; + index = i; } -(void) push:(NSInteger) i @@ -403,7 +412,7 @@ -(void) push:(NSInteger) i if (calls == nil) { calls = [ANTLRIntArray newArrayWithLen:INITIAL_CALL_STACK_SIZE]; } - [calls push:p]; + [calls push:index]; [self seek:i]; } @@ -416,7 +425,7 @@ -(NSInteger) pop -(void) reset { - p = 0; + index = 0; lastMarker = 0; if (calls != nil) { [calls reset]; @@ -425,7 +434,7 @@ -(void) reset -(NSUInteger) count { - if (p == -1) { + if (index == -1) { [self fillBuffer]; } return [nodes count]; @@ -444,7 +453,7 @@ -(NSEnumerator *) objectEnumerator return e; } --(void) replaceChildren:(id) parent From:(NSInteger)startIdx To:(NSInteger)stopIdx With:(id)aTree +-(void) replaceChildren:(ANTLRCommonTree *) parent From:(NSInteger)startIdx To:(NSInteger)stopIdx With:(ANTLRCommonTree *)aTree { if (parent != nil) { [adaptor replaceChildren:parent From:startIdx To:stopIdx With:aTree]; @@ -453,13 +462,13 @@ -(void) replaceChildren:(id) parent From:(NSInteger)startIdx To:( -(NSString *) toTokenTypeString { - if (p == -1) + if (index == -1) { [self fillBuffer]; } NSMutableString *buf = [NSMutableString stringWithCapacity:10]; for (NSUInteger i= 0; i < [nodes count]; i++) { - id aTree = (id)[self getNode:i]; + ANTLRCommonTree * aTree = (ANTLRCommonTree *)[self getNode:i]; [buf appendFormat:@" %d", [adaptor getType:aTree]]; } return buf; @@ -467,12 +476,12 @@ -(NSString *) toTokenTypeString -(NSString *) toTokenString:(NSInteger)aStart ToEnd:(NSInteger)aStop { - if (p == -1) { + if (index == -1) { [self fillBuffer]; } NSMutableString *buf = [NSMutableString stringWithCapacity:10]; for (NSUInteger i = aStart; i < [nodes count] && i <= aStop; i++) { - id t = (id)[self getNode:i]; + ANTLRCommonTree * t = (ANTLRCommonTree *)[self getNode:i]; [buf appendFormat:@" %d", [adaptor getType:t]]; } return buf; @@ -483,7 +492,7 @@ -(NSString *) toStringFromNode:(id)aStart ToNode:(id)aStop if (aStart == nil || aStop == nil) { return nil; } - if (p == -1) { + if (index == -1) { [self fillBuffer]; } @@ -501,7 +510,7 @@ -(NSString *) toStringFromNode:(id)aStart ToNode:(id)aStop [tokens toStringFromStart:beginTokenIndex ToEnd:endTokenIndex]; } // walk nodes looking for aStart - id aTree = nil; + ANTLRCommonTree * aTree = nil; NSUInteger i = 0; for (; i < [nodes count]; i++) { aTree = [nodes objectAtIndex:i]; @@ -529,13 +538,19 @@ -(NSString *) toStringFromNode:(id)aStart ToNode:(id)aStop } // getters and setters -- (NSMutableArray *) getNodes +- (AMutableArray *) getNodes { return nodes; } -- (id) getEof +- (id) eof { return eof; } + +- (void) setEof:(id)theEOF +{ + eof = theEOF; +} + @end diff --git a/runtime/ObjC/Framework/ANTLRCharStream.h b/runtime/ObjC/Framework/ANTLRCharStream.h index 379734b3..f7be94bd 100644 --- a/runtime/ObjC/Framework/ANTLRCharStream.h +++ b/runtime/ObjC/Framework/ANTLRCharStream.h @@ -41,15 +41,9 @@ - (NSInteger)LT:(NSInteger) i; // ANTLR tracks the line information automatically -- (NSInteger) getLine; // Because this stream can rewind, we need to be able to reset the line -- (void) setLine:(NSInteger) theLine; // The index of the character relative to the beginning of the line 0..n-1 -- (NSInteger) getCharPositionInLine; - -- (void) setCharPositionInLine:(NSInteger) thePos; - @end diff --git a/runtime/ObjC/Framework/ANTLRCharStreamState.h b/runtime/ObjC/Framework/ANTLRCharStreamState.h index f52edb58..0cf872f5 100644 --- a/runtime/ObjC/Framework/ANTLRCharStreamState.h +++ b/runtime/ObjC/Framework/ANTLRCharStreamState.h @@ -33,26 +33,17 @@ @interface ANTLRCharStreamState : NSObject { -NSInteger p; -NSInteger line; -NSInteger charPositionInLine; +NSInteger index; +NSUInteger line; +NSUInteger charPositionInLine; } -@property (assign) NSInteger p; -@property (assign) NSInteger line; -@property (assign) NSInteger charPositionInLine; +@property (assign) NSInteger index; +@property (assign) NSUInteger line; +@property (assign) NSUInteger charPositionInLine; + newANTLRCharStreamState; - (id) init; -- (NSInteger) getP; -- (void) setP: (NSInteger) anIndex; - -- (NSInteger) getLine; -- (void) setLine: (NSInteger) aLine; - -- (NSInteger) getCharPositionInLine; -- (void) setCharPositionInLine:(NSInteger)aCharPositionInLine; - @end diff --git a/runtime/ObjC/Framework/ANTLRCharStreamState.m b/runtime/ObjC/Framework/ANTLRCharStreamState.m old mode 100755 new mode 100644 index 6f3a4e37..b2a7e3ac --- a/runtime/ObjC/Framework/ANTLRCharStreamState.m +++ b/runtime/ObjC/Framework/ANTLRCharStreamState.m @@ -30,7 +30,7 @@ @implementation ANTLRCharStreamState -@synthesize p; +@synthesize index; @synthesize line; @synthesize charPositionInLine; @@ -42,51 +42,11 @@ @implementation ANTLRCharStreamState - (id) init { if ((self = [super init]) != nil) { - p = 0; + index = 0; line = 1; charPositionInLine = 0; } return self; } -//---------------------------------------------------------- -// index -//---------------------------------------------------------- -- (NSInteger) getP -{ - return p; -} - -- (void) setP: (NSInteger) anIndex -{ - p = anIndex; -} - -//---------------------------------------------------------- -// line -//---------------------------------------------------------- -- (NSInteger) getLine -{ - return line; -} - -- (void) setLine: (NSInteger) aLine -{ - line = aLine; -} - -//---------------------------------------------------------- -// charPositionInLine -//---------------------------------------------------------- -- (NSInteger) getCharPositionInLine -{ - return charPositionInLine; -} - -- (void) setCharPositionInLine: (NSInteger) aCharPositionInLine -{ - charPositionInLine = aCharPositionInLine; -} - - @end diff --git a/runtime/ObjC/Framework/ANTLRCommonErrorNode.h b/runtime/ObjC/Framework/ANTLRCommonErrorNode.h index f44641a6..d01af007 100644 --- a/runtime/ObjC/Framework/ANTLRCommonErrorNode.h +++ b/runtime/ObjC/Framework/ANTLRCommonErrorNode.h @@ -52,13 +52,13 @@ ANTLRRecognitionException *trappedException; From:(id)startToken To:(id)stopToken Exception:(ANTLRRecognitionException *) e; -- (BOOL) isNil; - -- (NSInteger) getType; -- (NSString *) getText; +- (void)dealloc; +- (BOOL) isNil; -- (NSString *) toString; +- (NSInteger)type; +- (NSString *)text; +- (NSString *)toString; @property (retain) id input; @property (retain) id startToken; diff --git a/runtime/ObjC/Framework/ANTLRCommonErrorNode.m b/runtime/ObjC/Framework/ANTLRCommonErrorNode.m index 353e8720..17fec336 100644 --- a/runtime/ObjC/Framework/ANTLRCommonErrorNode.m +++ b/runtime/ObjC/Framework/ANTLRCommonErrorNode.m @@ -46,7 +46,8 @@ + (id) newANTLRCommonErrorNode:(id)anInput - (id) init { - if ((self = [super init]) != nil ) { + self = [super init]; + if ( self != nil ) { } return self; } @@ -56,12 +57,13 @@ - (id) initWithInput:(id)anInput To:(id)aStopToken Exception:(ANTLRRecognitionException *) e { - if ((self = [super init]) != nil ) { - //System.out.println("aStartToken: "+aStartToken+", aStopToken: "+aStopToken); - if ( aStopToken == nil || - ([ aStopToken getTokenIndex] < [aStartToken getTokenIndex] && - [aStopToken getType] != ANTLRTokenTypeEOF) ) - { + self = [super init]; + if ( self != nil ) { + //System.out.println("aStartToken: "+aStartToken+", aStopToken: "+aStopToken); + if ( aStopToken == nil || + ([aStopToken getTokenIndex] < [aStartToken getTokenIndex] && + aStopToken.type != ANTLRTokenTypeEOF) ) + { // sometimes resync does not consume a token (when LT(1) is // in follow set. So, aStopToken will be 1 to left to aStartToken. adjust. // Also handle case where aStartToken is the first token and no token @@ -69,30 +71,46 @@ - (id) initWithInput:(id)anInput aStopToken = aStartToken; } input = anInput; + if ( input ) [input retain]; startToken = aStartToken; + if ( startToken ) [startToken retain]; stopToken = aStopToken; + if ( stopToken ) [stopToken retain]; trappedException = e; + if ( trappedException ) [trappedException retain]; } return self; } +- (void)dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRCommonErrorNode" ); +#endif + if ( input ) [input release]; + if ( startToken ) [startToken release]; + if ( stopToken ) [stopToken release]; + if ( trappedException ) [trappedException release]; + [super dealloc]; +} + - (BOOL) isNil { return NO; } -- (NSInteger) getType +- (NSInteger)type { return ANTLRTokenTypeInvalid; } -- (NSString *)getText +- (NSString *)text { NSString *badText = nil; if ( [startToken isKindOfClass:[self class]] ) { int i = [(id)startToken getTokenIndex]; int j = [(id)stopToken getTokenIndex]; - if ( [(id)stopToken getType] == ANTLRTokenTypeEOF ) { + if ( stopToken.type == ANTLRTokenTypeEOF ) { j = [(id)input size]; } badText = [(id)input toStringFromStart:i ToEnd:j]; @@ -119,18 +137,18 @@ - (NSString *)toString else if ( [trappedException isKindOfClass:[ANTLRUnwantedTokenException class]] ) { aString = [NSString stringWithFormat:@"", [trappedException getUnexpectedToken], - [self getText]]; + [self text]]; return aString; } else if ( [trappedException isKindOfClass:[ANTLRMismatchedTokenException class]] ) { - aString = [NSString stringWithFormat:@"", trappedException.token, [self getText]]; + aString = [NSString stringWithFormat:@"", trappedException.token, [self text]]; return aString; } else if ( [trappedException isKindOfClass:[ANTLRNoViableAltException class]] ) { - aString = [NSString stringWithFormat:@"", trappedException.token, [self getText]]; + aString = [NSString stringWithFormat:@"", trappedException.token, [self text]]; return aString; } - aString = [NSString stringWithFormat:@"",[self getText]]; + aString = [NSString stringWithFormat:@"",[self text]]; return aString; } diff --git a/runtime/ObjC/Framework/ANTLRCommonToken.h b/runtime/ObjC/Framework/ANTLRCommonToken.h index e7593a59..948e1297 100644 --- a/runtime/ObjC/Framework/ANTLRCommonToken.h +++ b/runtime/ObjC/Framework/ANTLRCommonToken.h @@ -30,7 +30,7 @@ #import "ANTLRCharStream.h" @interface ANTLRCommonToken : NSObject < ANTLRToken > { - NSString *text; + __strong NSString *text; NSInteger type; // information about the Token's position in the input stream NSUInteger line; @@ -44,7 +44,7 @@ NSInteger startIndex; NSInteger stopIndex; // the actual input stream this token was found in - id input; + __strong id input; } + (void) initialize; @@ -79,48 +79,36 @@ //---------------------------------------------------------- // text //---------------------------------------------------------- -- (NSString *) getText; -- (void) setText: (NSString *) aText; +- (NSString *)text; +- (void) setText:(NSString *)aText; //---------------------------------------------------------- // type //---------------------------------------------------------- -- (NSInteger) getType; -- (void) setType: (NSInteger) aType; - -//---------------------------------------------------------- -// line -//---------------------------------------------------------- -- (NSUInteger) getLine; -- (void) setLine: (NSUInteger) aLine; - -//---------------------------------------------------------- -// charPositionInLine -//---------------------------------------------------------- -- (NSUInteger) getCharPositionInLine; -- (void) setCharPositionInLine: (NSUInteger) aCharPositionInLine; +- (NSInteger)type; +- (void) setType:(NSInteger)aType; //---------------------------------------------------------- // channel //---------------------------------------------------------- -- (NSUInteger) getChannel; -- (void) setChannel: (NSUInteger) aChannel; +- (NSUInteger)channel; +- (void) setChannel:(NSUInteger)aChannel; //---------------------------------------------------------- // input //---------------------------------------------------------- -- (id) getInput; -- (void) setInput: (id) anInput; +- (id)input; +- (void) setInput:(id)anInput; -- (NSInteger) getStart; -- (void) setStart: (NSInteger) aStart; +- (NSInteger)getStart; +- (void) setStart: (NSInteger)aStart; -- (NSInteger) getStop; +- (NSInteger)getStop; - (void) setStop: (NSInteger) aStop; // the index of this Token into the TokenStream -- (NSInteger) getTokenIndex; -- (void) setTokenIndex: (NSInteger) aTokenIndex; +- (NSInteger)getTokenIndex; +- (void) setTokenIndex:(NSInteger)aTokenIndex; // conform to NSCopying - (id) copyWithZone:(NSZone *)theZone; @@ -128,10 +116,10 @@ - (NSString *) description; - (NSString *) toString; -@property (retain) NSString *text; +@property (retain, getter = text, setter = setText:) NSString *text; @property (assign) NSInteger type; -@property (assign) NSUInteger line; -@property (assign) NSUInteger charPositionInLine; +@property (assign, getter = line, setter = setLine:) NSUInteger line; +@property (assign, getter=charPositionInLine, setter = setCharPositionInLine:) NSUInteger charPositionInLine; @property (assign) NSUInteger channel; @property (assign) NSInteger index; @property (assign, getter=getStart, setter=setStart:) NSInteger startIndex; diff --git a/runtime/ObjC/Framework/ANTLRCommonToken.m b/runtime/ObjC/Framework/ANTLRCommonToken.m index 0e4ae353..ee0e018b 100644 --- a/runtime/ObjC/Framework/ANTLRCommonToken.m +++ b/runtime/ObjC/Framework/ANTLRCommonToken.m @@ -100,34 +100,34 @@ + (ANTLRCommonToken *) newTokenWithToken:(ANTLRCommonToken *)fromToken // return the singleton EOF Token + (id) eofToken { - if (EOF_TOKEN == nil) { - EOF_TOKEN = [[ANTLRCommonToken newToken:ANTLRTokenTypeEOF Text:@"EOF"] retain]; - } - return EOF_TOKEN; + if (EOF_TOKEN == nil) { + EOF_TOKEN = [[ANTLRCommonToken newToken:ANTLRTokenTypeEOF Text:@"EOF"] retain]; + } + return EOF_TOKEN; } // return the singleton skip Token + (id) skipToken { - if (SKIP_TOKEN == nil) { - SKIP_TOKEN = [[ANTLRCommonToken newToken:ANTLRTokenTypeInvalid Text:@"Skip"] retain]; - } - return SKIP_TOKEN; + if (SKIP_TOKEN == nil) { + SKIP_TOKEN = [[ANTLRCommonToken newToken:ANTLRTokenTypeInvalid Text:@"Skip"] retain]; + } + return SKIP_TOKEN; } // return the singleton skip Token + (id) invalidToken { - if (INVALID_TOKEN == nil) { - INVALID_TOKEN = [[ANTLRCommonToken newToken:ANTLRTokenTypeInvalid Text:@"Invalid"] retain]; - } - return SKIP_TOKEN; + if (INVALID_TOKEN == nil) { + INVALID_TOKEN = [[ANTLRCommonToken newToken:ANTLRTokenTypeInvalid Text:@"Invalid"] retain]; + } + return SKIP_TOKEN; } // the default channel for this class of Tokens + (ANTLRTokenChannel) defaultChannel { - return ANTLRTokenChannelDefault; + return ANTLRTokenChannelDefault; } - (id) init @@ -151,6 +151,7 @@ - (id) initWithInput:(id)anInput { if ((self = [super init]) != nil) { input = anInput; + if ( input ) [input retain]; type = aTType; channel = aChannel; startIndex = aStart; @@ -159,6 +160,7 @@ - (id) initWithInput:(id)anInput text = @"EOF"; else text = [input substringWithRange:NSMakeRange(startIndex, (stopIndex-startIndex)+1)]; + if ( text ) [text retain]; } return self; } @@ -167,41 +169,47 @@ - (id) initWithToken:(ANTLRCommonToken *)oldToken { if ((self = [super init]) != nil) { text = [NSString stringWithString:oldToken.text]; + if ( text ) [text retain]; type = oldToken.type; line = oldToken.line; index = oldToken.index; charPositionInLine = oldToken.charPositionInLine; channel = oldToken.channel; input = oldToken.input; + if ( input ) [input retain]; if ( [oldToken isKindOfClass:[ANTLRCommonToken class]] ) { startIndex = oldToken.startIndex; stopIndex = oldToken.stopIndex; } } - return self; + return self; } - (id) initWithType:(ANTLRTokenType)aTType { - if ((self = [super init]) != nil) { + if ((self = [super init]) != nil) { self.type = aTType; - } - return self; + } + return self; } - (id) initWithType:(ANTLRTokenType)aTType Text:(NSString *)tokenText { - if ((self = [super init]) != nil) { + if ((self = [super init]) != nil) { self.type = aTType; - self.text = tokenText; - } - return self; + self.text = [NSString stringWithString:tokenText]; + if ( text ) [text retain]; + } + return self; } -- (void) dealloc +- (void)dealloc { - [self setInput:nil]; - [self setText:nil]; +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRCommonToken" ); +#endif + if ( input ) [input release]; + if ( text ) [text release]; [super dealloc]; } @@ -226,77 +234,77 @@ - (id) copyWithZone:(NSZone *)theZone //---------------------------------------------------------- -// text +// charPositionInLine //---------------------------------------------------------- -- (NSString *) getText +- (NSUInteger) charPositionInLine { - if (text != nil) { - return text; - } - if (input == nil) { - return nil; - } - return [input substringWithRange:NSMakeRange(startIndex, (stopIndex-startIndex)+1)]; + return charPositionInLine; } -- (void) setText: (NSString *) aText +- (void) setCharPositionInLine:(NSUInteger)aCharPositionInLine { - if (text != aText) { - [aText retain]; - [text release]; - text = aText; - } + charPositionInLine = aCharPositionInLine; } - //---------------------------------------------------------- -// type +// line //---------------------------------------------------------- -- (NSInteger) getType +- (NSUInteger) line { - return type; + return line; } -- (void) setType: (NSInteger) aType +- (void) setLine:(NSUInteger)aLine { - type = aType; + line = aLine; } //---------------------------------------------------------- -// line +// text //---------------------------------------------------------- -- (NSUInteger) getLine +- (NSString *) text { - return line; + if (text != nil) { + return text; + } + if (input == nil) { + return nil; + } + return [input substringWithRange:NSMakeRange(startIndex, (stopIndex-startIndex)+1)]; } -- (void) setLine: (NSUInteger) aLine +- (void) setText:(NSString *)aText { - line = aLine; + if (text != aText) { + if ( text ) [text release]; + text = aText; + [text retain]; + } } + //---------------------------------------------------------- -// charPositionInLine +// type //---------------------------------------------------------- -- (NSUInteger) getCharPositionInLine +- (NSInteger)type { - return charPositionInLine; + return type; } -- (void) setCharPositionInLine: (NSUInteger) aCharPositionInLine +- (void) setType:(NSInteger)aType { - charPositionInLine = aCharPositionInLine; + type = aType; } //---------------------------------------------------------- // channel //---------------------------------------------------------- -- (NSUInteger) getChannel +- (NSUInteger)channel { return channel; } -- (void) setChannel: (NSUInteger) aChannel +- (void) setChannel:(NSUInteger)aChannel { channel = aChannel; } @@ -305,7 +313,7 @@ - (void) setChannel: (NSUInteger) aChannel //---------------------------------------------------------- // input //---------------------------------------------------------- -- (id) getInput +- (id) input { return input; } @@ -313,10 +321,10 @@ - (void) setChannel: (NSUInteger) aChannel - (void) setInput: (id) anInput { if (input != anInput) { + if ( input ) [input release]; [anInput retain]; - [input release]; - input = anInput; } + input = anInput; } @@ -370,15 +378,15 @@ - (NSString *) description if ( channel > 0 ) { channelStr = [NSString stringWithFormat:@",channel=%d\n", channel]; } - if ([self getText] != nil) { - txtString = [NSMutableString stringWithString:[self getText]]; - [txtString replaceOccurrencesOfString:@"\n" withString:@"\\\\n" options:NSAnchoredSearch range:NSMakeRange(0, [txtString length])]; - [txtString replaceOccurrencesOfString:@"\r" withString:@"\\\\r" options:NSAnchoredSearch range:NSMakeRange(0, [txtString length])]; - [txtString replaceOccurrencesOfString:@"\t" withString:@"\\\\t" options:NSAnchoredSearch range:NSMakeRange(0, [txtString length])]; - } else { - txtString = [NSMutableString stringWithString:@""]; + if ([self text] != nil) { + txtString = [NSMutableString stringWithString:[self text]]; + [txtString replaceOccurrencesOfString:@"\n" withString:@"\\\\n" options:NSAnchoredSearch range:NSMakeRange(0, [txtString length])]; + [txtString replaceOccurrencesOfString:@"\r" withString:@"\\\\r" options:NSAnchoredSearch range:NSMakeRange(0, [txtString length])]; + [txtString replaceOccurrencesOfString:@"\t" withString:@"\\\\t" options:NSAnchoredSearch range:NSMakeRange(0, [txtString length])]; + } else { + txtString = [NSMutableString stringWithString:@""]; } - return [NSString stringWithFormat:@"[@%d, %d:%d='%@',<%d>%@,%d:%d]", index, startIndex, stopIndex, txtString, type, channelStr, line, charPositionInLine]; + return [NSString stringWithFormat:@"[@%d, %d:%d='%@',<%d>%@,%d:%d]", index, startIndex, stopIndex, txtString, type, channelStr, line, charPositionInLine]; } - (NSString *)toString diff --git a/runtime/ObjC/Framework/ANTLRCommonTokenStream.h b/runtime/ObjC/Framework/ANTLRCommonTokenStream.h index 534a5461..c26130e0 100644 --- a/runtime/ObjC/Framework/ANTLRCommonTokenStream.h +++ b/runtime/ObjC/Framework/ANTLRCommonTokenStream.h @@ -31,15 +31,16 @@ #import "ANTLRTokenSource.h" #import "ANTLRBitSet.h" #import "ANTLRBufferedTokenStream.h" +#import "AMutableDictionary.h" @interface ANTLRCommonTokenStream : ANTLRBufferedTokenStream < ANTLRTokenStream > { - NSMutableDictionary *channelOverride; + __strong AMutableDictionary *channelOverride; NSUInteger channel; } -@property (retain, getter=getChannelOverride,setter=setChannelOverride:) NSMutableDictionary *channelOverride; -@property (assign, getter=getChannel,setter=setChannel:) NSUInteger channel; +@property (retain, getter=getChannelOverride,setter=setChannelOverride:) AMutableDictionary *channelOverride; +@property (assign, getter=channel,setter=setChannel:) NSUInteger channel; + (ANTLRCommonTokenStream *)newANTLRCommonTokenStream; + (ANTLRCommonTokenStream *)newANTLRCommonTokenStreamWithTokenSource:(id)theTokenSource; @@ -64,11 +65,11 @@ // - (id) getTokenSource; - (void) setTokenSource: (id) aTokenSource; -- (NSUInteger)getChannel; +- (NSUInteger)channel; - (void)setChannel:(NSUInteger)aChannel; -- (NSMutableDictionary *)getChannelOverride; -- (void)setChannelOverride:(NSMutableDictionary *)anOverride; +- (AMutableDictionary *)channelOverride; +- (void)setChannelOverride:(AMutableDictionary *)anOverride; - (id) copyWithZone:(NSZone *)aZone; @@ -81,7 +82,6 @@ - (id) getToken:(NSInteger)i; - (NSInteger) size; -- (NSInteger) getIndex; - (void) rewind; - (void) rewind:(NSInteger)marker; - (void) seek:(NSInteger)index; diff --git a/runtime/ObjC/Framework/ANTLRCommonTokenStream.m b/runtime/ObjC/Framework/ANTLRCommonTokenStream.m index 9eba2794..9ebc325a 100644 --- a/runtime/ObjC/Framework/ANTLRCommonTokenStream.m +++ b/runtime/ObjC/Framework/ANTLRCommonTokenStream.m @@ -53,7 +53,7 @@ + (ANTLRCommonTokenStream *)newANTLRCommonTokenStreamWithTokenSource:(id)theTokenSource { if ((self = [super initWithTokenSource:theTokenSource]) != nil) { - channelOverride = [[NSMutableDictionary dictionaryWithCapacity:100] retain]; + channelOverride = [[AMutableDictionary dictionaryWithCapacity:100] retain]; channel = ANTLRTokenChannelDefault; } return self; @@ -71,7 +71,7 @@ - (id) initWithTokenSource:(id)theTokenSource - (id) initWithTokenSource:(id)theTokenSource Channel:(NSUInteger)aChannel { if ((self = [super initWithTokenSource:theTokenSource]) != nil) { - channelOverride = [[NSMutableDictionary dictionaryWithCapacity:100] retain]; + channelOverride = [[AMutableDictionary dictionaryWithCapacity:100] retain]; channel = aChannel; } return self; @@ -79,21 +79,24 @@ - (id) initWithTokenSource:(id)theTokenSource Channel:(NSUInte - (void) dealloc { - [channelOverride release]; - [tokens release]; +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRCommonTokenStream" ); +#endif + if ( channelOverride ) [channelOverride release]; + if ( tokens ) [tokens release]; [self setTokenSource:nil]; [super dealloc]; } -/** Always leave p on an on-channel token. */ +/** Always leave index on an on-channel token. */ - (void) consume { - if (p == -1) [self setup]; - p++; - [self sync:p]; - while ( [[tokens objectAtIndex:p] getChannel] != channel ) { - p++; - [self sync:p]; + if (index == -1) [self setup]; + index++; + [self sync:index]; + while ( ((ANTLRCommonToken *)[tokens objectAtIndex:index]).channel != channel ) { + index++; + [self sync:index]; } } @@ -101,10 +104,10 @@ - (void) consume - (id) LB:(NSInteger)k { - if ( k == 0 || (p-k) < 0 ) { + if ( k == 0 || (index-k) < 0 ) { return nil; } - int i = p; + int i = index; int n = 1; // find k good tokens looking backwards while ( n <= k ) { @@ -119,10 +122,10 @@ - (void) consume - (id) LT:(NSInteger)k { - if ( p == -1 ) [self setup]; + if ( index == -1 ) [self setup]; if ( k == 0 ) return nil; if ( k < 0 ) return [self LB:-k]; - int i = p; + int i = index; int n = 1; while ( n < k ) { i = [self skipOffChannelTokens:i+1]; @@ -131,7 +134,7 @@ - (void) consume // if ( i >= (NSInteger)[tokens count] ) { // return [ANTLRCommonToken eofToken]; // } - if (i > range) range = i; + if ( i > range ) range = i; return [tokens objectAtIndex:i]; } @@ -140,7 +143,7 @@ - (void) consume - (NSInteger) skipOffChannelTokens:(NSInteger) idx { [self sync:idx]; - while ( [[tokens objectAtIndex:idx] getChannel] != channel ) { + while ( ((ANTLRCommonToken *)[tokens objectAtIndex:idx]).channel != channel ) { idx++; [self sync:idx]; } @@ -149,7 +152,7 @@ - (NSInteger) skipOffChannelTokens:(NSInteger) idx - (NSInteger) skipOffChannelTokensReverse:(NSInteger) i { - while ( i >= 0 && [(id)[tokens objectAtIndex:i] getChannel] != channel ) { + while ( i >= 0 && ((ANTLRCommonToken *)[tokens objectAtIndex:i]).channel != channel ) { i--; } return i; @@ -157,15 +160,15 @@ - (NSInteger) skipOffChannelTokensReverse:(NSInteger) i - (void) setup { - p = 0; + index = 0; [self sync:0]; int i = 0; - while ( [((id)[tokens objectAtIndex:i]) getChannel] != channel ) { + while ( ((ANTLRCommonToken *)[tokens objectAtIndex:i]).channel != channel ) { i++; [self sync:i]; } - // leave p pointing at first token on channel - p = i; + // leave index pointing at first token on channel + index = i; } - (NSInteger) getNumberOfOnChannelTokens @@ -173,10 +176,10 @@ - (NSInteger) getNumberOfOnChannelTokens NSInteger n = 0; [self fill]; for( int i = 0; i < [tokens count]; i++ ) { - id t = [tokens objectAtIndex:i]; - if ( [t getChannel] == channel ) + ANTLRCommonToken *t = [tokens objectAtIndex:i]; + if ( t.channel == channel ) n++; - if ( [t getType] == ANTLRTokenTypeEOF ) + if ( t.type == ANTLRTokenTypeEOF ) break; } return n; @@ -201,7 +204,7 @@ - (id) copyWithZone:(NSZone *)aZone return copy; } -- (NSUInteger)getChannel +- (NSUInteger)channel { return channel; } @@ -211,12 +214,12 @@ - (void)setChannel:(NSUInteger)aChannel channel = aChannel; } -- (NSMutableDictionary *)getChannelOverride +- (AMutableDictionary *)channelOverride { return channelOverride; } -- (void)setChannelOverride:(NSMutableDictionary *)anOverride +- (void)setChannelOverride:(AMutableDictionary *)anOverride { channelOverride = anOverride; } @@ -240,19 +243,18 @@ - (NSArray *) tokensInRange:(NSRange)aRange inBitSet:(ANTLRBitSet *)aBitSet { unsigned int startIndex = aRange.location; unsigned int stopIndex = aRange.location+aRange.length; - if ( p == -1 ) { + if ( index == -1 ) { [self setup]; } if (stopIndex >= [tokens count]) { stopIndex = [tokens count] - 1; } - NSMutableArray *filteredTokens = [NSMutableArray arrayWithCapacity:100]; + AMutableArray *filteredTokens = [AMutableArray arrayWithCapacity:100]; unsigned int i=0; for (i = startIndex; i<=stopIndex; i++) { id token = [tokens objectAtIndex:i]; - if (aBitSet == nil || [aBitSet member:[token getType]]) { + if (aBitSet == nil || [aBitSet member:token.type]) { [filteredTokens addObject:token]; - [token retain]; } } if ([filteredTokens count]) { @@ -290,11 +292,6 @@ - (NSInteger) size return [tokens count]; } -- (NSInteger) getIndex -{ - return p; -} - - (void) rewind { [self seek:lastMarker]; @@ -305,15 +302,15 @@ - (void) rewind:(NSInteger)marker [self seek:marker]; } -- (void) seek:(NSInteger)index +- (void) seek:(NSInteger)anIndex { - p = index; + index = anIndex; } #pragma mark toString routines - (NSString *) toString { - if ( p == -1 ) { + if ( index == -1 ) { [self setup]; } return [self toStringFromStart:0 ToEnd:[tokens count]]; @@ -327,7 +324,7 @@ - (NSString *) toStringFromStart:(NSInteger)startIdx ToEnd:(NSInteger) stopIdx if ( startIdx < 0 || stopIdx < 0 ) { return nil; } - if ( p == -1 ) { + if ( index == -1 ) { [self setup]; } if ( stopIdx >= [tokens count] ) { @@ -336,7 +333,7 @@ - (NSString *) toStringFromStart:(NSInteger)startIdx ToEnd:(NSInteger) stopIdx stringBuffer = [NSMutableString stringWithCapacity:30]; for (int i = startIdx; i <= stopIdx; i++) { t = (id)[tokens objectAtIndex:i]; - [stringBuffer appendString:[t getText]]; + [stringBuffer appendString:[t text]]; } return stringBuffer; } diff --git a/runtime/ObjC/Framework/ANTLRCommonTree.h b/runtime/ObjC/Framework/ANTLRCommonTree.h index 35987144..2becb763 100644 --- a/runtime/ObjC/Framework/ANTLRCommonTree.h +++ b/runtime/ObjC/Framework/ANTLRCommonTree.h @@ -29,6 +29,11 @@ #import "ANTLRBaseTree.h" @interface ANTLRCommonTree : ANTLRBaseTree { + __strong ANTLRCommonToken *token; + NSInteger startIndex; + NSInteger stopIndex; + __strong ANTLRCommonTree *parent; + NSInteger childIndex; } + (ANTLRCommonTree *) invalidNode; @@ -37,12 +42,6 @@ + (ANTLRCommonTree *) newTreeWithToken:(ANTLRCommonToken *)aToken; + (ANTLRCommonTree *) newTreeWithTokenType:(NSInteger)tokenType; + (ANTLRCommonTree *) newTreeWithTokenType:(NSInteger)aTType Text:(NSString *)theText; -#ifdef DONTUSEYET -+ (id) newTreeWithTokenType:(NSInteger)tokenType; -+ (id) newTreeWithToken:(id)fromToken TokenType:(NSInteger)tokenType; -+ (id) newTreeWithToken:(id)fromToken TokenType:(NSInteger)tokenType Text:(NSString *)tokenText; -+ (id) newTreeWithToken:(id)fromToken Text:(NSString *)tokenText; -#endif - (id) init; - (id) initWithTreeNode:(ANTLRCommonTree *)aNode; @@ -56,11 +55,13 @@ - (ANTLRCommonToken *) getToken; - (void) setToken:(ANTLRCommonToken *)aToken; -- (id) dupNode; -- (NSInteger) getType; -- (NSString *) getText; -- (NSUInteger) getLine; -- (NSUInteger) getCharPositionInLine; +- (ANTLRCommonToken *) dupNode; +- (NSInteger)type; +- (NSString *)text; +- (NSUInteger)line; +- (void) setLine:(NSUInteger)aLine; +- (NSUInteger)charPositionInLine; +- (void) setCharPositionInLine:(NSUInteger)pos; - (ANTLRCommonTree *) getParent; - (void) setParent:(ANTLRCommonTree *) t; @@ -82,4 +83,10 @@ @property (assign, getter=getChildIndex, setter=setChildIndex:) NSInteger childIndex; */ +@property (retain) ANTLRCommonToken *token; +@property (assign) NSInteger startIndex; +@property (assign) NSInteger stopIndex; +@property (retain) ANTLRCommonTree *parent; +@property (assign) NSInteger childIndex; + @end diff --git a/runtime/ObjC/Framework/ANTLRCommonTree.m b/runtime/ObjC/Framework/ANTLRCommonTree.m index 615a6c15..68c1fc17 100644 --- a/runtime/ObjC/Framework/ANTLRCommonTree.m +++ b/runtime/ObjC/Framework/ANTLRCommonTree.m @@ -29,46 +29,38 @@ @implementation ANTLRCommonTree -/* -@synthesize token; -@synthesize startIndex; -@synthesize stopIndex; -@synthesize parent; -@synthesize childIndex; -*/ - -+ (id)INVALID_NODE ++ (ANTLRCommonTree *)INVALID_NODE { return [[ANTLRCommonTree alloc] initWithToken:[ANTLRCommonToken invalidToken]]; } -+ (id)invalidNode ++ (ANTLRCommonTree *)invalidNode { - // Had to cast to id here, because GCC is dumb. + // Had to cast to ANTLRCommonTree * here, because GCC is dumb. return [[ANTLRCommonTree alloc] initWithToken:ANTLRCommonToken.INVALID_TOKEN]; } -+ (id)newTree ++ (ANTLRCommonTree *)newTree { return [[ANTLRCommonTree alloc] init]; } -+ (id)newTreeWithTree:(id)aTree ++ (ANTLRCommonTree *)newTreeWithTree:(ANTLRCommonTree *)aTree { return [[ANTLRCommonTree alloc] initWithTreeNode:aTree]; } -+ (id)newTreeWithToken:(id)aToken ++ (ANTLRCommonTree *)newTreeWithToken:(id)aToken { return [[ANTLRCommonTree alloc] initWithToken:aToken]; } -+ (id)newTreeWithTokenType:(NSInteger)aTType ++ (ANTLRCommonTree *)newTreeWithTokenType:(NSInteger)aTType { return [[ANTLRCommonTree alloc] initWithTokenType:(NSInteger)aTType]; } -+ (id)newTreeWithTokenType:(NSInteger)aTType Text:(NSString *)theText ++ (ANTLRCommonTree *)newTreeWithTokenType:(NSInteger)aTType Text:(NSString *)theText { return [[ANTLRCommonTree alloc] initWithTokenType:(NSInteger)aTType Text:theText]; } @@ -83,20 +75,21 @@ - (id)init parent = nil; childIndex = -1; } - return (id)self; + return (ANTLRCommonTree *)self; } -- (id)initWithTreeNode:(id)aNode +- (id)initWithTreeNode:(ANTLRCommonTree *)aNode { self = (ANTLRCommonTree *)[super init]; if ( self != nil ) { token = aNode.token; + if ( token ) [token retain]; startIndex = aNode.startIndex; stopIndex = aNode.stopIndex; parent = nil; childIndex = -1; } - return (id)self; + return self; } - (id)initWithToken:(id)aToken @@ -104,19 +97,20 @@ - (id)initWithToken:(id)aToken self = (ANTLRCommonTree *)[super init]; if ( self != nil ) { token = aToken; + if ( token ) [token retain]; startIndex = -1; stopIndex = -1; parent = nil; childIndex = -1; } - return (id)self; + return self; } - (id)initWithTokenType:(NSInteger)aTokenType { self = (ANTLRCommonTree *)[super init]; if ( self != nil ) { - token = [ANTLRCommonToken newToken:aTokenType]; + token = [[ANTLRCommonToken newToken:aTokenType] retain]; // startIndex = token.startIndex; startIndex = -1; // stopIndex = token.stopIndex; @@ -124,14 +118,14 @@ - (id)initWithTokenType:(NSInteger)aTokenType parent = nil; childIndex = -1; } - return (id)self; + return self; } - (id) initWithTokenType:(NSInteger)aTokenType Text:(NSString *)theText { self = (ANTLRCommonTree *)[super init]; if ( self != nil ) { - token = [ANTLRCommonToken newToken:aTokenType Text:theText]; + token = [[ANTLRCommonToken newToken:aTokenType Text:theText] retain]; // startIndex = token.startIndex; startIndex = -1; // stopIndex = token.stopIndex; @@ -139,12 +133,19 @@ - (id) initWithTokenType:(NSInteger)aTokenType Text:(NSString *)theText parent = nil; childIndex = -1; } - return (id)self; + return self; } - (void) dealloc { - [self setToken:nil]; + if ( token ) { + [token release]; + token = nil; + } + if ( parent ) { + [parent release]; + parent = nil; + } [super dealloc]; } @@ -158,7 +159,7 @@ - (id) copyWithZone:(NSZone *)aZone copy.token = [self.token copyWithZone:aZone]; copy.startIndex = startIndex; copy.stopIndex = stopIndex; - copy.parent = [self.parent copyWithZone:aZone]; + copy.parent = (ANTLRCommonTree *)[self.parent copyWithZone:aZone]; copy.childIndex = childIndex; return copy; } @@ -175,50 +176,56 @@ - (ANTLRCommonToken *) getToken - (void) setToken:(ANTLRCommonToken *) aToken { - if (token != aToken) { + if ( token != aToken ) { + if ( token ) [token release]; [aToken retain]; - [token release]; token = aToken; } } -- (id) dupNode +- (ANTLRCommonTree *) dupNode { return [ANTLRCommonTree newTreeWithTree:self ]; } -- (NSInteger) getType +- (NSInteger)type { if (token) - return [token getType]; + return token.type; return ANTLRTokenTypeInvalid; } -- (NSString *) getText +- (NSString *)text { if (token) - return [token getText]; + return token.text; return nil; } -- (NSUInteger) getLine +- (NSUInteger)line { if (token) - return [token getLine]; + return token.line; return 0; } -- (NSUInteger) getCharPositionInLine +- (void) setLine:(NSUInteger)aLine +{ + if (token) + token.line = aLine; +} + +- (NSUInteger)charPositionInLine { if (token) - return [token getCharPositionInLine]; + return token.charPositionInLine; return 0; } -- (void) setCharPositionInLine:(int)pos +- (void) setCharPositionInLine:(NSUInteger)pos { if (token) - [token setCharPositionInLine:pos]; + token.charPositionInLine = pos; } - (NSInteger) getTokenStartIndex @@ -295,14 +302,14 @@ - (NSInteger) getChildIndex return childIndex; } -- (id) getParent +- (ANTLRCommonTree *) getParent { return parent; } -- (void) setParent:(id) t +- (void) setParent:(ANTLRCommonTree *) t { - parent = (id)t; + parent = t; } - (void) setChildIndex:(NSInteger) anIndex @@ -320,13 +327,19 @@ - (NSString *) toString if ( [self isNil] ) { return @"nil"; } - if ( [self getType] == ANTLRTokenTypeInvalid ) { + if ( [self type] == ANTLRTokenTypeInvalid ) { return @""; } if ( token==nil ) { return nil; } - return [token getText]; + return token.text; } +@synthesize token; +@synthesize startIndex; +@synthesize stopIndex; +@synthesize parent; +@synthesize childIndex; + @end diff --git a/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h b/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h index 90f0d494..e79f0abf 100644 --- a/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h +++ b/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.h @@ -34,32 +34,32 @@ @interface ANTLRCommonTreeAdaptor : ANTLRBaseTreeAdaptor { } -+ (id) newEmptyTree; ++ (ANTLRCommonTree *) newEmptyTree; + (ANTLRCommonTreeAdaptor *)newTreeAdaptor; - (id) init; -- (id)dupNode:(id)t; +- (ANTLRCommonTree *)dupNode:(ANTLRCommonTree *)t; -- (id) create:(id) payload; -- (id) createTree:(NSInteger)tokenType fromToken:(ANTLRCommonToken *)aToken; -- (id) createTree:(NSInteger)tokenType fromToken:(ANTLRCommonToken *)aToken Text:(NSString *)text; +- (ANTLRCommonTree *) create:(id) payload; +//- (ANTLRCommonTree *) createTree:(NSInteger)tokenType fromToken:(ANTLRCommonToken *)aToken; +//- (ANTLRCommonTree *) createTree:(NSInteger)tokenType fromToken:(ANTLRCommonToken *)aToken Text:(NSString *)text; - (id)createToken:(NSInteger)tokenType Text:(NSString *)text; - (id)createToken:(id)fromToken; -- (void) setTokenBoundaries:(id)t From:(id)startToken To:(id)stopToken; -- (NSInteger)getTokenStartIndex:(id)t; -- (NSInteger)getTokenStopIndex:(id)t; -- (NSString *)getText:(id)t; -- (void)setText:(id)t Text:(NSString *)text; -- (NSInteger)getType:(id)t; -- (void) setType:(id)t Type:(NSInteger)tokenType; -- (id)getToken:(id)t; -- (id)getChild:(id)t At:(NSInteger)i; -- (void) setChild:(id)t At:(NSInteger)i Child:(id)child; -- (NSInteger)getChildCount:(id)t; -- (id)getParent:(id)t; -- (void)setParent:(id)t With:(id)parent; -- (NSInteger)getChildIndex:(id)t; -- (void)setChildIndex:(id)t With:(NSInteger)index; -- (void)replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; +- (void) setTokenBoundaries:(ANTLRCommonTree *)t From:(id)startToken To:(id)stopToken; +- (NSInteger)getTokenStartIndex:(ANTLRCommonTree *)t; +- (NSInteger)getTokenStopIndex:(ANTLRCommonTree *)t; +- (NSString *)getText:(ANTLRCommonTree *)t; +- (void)setText:(ANTLRCommonTree *)t Text:(NSString *)text; +- (NSInteger)getType:(ANTLRCommonTree *)t; +- (void) setType:(ANTLRCommonTree *)t Type:(NSInteger)tokenType; +- (id)getToken:(ANTLRCommonTree *)t; +- (ANTLRCommonTree *)getChild:(ANTLRCommonTree *)t At:(NSInteger)i; +- (void) setChild:(ANTLRCommonTree *)t At:(NSInteger)i Child:(ANTLRCommonTree *)child; +- (NSInteger)getChildCount:(ANTLRCommonTree *)t; +- (ANTLRCommonTree *)getParent:(ANTLRCommonTree *)t; +- (void)setParent:(ANTLRCommonTree *)t With:(ANTLRCommonTree *)parent; +- (NSInteger)getChildIndex:(ANTLRCommonTree *)t; +- (void)setChildIndex:(ANTLRCommonTree *)t With:(NSInteger)index; +- (void)replaceChildren:(ANTLRCommonTree *)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(ANTLRCommonTree *)t; - (id)copyWithZone:(NSZone *)zone; @end diff --git a/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.m b/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.m index 525758df..7609698c 100644 --- a/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.m +++ b/runtime/ObjC/Framework/ANTLRCommonTreeAdaptor.m @@ -135,11 +135,11 @@ - (NSInteger)getTokenStopIndex:(id) t return [(id)t getTokenStopIndex]; } -- (NSString *)getText:(id)t +- (NSString *)getText:(ANTLRCommonTree *)t { if ( t == nil ) return nil; - return [(id) t getText]; + return t.token.text; } - (void)setText:(id)t Text:(NSString *)text @@ -148,11 +148,11 @@ - (void)setText:(id)t Text:(NSString *)text return; } -- (NSInteger)getType:(id)t +- (NSInteger)getType:(ANTLRCommonTree *)t { if ( t==nil ) return ANTLRTokenTypeInvalid; - return [(id) t getType]; + return t.token.type; } - (void) setType:(id)t Type:(NSInteger)tokenType @@ -168,7 +168,7 @@ - (void) setType:(id)t Type:(NSInteger)tokenType - (id) getToken:(ANTLRCommonTree *) t { if ( [t isKindOfClass:[ANTLRCommonTree class]] ) { - return [t getToken]; + return t.token; } return nil; // no idea what to do } @@ -177,14 +177,14 @@ - (void) setType:(id)t Type:(NSInteger)tokenType { if ( t == nil ) return nil; - return [(id) t getChild:i]; + return [(id)t getChild:i]; } - (void) setChild:(id)t At:(NSInteger)i Child:(id)child { if ( t == nil ) return; - [(id) t setChild:i With:child]; + [(id)t setChild:i With:child]; } - (id) deleteChild:(id)t Index:(NSInteger)anIndex diff --git a/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.h b/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.h index e43f97d3..52efc0f7 100644 --- a/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.h +++ b/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.h @@ -37,19 +37,19 @@ #define INITIAL_CALL_STACK_SIZE 10 /** Pull nodes from which tree? */ -id root; +__strong id root; /** If this tree (root) was created from a token stream, track it. */ -id tokens; +__strong id tokens; /** What tree adaptor was used to build these trees */ -ANTLRCommonTreeAdaptor *adaptor; +__strong ANTLRCommonTreeAdaptor *adaptor; /** The tree iterator we using */ -ANTLRTreeIterator *it; +__strong ANTLRTreeIterator *it; /** Stack of indexes used for push/pop calls */ -ANTLRIntArray *calls; +__strong ANTLRIntArray *calls; /** Tree (nil A B C) trees like flat A B C streams */ BOOL hasNilRoot; @@ -76,7 +76,7 @@ NSInteger level; */ - (id) nextElement; -- (BOOL) isEOF:(id) o; +- (BOOL) isEOF:(id) obj; - (void) setUniqueNavigationNodes:(BOOL) uniqueNavigationNodes; - (id) getTreeSource; diff --git a/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.m b/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.m index abab0a02..23eddee2 100644 --- a/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.m +++ b/runtime/ObjC/Framework/ANTLRCommonTreeNodeStream.m @@ -28,6 +28,12 @@ #import "ANTLRTokenStream.h" #import "ANTLRIntStream.h" #import "ANTLRCharStream.h" +#import "AMutableArray.h" +#import "ANTLRCommonTreeAdaptor.h" + +#ifndef DEBUG_DEALLOC +#define DEBUG_DEALLOC +#endif @implementation ANTLRCommonTreeNodeStream @@ -49,10 +55,11 @@ + (ANTLRCommonTreeNodeStream *) newANTLRCommonTreeNodeStream:(id)anAdaptor Tree:(ANTLRCommonTree *)theTree { if ((self = [super init]) != nil ) { - [adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"]; // set EOF - root = theTree; - adaptor = anAdaptor; + adaptor = [anAdaptor retain]; + root = [theTree retain]; + navigationNodeEOF = [[adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"] retain]; // set EOF // it = [root objectEnumerator]; - it = [ANTLRTreeIterator newANTRLTreeIteratorWithAdaptor:adaptor andTree:root]; - calls = [ANTLRIntArray newArrayWithLen:INITIAL_CALL_STACK_SIZE]; + it = [[ANTLRTreeIterator newANTRLTreeIteratorWithAdaptor:adaptor andTree:root] retain]; + calls = [[ANTLRIntArray newArrayWithLen:INITIAL_CALL_STACK_SIZE] retain]; /** Tree (nil A B C) trees like flat A B C streams */ hasNilRoot = NO; level = 0; @@ -77,6 +84,19 @@ - (id) initWithTreeAdaptor:(id)anAdaptor Tree:(ANTLRCommonTree return self; } +- (void)dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRCommonTreeNodeStream" ); +#endif + if ( root ) [root release]; + if ( tokens ) [tokens release]; + if ( adaptor ) [adaptor release]; + if ( it ) [it release]; + if ( calls ) [calls release]; + [super dealloc]; +} + - (void) reset { [super reset]; @@ -111,7 +131,7 @@ - (id) nextElement - (BOOL) isEOF:(id) aTree { - return [adaptor getType:aTree] == ANTLRTokenTypeEOF; + return [adaptor getType:(ANTLRCommonTree *)aTree] == ANTLRTokenTypeEOF; } - (void) setUniqueNavigationNodes:(BOOL) uniqueNavigationNodes @@ -135,6 +155,10 @@ - (NSString *) getSourceName - (void) setTokenStream:(id)theTokens { + if ( tokens != theTokens ) { + if ( tokens ) [tokens release]; + [theTokens retain]; + } tokens = theTokens; } @@ -145,6 +169,10 @@ - (ANTLRCommonTreeAdaptor *) getTreeAdaptor - (void) setTreeAdaptor:(ANTLRCommonTreeAdaptor *) anAdaptor { + if ( adaptor != anAdaptor ) { + if ( adaptor ) [adaptor release]; + [anAdaptor retain]; + } adaptor = anAdaptor; } @@ -165,7 +193,7 @@ - (NSInteger) LA:(NSInteger) i - (void) push:(NSInteger) anIndex { if ( calls == nil ) { - calls = [ANTLRIntArray newArrayWithLen:INITIAL_CALL_STACK_SIZE]; + calls = [[ANTLRIntArray newArrayWithLen:INITIAL_CALL_STACK_SIZE] retain]; } [calls push:p]; // save current anIndex [self seek:anIndex]; @@ -202,14 +230,14 @@ - (NSString *) toTokenTypeString { [self reset]; NSMutableString *buf = [NSMutableString stringWithCapacity:5]; - id o = [self LT:1]; - NSInteger type = [adaptor getType:o]; + id obj = [self LT:1]; + NSInteger type = [adaptor getType:obj]; while ( type != ANTLRTokenTypeEOF ) { [buf appendString:@" "]; [buf appendString:[NSString stringWithFormat:@"%d", type]]; [self consume]; - o = [self LT:1]; - type = [adaptor getType:o]; + obj = [self LT:1]; + type = [adaptor getType:obj]; } return buf; } diff --git a/runtime/ObjC/Framework/ANTLRDFA.h b/runtime/ObjC/Framework/ANTLRDFA.h index b3e7fde6..9adedb10 100644 --- a/runtime/ObjC/Framework/ANTLRDFA.h +++ b/runtime/ObjC/Framework/ANTLRDFA.h @@ -39,7 +39,7 @@ const int *special; const int **transition; - ANTLRBaseRecognizer *recognizer; + __strong ANTLRBaseRecognizer *recognizer; NSInteger decisionNumber; NSInteger len; } diff --git a/runtime/ObjC/Framework/ANTLRDFA.m b/runtime/ObjC/Framework/ANTLRDFA.m index 48aba4cc..b42daf57 100644 --- a/runtime/ObjC/Framework/ANTLRDFA.m +++ b/runtime/ObjC/Framework/ANTLRDFA.m @@ -189,8 +189,7 @@ - (short *) unpackEncodedString:(NSString *)encodedString for (int i=0; i < [encodedString length]; i+=2) { size += [encodedString characterAtIndex:i]; } - NSMutableData *dp = [[NSMutableData dataWithLength:size] retain]; - short *data = (short *)[dp mutableBytes]; + __strong short *data = (short *)calloc(size, sizeof(short)); int di = 0; for (int i=0; i < [encodedString length]; i+=2) { char n = [encodedString characterAtIndex:i]; @@ -211,8 +210,7 @@ - (char *) unpackEncodedStringToUnsignedChars:(NSString *)encodedString for (int i=0; i < [encodedString length]; i+=2) { size += [encodedString characterAtIndex:i]; } - NSMutableData *dp = [[NSMutableData dataWithLength:size] retain]; - char *data = (char *)[dp mutableBytes]; + __strong short *data = (short *)calloc(size, sizeof(short)); int di = 0; for (int i=0; i < [encodedString length]; i+=2) { char n = [encodedString characterAtIndex:i]; @@ -222,7 +220,7 @@ - (char *) unpackEncodedStringToUnsignedChars:(NSString *)encodedString data[di++] = v; } } - return data; + return (char *)data; } - (NSInteger)getDecision @@ -242,9 +240,8 @@ - (ANTLRBaseRecognizer *)getRecognizer - (void)setRecognizer:(ANTLRBaseRecognizer *)aRecognizer { - if (recognizer != aRecognizer) { - if (recognizer != nil) - [recognizer release]; + if ( recognizer != aRecognizer ) { + if ( recognizer ) [recognizer release]; [aRecognizer retain]; } recognizer = aRecognizer; diff --git a/runtime/ObjC/Framework/ANTLRDebugEventProxy.m b/runtime/ObjC/Framework/ANTLRDebugEventProxy.m index b3623bb5..f68059a5 100644 --- a/runtime/ObjC/Framework/ANTLRDebugEventProxy.m +++ b/runtime/ObjC/Framework/ANTLRDebugEventProxy.m @@ -224,17 +224,17 @@ - (void) exitDecision:(NSInteger)decisionNumber - (void) consumeToken:(id)t { - [self sendToDebugger:[NSString stringWithFormat:@"consumeToken %@", [self escapeNewlines:[t debuggerDescription]]]]; + [self sendToDebugger:[NSString stringWithFormat:@"consumeToken %@", [self escapeNewlines:[t description]]]]; } - (void) consumeHiddenToken:(id)t { - [self sendToDebugger:[NSString stringWithFormat:@"consumeHiddenToken %@", [self escapeNewlines:[t debuggerDescription]]]]; + [self sendToDebugger:[NSString stringWithFormat:@"consumeHiddenToken %@", [self escapeNewlines:[t description]]]]; } - (void) LT:(NSInteger)i foundToken:(id)t { - [self sendToDebugger:[NSString stringWithFormat:@"LT %d %@", i, [self escapeNewlines:[t debuggerDescription]]]]; + [self sendToDebugger:[NSString stringWithFormat:@"LT %d %@", i, [self escapeNewlines:[t description]]]]; } - (void) mark:(NSInteger)marker diff --git a/runtime/ObjC/Framework/ANTLRDebugParser.h b/runtime/ObjC/Framework/ANTLRDebugParser.h index b23ff505..ed403ef9 100644 --- a/runtime/ObjC/Framework/ANTLRDebugParser.h +++ b/runtime/ObjC/Framework/ANTLRDebugParser.h @@ -33,6 +33,16 @@ id debugListener; } ++ (id) newDebugParser:(id)theStream + debugListener:(id)debugListener; + ++ (id) newDebugParser:(id)theStream + state:(ANTLRRecognizerSharedState *)state; + ++ (id) newDebugParser:(id)theStream + debugListener:(id)debugListener + state:(ANTLRRecognizerSharedState *)state; + - (id) initWithTokenStream:(id)theStream; - (id) initWithTokenStream:(id)theStream debuggerPort:(NSInteger)portNumber; diff --git a/runtime/ObjC/Framework/ANTLRDebugParser.m b/runtime/ObjC/Framework/ANTLRDebugParser.m index 91bb0fc2..f86a8baa 100644 --- a/runtime/ObjC/Framework/ANTLRDebugParser.m +++ b/runtime/ObjC/Framework/ANTLRDebugParser.m @@ -110,21 +110,4 @@ - (void)endBacktracking:(NSInteger)level wasSuccessful:(BOOL)successful [debugListener endBacktrack:level wasSuccessful:successful]; } -- (void) recoverFromMismatchedToken:(id)inputStream - exception:(NSException *)e - tokenType:(ANTLRTokenType)ttype - follow:(ANTLRBitSet *)follow -{ -#warning TODO: recoverFromMismatchedToken in debugger - [super recoverFromMismatchedToken:inputStream exception:e tokenType:ttype follow:follow]; -} - -- (void) recoverFromMismatchedSet:(id)inputStream - exception:(NSException *)e - follow:(ANTLRBitSet *)follow -{ -#warning TODO: recoverFromMismatchedSet in debugger - [super recoverFromMismatchedSet:inputStream exception:e follow:follow]; -} - @end diff --git a/runtime/ObjC/Framework/ANTLRDebugTokenStream.h b/runtime/ObjC/Framework/ANTLRDebugTokenStream.h index 335b0020..9f6c4389 100644 --- a/runtime/ObjC/Framework/ANTLRDebugTokenStream.h +++ b/runtime/ObjC/Framework/ANTLRDebugTokenStream.h @@ -44,7 +44,7 @@ - (id) debugListener; - (void) setDebugListener: (id) aDebugListener; -- (id) getInput; +- (id) input; - (void) setInput:(id)aTokenStream; - (void) consume; diff --git a/runtime/ObjC/Framework/ANTLRDebugTokenStream.m b/runtime/ObjC/Framework/ANTLRDebugTokenStream.m index 43fe823d..8a294c9e 100644 --- a/runtime/ObjC/Framework/ANTLRDebugTokenStream.m +++ b/runtime/ObjC/Framework/ANTLRDebugTokenStream.m @@ -36,7 +36,7 @@ - (id) initWithTokenStream:(id)theStream debugListener:(id)theStream debugListener:(id) aDebugListener } } -- (id) getInput +- (id) input { return input; } @@ -72,15 +72,15 @@ - (void) setDebugListener: (id) aDebugListener - (void) setInput: (id) aTokenStream { if (input != aTokenStream) { - [aTokenStream retain]; - [input release]; + if ( input ) [input release]; input = aTokenStream; + [input retain]; } } - (void) consumeInitialHiddenTokens { - int firstIdx = [input getIndex]; + int firstIdx = input.index; for (int i = 0; i token = [input LT:1]; [input consume]; - int b = [input getIndex]; + int b = input.index; [debugListener consumeToken:token]; if (b > a+1) // must have consumed hidden tokens for (int i = a+1; i < b; i++) @@ -152,7 +152,7 @@ - (NSInteger) LA:(NSInteger)k - (NSInteger) getIndex { - return [input getIndex]; + return input.index; } - (void) release:(NSInteger) marker @@ -181,6 +181,11 @@ - (NSString *) getSourceName return [[input getTokenSource] getSourceName]; } +- (NSString *) description +{ + return [input toString]; +} + - (NSString *) toString { return [input toString]; @@ -193,7 +198,7 @@ - (NSString *) toStringFromStart:(NSInteger)startIndex ToEnd:(NSInteger)stopInde - (NSString *) toStringFromToken:(id)startToken ToToken:(id)stopToken { - return [input toStringFromStart:[startToken getStartIndex] ToEnd:[stopToken getStopIndex]]; + return [input toStringFromStart:[startToken getStart] ToEnd:[stopToken getStopToken]]; } @end diff --git a/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.h b/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.h index 41965fad..f8dd07e0 100644 --- a/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.h +++ b/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.h @@ -26,20 +26,20 @@ #import #import "ANTLRParser.h" -#import "ANTLRBaseTreeAdaptor.h" +#import "ANTLRCommonTreeAdaptor.h" #import "ANTLRDebugEventListener.h" @interface ANTLRDebugTreeAdaptor : ANTLRBaseTreeAdaptor { id debugListener; - id treeAdaptor; + ANTLRCommonTreeAdaptor *treeAdaptor; } -- (id) initWithTreeAdaptor:(id)aTreeAdaptor debugListener:(id)aDebugListener; +- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)aTreeAdaptor debugListener:(id)aDebugListener; -- (id) debugListener; -- (void) setDebugListener: (id) aDebugListener; +- (id)debugListener; +- (void) setDebugListener:(id)aDebugListener; -- (id) getTreeAdaptor; -- (void) setTreeAdaptor: (id) aTreeAdaptor; +- (ANTLRCommonTreeAdaptor *) getTreeAdaptor; +- (void) setTreeAdaptor:(ANTLRCommonTreeAdaptor *)aTreeAdaptor; @end diff --git a/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.m b/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.m index c0769488..01c4c6ee 100644 --- a/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.m +++ b/runtime/ObjC/Framework/ANTLRDebugTreeAdaptor.m @@ -30,7 +30,7 @@ @implementation ANTLRDebugTreeAdaptor -- (id) initWithTreeAdaptor:(id)aTreeAdaptor debugListener:(id)aDebugListener +- (id) initWithTreeAdaptor:(ANTLRCommonTreeAdaptor *)aTreeAdaptor debugListener:(id)aDebugListener { self = [super init]; if (self) { @@ -61,16 +61,16 @@ - (void) setDebugListener: (id) aDebugListener } } -- (id) getTreeAdaptor +- (ANTLRCommonTreeAdaptor *) getTreeAdaptor { return treeAdaptor; } -- (void) setTreeAdaptor: (id) aTreeAdaptor +- (void) setTreeAdaptor: (ANTLRCommonTreeAdaptor *) aTreeAdaptor { if (treeAdaptor != aTreeAdaptor) { - [(id)aTreeAdaptor retain]; - [(id)treeAdaptor release]; + [aTreeAdaptor retain]; + [treeAdaptor release]; treeAdaptor = aTreeAdaptor; } } @@ -175,7 +175,7 @@ - (void) addTokenAsChild:(id)child toTree:(id)aTree - (id) newANTLRTreeWithToken:(id)fromToken text:(NSString *)tokenText { id newTree = [treeAdaptor newANTLRTreeWithToken:fromToken text:tokenText]; - [debugListener createNode:[treeAdaptor uniqueIdForTree:newTree] text:tokenText type:[fromToken getType]]; + [debugListener createNode:[treeAdaptor uniqueIdForTree:newTree] text:tokenText type:fromToken.type]; return newTree; } diff --git a/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.h b/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.h index 70f99394..733f6fd5 100644 --- a/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.h +++ b/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.h @@ -41,7 +41,7 @@ - (id) debugListener; - (void) setDebugListener: (id) aDebugListener; -- (id) getInput; +- (id) input; - (void) setInput: (id) aTreeNodeStream; - (id) getTreeAdaptor; diff --git a/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.m b/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.m index dd13bfb0..37f55de5 100644 --- a/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.m +++ b/runtime/ObjC/Framework/ANTLRDebugTreeNodeStream.m @@ -44,7 +44,7 @@ - (void) dealloc { [self setDebugListener: nil]; [self setTreeAdaptor: nil]; - [self setInput: nil]; + input = nil; [super dealloc]; } @@ -78,18 +78,18 @@ - (void) setTreeAdaptor: (id) aTreeAdaptor } -- (id) getInput +- (id) input { return input; } -- (void) setInput: (id) aTreeNodeStream +- (void) setInput:(id) aTreeNodeStream { if (input != aTreeNodeStream) { + [input release]; [(id)aTreeNodeStream retain]; - [(id)input release]; - input = aTreeNodeStream; } + input = aTreeNodeStream; } @@ -116,15 +116,15 @@ - (void) consume id node = [input LT:1]; [input consume]; unsigned hash = [treeAdaptor uniqueIdForTree:node]; - NSString *text = [treeAdaptor textForNode:node]; - int type = [treeAdaptor tokenTypeForNode:node]; - [debugListener consumeNode:hash ofType:type text:text]; + NSString *theText = [treeAdaptor textForNode:node]; + int aType = [treeAdaptor tokenTypeForNode:node]; + [debugListener consumeNode:hash ofType:aType text:theText]; } - (NSInteger) LA:(NSUInteger) i { id node = [self LT:1]; - return [node getType]; + return node.type; } - (NSUInteger) mark @@ -136,7 +136,7 @@ - (NSUInteger) mark - (NSUInteger) getIndex { - return [input getIndex]; + return input.index; } - (void) rewind:(NSUInteger) marker diff --git a/runtime/ObjC/Framework/ANTLRDebugTreeParser.h b/runtime/ObjC/Framework/ANTLRDebugTreeParser.h index cbeac764..171c1e7a 100644 --- a/runtime/ObjC/Framework/ANTLRDebugTreeParser.h +++ b/runtime/ObjC/Framework/ANTLRDebugTreeParser.h @@ -44,5 +44,9 @@ - (id) debugListener; - (void) setDebugListener: (id) aDebugListener; +- (void) recoverFromMismatchedToken:(id)inputStream + exception:(NSException *)e + tokenType:(ANTLRTokenType)ttype + follow:(ANTLRBitSet *)follow; @end diff --git a/runtime/ObjC/Framework/ANTLRDebugTreeParser.m b/runtime/ObjC/Framework/ANTLRDebugTreeParser.m index 000dbce1..5692993b 100644 --- a/runtime/ObjC/Framework/ANTLRDebugTreeParser.m +++ b/runtime/ObjC/Framework/ANTLRDebugTreeParser.m @@ -56,8 +56,8 @@ - (id) initWithTreeNodeStream:(id)theStream } else { treeNodeStream = theStream; } - self = [super initWithTreeNodeStream:treeNodeStream]; - if (self) { + self = [super initWithStream:treeNodeStream]; + if ( self ) { [self setDebugListener:debugger]; //[debugger release]; //[treeNodeStream release]; @@ -114,7 +114,7 @@ - (void) recoverFromMismatchedToken:(id)inputStream follow:(ANTLRBitSet *)follow { #warning TODO: recoverFromMismatchedToken in debugger - [super recoverFromMismatchedToken:inputStream exception:e tokenType:ttype follow:follow]; + [self recoverFromMismatchedToken:inputStream exception:e follow:follow]; } - (void) recoverFromMismatchedSet:(id)inputStream @@ -122,7 +122,7 @@ - (void) recoverFromMismatchedSet:(id)inputStream follow:(ANTLRBitSet *)follow { #warning TODO: recoverFromMismatchedSet in debugger - [super recoverFromMismatchedSet:inputStream exception:e follow:follow]; + [super recoverFromMismatchedSet:inputStream]; } @end diff --git a/runtime/ObjC/Framework/ANTLRDoubleKeyMap.h b/runtime/ObjC/Framework/ANTLRDoubleKeyMap.h index 73716755..78858792 100644 --- a/runtime/ObjC/Framework/ANTLRDoubleKeyMap.h +++ b/runtime/ObjC/Framework/ANTLRDoubleKeyMap.h @@ -1,3 +1,6 @@ + +#import "AMutableArray.h" +#import "AMutableDictionary.h" #import "ANTLRLinkBase.h" /** * Sometimes we need to map a key to a value but key is two pieces of data. @@ -5,19 +8,21 @@ * map; avoids mem creation. */ - +@class AMutableArray; @interface ANTLRDoubleKeyMap : ANTLRLinkBase { - NSMutableDictionary *data; + AMutableDictionary *data; } - (id) init; - (id) setObject:(id)v forKey1:(id)k1 forKey2:(NSString *)k2; - (id) objectForKey1:(id)k1 forKey2:(id)k2; -- (NSMutableDictionary *) objectForKey:(id)k1; +- (AMutableDictionary *) objectForKey:(id)k1; - (NSArray *) valuesForKey:(id)k1; - (NSArray *) allKeys1; -- (NSArray *) allKeys2:(id)k1; -- (NSMutableArray *) values; -@property (retain) NSMutableDictionary *data; +- (AMutableArray *) allKeys2:(id)k1; +- (NSArray *) values; + +@property (retain) AMutableDictionary *data; + @end diff --git a/runtime/ObjC/Framework/ANTLRDoubleKeyMap.m b/runtime/ObjC/Framework/ANTLRDoubleKeyMap.m index 3e30411f..3642ef05 100644 --- a/runtime/ObjC/Framework/ANTLRDoubleKeyMap.m +++ b/runtime/ObjC/Framework/ANTLRDoubleKeyMap.m @@ -6,17 +6,17 @@ - (id) init { self = [super init]; if ( self != nil ) { - data = [NSMutableDictionary dictionaryWithCapacity:30]; + data = [[AMutableDictionary dictionaryWithCapacity:30] retain]; } return self; } - (id) setObject:(id)v forKey1:(id)k1 forKey2:(id)k2 { - NSMutableDictionary *data2 = [data objectForKey:k1]; + AMutableDictionary *data2 = [data objectForKey:k1]; id prev = nil; - if (data2 == nil) { - data2 = [[NSMutableDictionary dictionaryWithCapacity:30] retain]; + if ( data2 == nil ) { + data2 = [AMutableDictionary dictionaryWithCapacity:30]; [data setObject:data2 forKey:k1]; } else { @@ -28,13 +28,13 @@ - (id) setObject:(id)v forKey1:(id)k1 forKey2:(id)k2 - (id) objectForKey1:(id)k1 forKey2:(id)k2 { - NSMutableDictionary *data2 = [data objectForKey:k1]; - if (data2 == nil) + AMutableDictionary *data2 = [data objectForKey:k1]; + if ( data2 == nil ) return nil; return [data2 objectForKey:k2]; } -- (NSMutableDictionary *) objectForKey:(id)k1 +- (AMutableDictionary *) objectForKey:(id)k1 { return [data objectForKey:k1]; } @@ -45,8 +45,8 @@ - (NSMutableDictionary *) objectForKey:(id)k1 */ - (NSArray *) valuesForKey:(id)k1 { - NSMutableDictionary * data2 = [data objectForKey:k1]; - if (data2 == nil) + AMutableDictionary *data2 = [data objectForKey:k1]; + if ( data2 == nil ) return nil; return [data2 allValues]; } @@ -66,18 +66,18 @@ - (NSArray *) allKeys1 */ - (NSArray *) allKeys2:(id)k1 { - NSMutableDictionary * data2 = [data objectForKey:k1]; - if (data2 == nil) + AMutableDictionary * data2 = [data objectForKey:k1]; + if ( data2 == nil ) return nil; return [data2 allKeys]; } -- (NSMutableArray *) values +- (AMutableArray *) values { // ANTLRHashMap *s = [[ANTLRHashMap newANTLRHashMapWithLen:30]; - NSMutableArray *s = [NSMutableArray arrayWithCapacity:30]; + AMutableArray *s = [AMutableArray arrayWithCapacity:30]; - for (NSMutableDictionary *k2 in [data allValues]) { + for (AMutableDictionary *k2 in [data allValues]) { for ( NSString *v in [k2 allValues]) { [s addObject:v]; @@ -88,7 +88,11 @@ - (NSMutableArray *) values return s; } -- (void) dealloc { +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRCommonToken" ); +#endif [data release]; [super dealloc]; } diff --git a/runtime/ObjC/Framework/ANTLRFailedPredicateException.m b/runtime/ObjC/Framework/ANTLRFailedPredicateException.m index cadba77b..caf77168 100644 --- a/runtime/ObjC/Framework/ANTLRFailedPredicateException.m +++ b/runtime/ObjC/Framework/ANTLRFailedPredicateException.m @@ -29,6 +29,9 @@ @implementation ANTLRFailedPredicateException +@synthesize predicate; +@synthesize ruleName; + + (ANTLRFailedPredicateException *) newException:(NSString *)theRuleName predicate:(NSString *)thePredicate stream:(id)theStream { return [[ANTLRFailedPredicateException alloc] initWithRuleName:theRuleName predicate:thePredicate stream:theStream]; @@ -45,6 +48,9 @@ - (ANTLRFailedPredicateException *) initWithRuleName:(NSString *)theRuleName pre - (void) dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRFailedPredicateException" ); +#endif [self setPredicate:nil]; [self setRuleName:nil]; [super dealloc]; @@ -67,7 +73,7 @@ - (void) setPredicate:(NSString *)thePredicate { if (thePredicate != predicate) { [thePredicate retain]; - [predicate release]; + if ( predicate ) [predicate release]; predicate = thePredicate; } } @@ -81,7 +87,7 @@ - (void) setRuleName:(NSString *)theRuleName { if (theRuleName != ruleName) { [theRuleName retain]; - [ruleName release]; + if ( ruleName ) [ruleName release]; ruleName = theRuleName; } } diff --git a/runtime/ObjC/Framework/ANTLRFastQueue.h b/runtime/ObjC/Framework/ANTLRFastQueue.h index 81790b8c..f5ba5822 100644 --- a/runtime/ObjC/Framework/ANTLRFastQueue.h +++ b/runtime/ObjC/Framework/ANTLRFastQueue.h @@ -30,18 +30,16 @@ // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #import - +#import "AMutableArray.h" @interface ANTLRFastQueue : NSObject { -// NSAutoreleasePool *pool; - NSMutableArray *data; - NSUInteger p; + __strong AMutableArray *data; + NSUInteger p; NSUInteger range; } -//@property (retain, getter=getPool, setter=setPool:) NSAutoreleasePool *pool; -@property (retain) NSMutableArray *data; +@property (retain) AMutableArray *data; @property (assign) NSUInteger p; @property (assign) NSUInteger range; @@ -53,7 +51,7 @@ - (void) reset; - (id) remove; -- (void) addObject:(id) o; +- (void) addObject:(id) obj; - (NSUInteger) count; - (NSUInteger) size; - (NSUInteger) range; @@ -62,7 +60,5 @@ - (void) clear; - (NSString *) toString; - (NSString *) description; -//- (NSAutoreleasePool *) getPool; -//- (void) setPool:(NSAutoreleasePool *)aPool; @end diff --git a/runtime/ObjC/Framework/ANTLRFastQueue.m b/runtime/ObjC/Framework/ANTLRFastQueue.m index 8776a2bb..6944b6dc 100644 --- a/runtime/ObjC/Framework/ANTLRFastQueue.m +++ b/runtime/ObjC/Framework/ANTLRFastQueue.m @@ -42,14 +42,14 @@ @implementation ANTLRFastQueue + (id) newANTLRFastQueue { - return [[[ANTLRFastQueue alloc] init] retain]; + return [[ANTLRFastQueue alloc] init]; } - (id) init { - if ((self = [super init]) != nil ) { -// pool = [NSAutoreleasePool new]; - data = [[NSMutableArray arrayWithCapacity:100] autorelease]; + self = [super init]; + if ( self != nil ) { + data = [[AMutableArray arrayWithCapacity:100] retain]; p = 0; range = -1; } @@ -58,7 +58,10 @@ - (id) init - (void) dealloc { -// [pool drain]; +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRFastQueue" ); +#endif + if ( data ) [data release]; [super dealloc]; } @@ -67,9 +70,9 @@ - (id) copyWithZone:(NSZone *)aZone ANTLRFastQueue *copy; copy = [[[self class] allocWithZone:aZone] init]; -// copy.pool = pool; copy.data = [data copyWithZone:nil]; copy.p = p; + copy.range = range; return copy; } @@ -82,25 +85,25 @@ - (void) reset - (void) clear { p = 0; - [data removeAllObjects]; + if ( [data count] ) + [data removeAllObjects]; } - (id) remove { - id o = [self objectAtIndex:0]; + id obj = [self objectAtIndex:0]; p++; // check to see if we have hit the end of the buffer - if (p == [data count]) - { + if ( p == [data count] ) { // if we have, then we need to clear it out [self clear]; } - return o; + return obj; } -- (void) addObject:(id) o +- (void) addObject:(id) obj { - [data addObject:o]; + [data addObject:obj]; } - (NSUInteger) count @@ -128,10 +131,10 @@ - (id) objectAtIndex:(NSUInteger) i NSUInteger absIndex; absIndex = p + i; - if (absIndex >= [data count]) { + if ( absIndex >= [data count] ) { @throw [ANTLRNoSuchElementException newException:[NSString stringWithFormat:@"queue index %d > last index %d", absIndex, [data count]-1]]; } - if (absIndex < 0) { + if ( absIndex < 0 ) { @throw [ANTLRNoSuchElementException newException:[NSString stringWithFormat:@"queue index %d < 0", absIndex]]; } if ( absIndex > range ) range = absIndex; @@ -139,6 +142,11 @@ - (id) objectAtIndex:(NSUInteger) i } - (NSString *) toString +{ + return [self description]; +} + +- (NSString *) description { NSMutableString *buf = [NSMutableString stringWithCapacity:30]; NSInteger n = [self size]; @@ -151,11 +159,6 @@ - (NSString *) toString return buf; } -- (NSString *) description -{ - return [self toString]; -} - #ifdef DONTUSENOMO - (NSAutoreleasePool *)getPool { diff --git a/runtime/ObjC/Framework/ANTLRFileStream.h b/runtime/ObjC/Framework/ANTLRFileStream.h index 329665a2..6c9a881a 100644 --- a/runtime/ObjC/Framework/ANTLRFileStream.h +++ b/runtime/ObjC/Framework/ANTLRFileStream.h @@ -34,7 +34,7 @@ * of data copying. */ @interface ANTLRFileStream : ANTLRStringStream { - NSString *fileName; + __strong NSString *fileName; } diff --git a/runtime/ObjC/Framework/ANTLRHashMap.h b/runtime/ObjC/Framework/ANTLRHashMap.h index 5631342b..113cb65c 100644 --- a/runtime/ObjC/Framework/ANTLRHashMap.h +++ b/runtime/ObjC/Framework/ANTLRHashMap.h @@ -41,7 +41,10 @@ NSInteger Scope; NSInteger LastHash; NSInteger BuffSize; - ANTLRMapElement *ptrBuffer[HASHSIZE]; + NSUInteger count; + NSUInteger ptr; + __strong NSMutableData *buffer; + __strong ANTLRMapElement **ptrBuffer; NSInteger mode; } @@ -98,6 +101,10 @@ @property (getter=getScope, setter=setScope:) NSInteger Scope; @property (getter=getLastHash, setter=setLastHash:) NSInteger LastHash; -@property NSInteger BuffSize; @property (getter=getMode,setter=setMode:) NSInteger mode; +@property NSInteger BuffSize; +@property (getter=getCount, setter=setCount:) NSUInteger count; +@property (assign) NSUInteger ptr; +@property (retain, getter=getBuffer, setter=setBuffer:) NSMutableData *buffer; +@property (assign, getter=getPtrBuffer, setter=setPtrBuffer:) ANTLRMapElement **ptrBuffer; @end diff --git a/runtime/ObjC/Framework/ANTLRHashMap.m b/runtime/ObjC/Framework/ANTLRHashMap.m index 7e07008d..ab025a96 100644 --- a/runtime/ObjC/Framework/ANTLRHashMap.m +++ b/runtime/ObjC/Framework/ANTLRHashMap.m @@ -44,30 +44,33 @@ @implementation ANTLRHashMap +(id)newANTLRHashMap { - return [[[ANTLRHashMap alloc] init] retain]; + return [[ANTLRHashMap alloc] init]; } +(id)newANTLRHashMapWithLen:(NSInteger)aBuffSize { - return [[[ANTLRHashMap alloc] initWithLen:aBuffSize] retain]; + return [[ANTLRHashMap alloc] initWithLen:aBuffSize]; } -(id)init { NSInteger idx; - if ((self = [super init]) != nil) { - fNext = nil; + if ((self = [super init]) != nil) { + fNext = nil; + Scope = 0; + ptr = 0; BuffSize = HASHSIZE; - Scope = 0; - if ( fNext != nil ) { - Scope = ((ANTLRHashMap *)fNext)->Scope+1; - for( idx = 0; idx < BuffSize; idx++ ) { - ptrBuffer[idx] = ((ANTLRHashMap *)fNext)->ptrBuffer[idx]; - } - } + buffer = [[NSMutableData dataWithLength:(NSUInteger)BuffSize * sizeof(id)] retain]; + ptrBuffer = (ANTLRMapElement **) [buffer mutableBytes]; + if ( fNext != nil ) { + Scope = ((ANTLRHashMap *)fNext)->Scope+1; + for( idx = 0; idx < BuffSize; idx++ ) { + ptrBuffer[idx] = ((ANTLRHashMap *)fNext)->ptrBuffer[idx]; + } + } mode = 0; - } + } return( self ); } @@ -75,26 +78,32 @@ -(id)initWithLen:(NSInteger)aBuffSize { NSInteger idx; - if ((self = [super init]) != nil) { - fNext = nil; + if ((self = [super init]) != nil) { + fNext = nil; BuffSize = aBuffSize; - Scope = 0; - if ( fNext != nil ) { - Scope = ((ANTLRHashMap *)fNext)->Scope+1; - for( idx = 0; idx < BuffSize; idx++ ) { - ptrBuffer[idx] = ((ANTLRHashMap *)fNext)->ptrBuffer[idx]; - } - } + Scope = 0; + ptr = 0; + buffer = [[NSMutableData dataWithLength:(NSUInteger)BuffSize * sizeof(id)] retain]; + ptrBuffer = (ANTLRMapElement **) [buffer mutableBytes]; + if ( fNext != nil ) { + Scope = ((ANTLRHashMap *)fNext)->Scope+1; + for( idx = 0; idx < BuffSize; idx++ ) { + ptrBuffer[idx] = ((ANTLRHashMap *)fNext)->ptrBuffer[idx]; + } + } mode = 0; - } + } return( self ); } -(void)dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRHashMap" ); +#endif ANTLRMapElement *tmp, *rtmp; NSInteger idx; - + if ( self.fNext != nil ) { for( idx = 0; idx < BuffSize; idx++ ) { tmp = ptrBuffer[idx]; @@ -102,20 +111,20 @@ -(void)dealloc rtmp = tmp; // tmp = [tmp getfNext]; tmp = (ANTLRMapElement *)tmp.fNext; - [rtmp dealloc]; + [rtmp release]; } } } - [super dealloc]; + if ( buffer ) [buffer release]; + [super dealloc]; } - (NSInteger)count { - id anElement; NSInteger aCnt = 0; for (NSInteger i = 0; i < BuffSize; i++) { - if ((anElement = ptrBuffer[i]) != nil) { + if ( ptrBuffer[i] != nil ) { aCnt++; } } @@ -124,11 +133,10 @@ - (NSInteger)count - (NSInteger) size { - id anElement; NSInteger aSize = 0; for (NSInteger i = 0; i < BuffSize; i++) { - if ((anElement = ptrBuffer[i]) != nil) { + if ( ptrBuffer[i] != nil ) { aSize += sizeof(id); } } @@ -147,7 +155,7 @@ -(void)deleteANTLRHashMap:(ANTLRMapElement *)np while ( tmp && tmp != (ANTLRLinkBase *)[((ANTLRHashMap *)fNext) getptrBufferEntry:idx] ) { rtmp = tmp; tmp = [tmp getfNext]; - [rtmp dealloc]; + [rtmp release]; } } } @@ -175,7 +183,7 @@ -(ANTLRHashMap *)PopScope:(ANTLRHashMap **)map { NSInteger idx; ANTLRMapElement *tmp; - ANTLRHashMap *htmp; + ANTLRHashMap *htmp; htmp = *map; if ( (*map)->fNext != nil ) { @@ -191,7 +199,7 @@ -(ANTLRHashMap *)PopScope:(ANTLRHashMap **)map * can not forget the debuggers */ htmp->ptrBuffer[idx] = [tmp getfNext]; - [ tmp dealloc]; + [tmp release]; } *map = (ANTLRHashMap *)htmp->fNext; // gScopeLevel--; @@ -213,14 +221,14 @@ -(ANTLRHashMap *)PopScope:(ANTLRHashMap **)map #endif -(NSInteger)hash:(NSString *)s /* form hash value for string s */ { - NSInteger hashval; - const char *tmp; + NSInteger hashval; + const char *tmp; - tmp = [s cStringUsingEncoding:NSASCIIStringEncoding]; - for( hashval = 0; *tmp != '\0'; ) + tmp = [s cStringUsingEncoding:NSASCIIStringEncoding]; + for( hashval = 0; *tmp != '\0'; ) hashval += *tmp++; - self->LastHash = hashval % BuffSize; - return( self->LastHash ); + self->LastHash = hashval % BuffSize; + return( self->LastHash ); } #ifdef USERDOC @@ -319,7 +327,7 @@ -(NSInteger)RemoveSym:(NSString *)s for ( tmp = self->ptrBuffer[idx], np = self->ptrBuffer[idx]; np != nil; np = [np getfNext] ) { if ( [s isEqualToString:[np getName]] ) { tmp = [np getfNext]; /* get the next link */ - [np dealloc]; + [np release]; return( SUCCESS ); /* report SUCCESS */ } tmp = [np getfNext]; // BAD!!!!!! @@ -330,8 +338,8 @@ -(NSInteger)RemoveSym:(NSString *)s -(void)delete_chain:(ANTLRMapElement *)np { if ( [np getfNext] != nil ) - [self delete_chain:[np getfNext]]; - [np dealloc]; + [self delete_chain:[np getfNext]]; + [np dealloc]; } #ifdef DONTUSEYET @@ -352,30 +360,30 @@ -(NSInteger)bld_symtab:(KW_TABLE *)toknams -(ANTLRMapElement *)getptrBufferEntry:(NSInteger)idx { - return( ptrBuffer[idx] ); + return( ptrBuffer[idx] ); } -(ANTLRMapElement **)getptrBuffer { - return( ptrBuffer ); + return( ptrBuffer ); } -(void)setptrBuffer:(ANTLRMapElement *)np Index:(NSInteger)idx { - if ( idx < BuffSize ) { + if ( idx < BuffSize ) { [np retain]; - ptrBuffer[idx] = np; + ptrBuffer[idx] = np; } } -(NSInteger)getScope { - return( Scope ); + return( Scope ); } -(void)setScopeScope:(NSInteger)i { - Scope = i; + Scope = i; } - (ANTLRMapElement *)getTType:(NSString *)name @@ -392,8 +400,8 @@ - (ANTLRMapElement *)getNameInList:(NSInteger)ttype NSInteger aTType; aTType = ttype % BuffSize; - for( np = self->ptrBuffer[ttype]; np != nil; np = [np getfNext] ) { - if ( [np.index integerValue] == ttype ) { + for( np = self->ptrBuffer[aTType]; np != nil; np = [np getfNext] ) { + if ( [(NSNumber *)np.node integerValue] == ttype ) { return( np ); /* found it */ } } @@ -443,8 +451,8 @@ - (void) insertObject:(id)aRule atIndex:(NSInteger)idx if ( idx >= BuffSize ) { idx %= BuffSize; } - if (aRule != ptrBuffer[idx]) { - if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + if ( aRule != ptrBuffer[idx] ) { + if ( ptrBuffer[idx] ) [ptrBuffer[idx] release]; [aRule retain]; } ptrBuffer[idx] = aRule; @@ -465,8 +473,8 @@ - (void) setObject:(id)aRule atIndex:(NSInteger)idx if ( idx >= BuffSize ) { idx %= BuffSize; } - if (aRule != ptrBuffer[idx]) { - if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + if ( aRule != ptrBuffer[idx] ) { + if ( ptrBuffer[idx] ) [ptrBuffer[idx] release]; [aRule retain]; } ptrBuffer[idx] = aRule; @@ -479,7 +487,7 @@ - (void)putName:(NSString *)name Node:(id)aNode np = [self lookup:name Scope:0 ]; if ( np == nil ) { np = [ANTLRMapElement newANTLRMapElementWithName:name Node:aNode]; - if (ptrBuffer[LastHash] != nil) + if ( ptrBuffer[LastHash] ) [ptrBuffer[LastHash] release]; [np retain]; np.fNext = ptrBuffer[ LastHash ]; @@ -490,6 +498,7 @@ - (void)putName:(NSString *)name Node:(id)aNode - (NSEnumerator *)objectEnumerator { +#pragma mark fix this its broken NSEnumerator *anEnumerator; itIndex = 0; @@ -513,4 +522,8 @@ - (ANTLRMapElement *)nextObject } @synthesize BuffSize; +@synthesize count; +@synthesize ptr; +@synthesize ptrBuffer; +@synthesize buffer; @end diff --git a/runtime/ObjC/Framework/ANTLRHashRule.m b/runtime/ObjC/Framework/ANTLRHashRule.m index 6919045f..3bca78f5 100644 --- a/runtime/ObjC/Framework/ANTLRHashRule.m +++ b/runtime/ObjC/Framework/ANTLRHashRule.m @@ -42,34 +42,39 @@ @implementation ANTLRHashRule +(id)newANTLRHashRule { - return [[[ANTLRHashRule alloc] init] retain]; + return [[ANTLRHashRule alloc] init]; } +(id)newANTLRHashRuleWithLen:(NSInteger)aBuffSize { - return [[[ANTLRHashRule alloc] initWithLen:aBuffSize] retain]; + return [[ANTLRHashRule alloc] initWithLen:aBuffSize]; } -(id)init { - if ((self = [super initWithLen:HASHSIZE]) != nil) { - } + self = [super initWithLen:HASHSIZE]; + if ( self != nil ) { + } return( self ); } -(id)initWithLen:(NSInteger)aBuffSize { - if ((self = [super initWithLen:aBuffSize]) != nil) { + self = [super initWithLen:aBuffSize]; + if ( self != nil ) { mode = 0; - } + } return( self ); } -(void)dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRHashRule" ); +#endif ANTLRRuleMemo *tmp, *rtmp; int Index; - + if ( self.fNext != nil ) { for( Index = 0; Index < BuffSize; Index++ ) { tmp = ptrBuffer[Index]; @@ -83,17 +88,15 @@ -(void)dealloc } } } - [super dealloc]; + [super dealloc]; } - (NSInteger)count { - id anElement; NSInteger aCnt = 0; for (int i = 0; i < BuffSize; i++) { - anElement = ptrBuffer[i]; - if ( anElement != nil ) { + if ( ptrBuffer[i] != nil ) { aCnt++; } } @@ -107,11 +110,10 @@ - (NSInteger) length - (NSInteger) size { - id anElement; NSInteger aSize = 0; for (int i = 0; i < BuffSize; i++) { - if ((anElement = ptrBuffer[i]) != nil) { + if ( ptrBuffer[i] != nil ) { aSize += sizeof(id); } } @@ -133,7 +135,7 @@ -(void)deleteANTLRHashRule:(ANTLRRuleMemo *)np tmp = (ANTLRRuleMemo *)tmp.fNext; else tmp = nil; - [rtmp dealloc]; + [rtmp release]; } } } @@ -142,18 +144,18 @@ -(void)deleteANTLRHashRule:(ANTLRRuleMemo *)np -(void)delete_chain:(ANTLRRuleMemo *)np { if ( np.fNext != nil ) - [self delete_chain:np.fNext]; - [np dealloc]; + [self delete_chain:np.fNext]; + [np dealloc]; } -(ANTLRRuleMemo **)getPtrBuffer { - return( ptrBuffer ); + return( ptrBuffer ); } -(void)setPtrBuffer:(ANTLRRuleMemo **)np { - ptrBuffer = np; + ptrBuffer = np; } - (NSNumber *)getRuleMemoStopIndex:(NSInteger)aStartIndex @@ -162,7 +164,7 @@ - (NSNumber *)getRuleMemoStopIndex:(NSInteger)aStartIndex NSNumber *stopIndex; NSInteger anIndex; - anIndex = ( aStartIndex >= BuffSize ) ? aStartIndex %= BuffSize : aStartIndex; + anIndex = ( aStartIndex >= BuffSize ) ? aStartIndex % BuffSize : aStartIndex; if ((aRule = ptrBuffer[anIndex]) == nil) { return nil; } @@ -196,8 +198,9 @@ - (void)putRuleMemoAtStartIndex:(NSInteger)aStartIndex StopIndex:(NSInteger)aSto NSInteger anIndex; NSInteger aMatchIndex; - anIndex = (aStartIndex >= BuffSize) ? aStartIndex %= BuffSize : aStartIndex; - if ((aRule = ptrBuffer[anIndex]) == nil ) { + anIndex = (aStartIndex >= BuffSize) ? aStartIndex % BuffSize : aStartIndex; + aRule = ptrBuffer[anIndex]; + if ( aRule == nil ) { aRule = [ANTLRRuleMemo newANTLRRuleMemoWithStartIndex:[NSNumber numberWithInteger:aStartIndex] StopIndex:[NSNumber numberWithInteger:aStopIndex]]; [aRule retain]; @@ -256,11 +259,9 @@ - (void) insertObject:(ANTLRRuleMemo *)aRule atIndex:(NSInteger)anIndex { NSInteger Index; - Index = ( anIndex >= BuffSize ) ? anIndex %= BuffSize : anIndex; + Index = ( anIndex >= BuffSize ) ? anIndex % BuffSize : anIndex; if (aRule != ptrBuffer[Index]) { - if (ptrBuffer[Index] != nil) { - [ptrBuffer[Index] release]; - } + if ( ptrBuffer[Index] ) [ptrBuffer[Index] release]; [aRule retain]; } ptrBuffer[Index] = aRule; @@ -270,7 +271,7 @@ - (ANTLRRuleMemo *)objectAtIndex:(NSInteger)anIndex { NSInteger anIdx; - anIdx = ( anIndex >= BuffSize ) ? anIndex %= BuffSize : anIndex; + anIdx = ( anIndex >= BuffSize ) ? anIndex % BuffSize : anIndex; return ptrBuffer[anIdx]; } diff --git a/runtime/ObjC/Framework/ANTLRIntArray.h b/runtime/ObjC/Framework/ANTLRIntArray.h index d1c872b0..9182377f 100644 --- a/runtime/ObjC/Framework/ANTLRIntArray.h +++ b/runtime/ObjC/Framework/ANTLRIntArray.h @@ -28,13 +28,17 @@ // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #import -#import "ANTLRPtrBuffer.h" #define ANTLR_INT_ARRAY_INITIAL_SIZE 10 -@interface ANTLRIntArray : ANTLRPtrBuffer +@interface ANTLRIntArray : NSObject { - NSUInteger *ip; + NSUInteger BuffSize; + NSUInteger count; + NSInteger idx; + NSMutableData *buffer; + __strong NSInteger *intBuffer; + BOOL SPARSE; } + (ANTLRIntArray *)newArray; @@ -47,16 +51,24 @@ - (id) copyWithZone:(NSZone *)aZone; -- (void) addInteger:(NSInteger) v; -- (void) push:(NSInteger) v; +- (void) addInteger:(NSInteger) value; - (NSInteger) pop; -- (NSInteger) integerAtIndex:(NSUInteger) i; -- (void) insertInteger:(NSInteger)anInteger AtIndex:(NSUInteger) idx; +- (void) push:(NSInteger) value; +- (NSInteger) integerAtIndex:(NSUInteger) index; +- (void) insertInteger:(NSInteger)anInteger AtIndex:(NSUInteger) anIndex; +- (NSInteger)removeIntegerAtIndex:(NSUInteger) anIndex; +- (void)replaceInteger:(NSInteger)aValue AtIndex:(NSUInteger)anIndex; - (void) reset; - (NSUInteger) count; - (NSUInteger) size; -- (void) ensureCapacity:(NSUInteger) index; +- (void) ensureCapacity:(NSUInteger) anIndex; + +@property (assign) NSUInteger BuffSize; +@property (assign) NSUInteger count; +@property (assign) NSInteger idx; +@property (retain) NSMutableData *buffer; +@property (assign) NSInteger *intBuffer; +@property (assign) BOOL SPARSE; -@property NSUInteger *ip; @end diff --git a/runtime/ObjC/Framework/ANTLRIntArray.m b/runtime/ObjC/Framework/ANTLRIntArray.m index f338ea70..f7153725 100644 --- a/runtime/ObjC/Framework/ANTLRIntArray.m +++ b/runtime/ObjC/Framework/ANTLRIntArray.m @@ -29,112 +29,171 @@ // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #import "ANTLRIntArray.h" - +#import "ANTLRRuntimeException.h" @implementation ANTLRIntArray +@synthesize BuffSize; +@synthesize count; +@synthesize idx; +@synthesize buffer; +@synthesize intBuffer; +@synthesize SPARSE; + + (ANTLRIntArray *)newArray { - return [[[ANTLRIntArray alloc] init] retain]; + return [[ANTLRIntArray alloc] init]; } + (ANTLRIntArray *)newArrayWithLen:(NSUInteger)aLen { - return [[[ANTLRIntArray alloc] initWithLen:aLen] retain]; + return [[ANTLRIntArray alloc] initWithLen:aLen]; } --(id) init +- (id)init { - if ((self = [super initWithLen:ANTLR_INT_ARRAY_INITIAL_SIZE]) != nil) { - ip = (NSUInteger *)ptrBuffer; - } - return self; + self = [super init]; + if ( self != nil ) { + BuffSize = (ANTLR_INT_ARRAY_INITIAL_SIZE * (sizeof(NSInteger)/sizeof(id))); + count = 0; + idx = -1; + buffer = [[NSMutableData dataWithLength:(NSUInteger)BuffSize * sizeof(id)] retain]; + intBuffer = (NSInteger *)[buffer mutableBytes]; + SPARSE = NO; + } + return self; } --(id) initWithLen:(NSUInteger)aLen +- (id)initWithLen:(NSUInteger)aLen { - if ((self = [super initWithLen:aLen]) != nil) { - ip = (NSUInteger *)ptrBuffer; - } - return self; + self = [super init]; + if ( self != nil ) { + BuffSize = (ANTLR_INT_ARRAY_INITIAL_SIZE * (sizeof(NSInteger)/sizeof(id))); + count = 0; + idx = -1; + buffer = [[NSMutableData dataWithLength:(NSUInteger)BuffSize * sizeof(id)] retain]; + intBuffer = (NSInteger *)[buffer mutableBytes]; + SPARSE = NO; + } + return self; } --(void) dealloc +- (void)dealloc { - [super dealloc]; +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRIntArray" ); +#endif + if ( buffer ) [buffer release]; + [super dealloc]; } -- (id) copyWithZone:(NSZone *)aZone +- (id)copyWithZone:(NSZone *)aZone { ANTLRIntArray *copy; - copy = [super copyWithZone:aZone]; + copy = [[[self class] alloc] initWithLen:BuffSize]; + copy.idx = self.idx; + NSInteger anIndex; + for ( anIndex = 0; anIndex < BuffSize; anIndex++ ) { + [copy addInteger:intBuffer[anIndex]]; + } return copy; } - (NSUInteger)count { - return ptr; + return count; } // FIXME: Java runtime returns p, I'm not so sure it's right so have added p + 1 to show true size! --(NSUInteger) size +- (NSUInteger)size { - return (ptr * sizeof(NSUInteger)); + if ( count > 0 ) + return ( count * sizeof(NSInteger)); + return 0; } --(void) addInteger:(NSInteger) v +- (void)addInteger:(NSInteger) value { - [self ensureCapacity:ptr]; - ip[ptr++] = (NSInteger) v; + [self ensureCapacity:idx+1]; + intBuffer[++idx] = (NSInteger) value; + count++; } --(void) push:(NSInteger) v +- (NSInteger)pop { - [self addInteger:v]; + if ( idx < 0 ) { + @throw [ANTLRIllegalArgumentException newException:[NSString stringWithFormat:@"Nothing to pop, count = %d", count]]; + } + NSInteger value = (NSInteger) intBuffer[idx--]; + count--; + return value; } --(NSInteger) pop +- (void)push:(NSInteger)aValue { - NSInteger v = (NSInteger) ip[--ptr]; - return v; + [self addInteger:aValue]; } --(NSInteger) integerAtIndex:(NSUInteger) i +- (NSInteger)integerAtIndex:(NSUInteger) anIndex { - if (i >= BuffSize) { + if ( SPARSE==NO && anIndex > idx ) { + @throw [ANTLRIllegalArgumentException newException:[NSString stringWithFormat:@"Index %d must be less than count %d", anIndex, count]]; + } + else if ( SPARSE == YES && anIndex >= BuffSize ) { + @throw [ANTLRIllegalArgumentException newException:[NSString stringWithFormat:@"Index %d must be less than BuffSize %d", anIndex, BuffSize]]; + } + return intBuffer[anIndex]; +} + +- (void)insertInteger:(NSInteger)aValue AtIndex:(NSUInteger)anIndex +{ + [self replaceInteger:aValue AtIndex:anIndex]; + count++; +} + +- (NSInteger)removeIntegerAtIndex:(NSUInteger) anIndex +{ + if ( SPARSE==NO && anIndex > idx ) { + @throw [ANTLRIllegalArgumentException newException:[NSString stringWithFormat:@"Index %d must be less than count %d", anIndex, count]]; return (NSInteger)-1; + } else if ( SPARSE==YES && anIndex >= BuffSize ) { + @throw [ANTLRIllegalArgumentException newException:[NSString stringWithFormat:@"Index %d must be less than BuffSize %d", anIndex, BuffSize]]; } - return (NSInteger) ip[i]; + count--; + return intBuffer[anIndex]; } --(void) insertInteger:(NSInteger)anInteger AtIndex:(NSUInteger)idx +- (void)replaceInteger:(NSInteger)aValue AtIndex:(NSUInteger)anIndex { - if ( idx >= BuffSize ) { - [self ensureCapacity:idx]; + if ( SPARSE == NO && anIndex > idx ) { + @throw [ANTLRIllegalArgumentException newException:[NSString stringWithFormat:@"Index %d must be less than count %d", anIndex, count]]; + } + else if ( SPARSE == YES && anIndex >= BuffSize ) { + @throw [ANTLRIllegalArgumentException newException:[NSString stringWithFormat:@"Index %d must be less than BuffSize %d", anIndex, BuffSize]]; } - ip[idx] = (NSInteger) anInteger; + intBuffer[anIndex] = aValue; } + -(void) reset { - ptr = 0; + count = 0; + idx = -1; } - (void) ensureCapacity:(NSUInteger) anIndex { - if ((anIndex * sizeof(NSUInteger)) >= [buffer length]) - { - NSUInteger newSize = ([buffer length] / sizeof(NSUInteger)) * 2; - if (anIndex > newSize) { - newSize = anIndex + 1; - } + if ( (anIndex * sizeof(NSUInteger)) >= [buffer length] ) + { + NSUInteger newSize = ([buffer length] / sizeof(NSInteger)) * 2; + if (anIndex > newSize) { + newSize = anIndex + 1; + } BuffSize = newSize; - [buffer setLength:(BuffSize * sizeof(NSUInteger))]; - ptrBuffer = (id *)[buffer mutableBytes]; - ip = (NSUInteger *)ptrBuffer; - } + [buffer setLength:(BuffSize * sizeof(NSUInteger))]; + intBuffer = (NSInteger *)[buffer mutableBytes]; + } } -@synthesize ip; @end diff --git a/runtime/ObjC/Framework/ANTLRIntStream.h b/runtime/ObjC/Framework/ANTLRIntStream.h index 3790cd9b..e37f907e 100644 --- a/runtime/ObjC/Framework/ANTLRIntStream.h +++ b/runtime/ObjC/Framework/ANTLRIntStream.h @@ -24,6 +24,10 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#ifndef DEBUG_DEALLOC +#define DEBUG_DEALLOC +#endif + @protocol ANTLRIntStream < NSObject, NSCopying > - (void) consume; @@ -42,7 +46,11 @@ // Return the current input symbol index 0..n where n indicates the // last symbol has been read. -- (NSInteger) getIndex; +- (NSInteger) index; + +- (NSUInteger) line; + +- (NSUInteger) charPositionInLine; // Reset the stream so that next call to index would return marker. // The marker will usually be -index but it doesn't have to be. It's @@ -77,7 +85,7 @@ // Currently, this method is only used for efficient backtracking, but // in the future it may be used for incremental parsing. -- (void) seek:(NSInteger) index; +- (void) seek:(NSInteger) anIndex; /** Only makes sense for streams that buffer everything up probably, but * might be useful to display the entire stream or for testing. This @@ -90,4 +98,9 @@ */ - (NSString *)getSourceName; +//@property (assign) NSInteger index; +//@property (assign) NSUInteger line; +//@property (assign) NSUInteger charPositionInLine; + + @end diff --git a/runtime/ObjC/Framework/ANTLRLexer.h b/runtime/ObjC/Framework/ANTLRLexer.h index 75767354..cd985ccc 100644 --- a/runtime/ObjC/Framework/ANTLRLexer.h +++ b/runtime/ObjC/Framework/ANTLRLexer.h @@ -41,7 +41,7 @@ NSUInteger ruleNestingLevel; } -@property (retain, getter=getInput, setter=setInput:) id input; +@property (retain, getter=input, setter=setInput:) id input; @property (getter=getRuleNestingLevel, setter=setRuleNestingLevel:) NSUInteger ruleNestingLevel; #pragma mark Initializer @@ -60,7 +60,7 @@ - (id) nextToken; - (void) mTokens; // abstract, defined in generated sources - (void) skip; -- (id) getInput; +- (id) input; - (void) setInput:(id)aCharStream; - (void) emit; @@ -73,15 +73,15 @@ - (void) matchRangeFromChar:(unichar)fromChar to:(unichar)toChar; #pragma mark Informational -- (NSUInteger) getLine; -- (NSUInteger) getCharPositionInLine; -- (NSInteger) getIndex; -- (NSString *) getText; +- (NSUInteger) line; +- (NSUInteger) charPositionInLine; +- (NSInteger) index; +- (NSString *) text; - (void) setText:(NSString *) theText; // error handling - (void) reportError:(ANTLRRecognitionException *)e; -- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSMutableArray *)tokenNames; +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(AMutableArray *)tokenNames; - (NSString *)getCharErrorDisplay:(NSInteger)c; - (void) recover:(ANTLRRecognitionException *)e; - (void)traceIn:(NSString *)ruleName Index:(NSInteger)ruleIndex; diff --git a/runtime/ObjC/Framework/ANTLRLexer.m b/runtime/ObjC/Framework/ANTLRLexer.m index 62dc6859..de1a0a30 100644 --- a/runtime/ObjC/Framework/ANTLRLexer.m +++ b/runtime/ObjC/Framework/ANTLRLexer.m @@ -24,20 +24,20 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - +#import #import "ANTLRLexer.h" @implementation ANTLRLexer @synthesize input; @synthesize ruleNestingLevel; -// init #pragma mark Initializer - (id) initWithCharStream:(id)anInput { - if ((self = [super initWithState:[[ANTLRRecognizerSharedState alloc] init]]) != nil) { - input = anInput; + self = [super initWithState:[[ANTLRRecognizerSharedState alloc] init]]; + if ( self != nil ) { + input = [anInput retain]; if (state.token != nil) [((ANTLRCommonToken *)state.token) setInput:anInput]; ruleNestingLevel = 0; @@ -47,8 +47,9 @@ - (id) initWithCharStream:(id)anInput - (id) initWithCharStream:(id)anInput State:(ANTLRRecognizerSharedState *)aState { - if ((self = [super initWithState:aState]) != nil) { - input = anInput; + self = [super initWithState:aState]; + if ( self != nil ) { + input = [anInput retain]; if (state.token != nil) [((ANTLRCommonToken *)state.token) setInput:anInput]; ruleNestingLevel = 0; @@ -58,9 +59,7 @@ - (id) initWithCharStream:(id)anInput State:(ANTLRRecognizerSha - (void) dealloc { - [self setToken:nil]; - [self setInput:nil]; - [self setText:nil]; + if ( input ) [input release]; [super dealloc]; } @@ -106,6 +105,7 @@ - (void) reset - (void) setToken: (id) aToken { if (state.token != aToken) { + [aToken retain]; state.token = aToken; } } @@ -117,20 +117,20 @@ - (void) setToken: (id) aToken while (YES) { [self setToken:nil]; state.channel = ANTLRCommonToken.DEFAULT_CHANNEL; - state.tokenStartCharIndex = [input getIndex]; - state.tokenStartCharPositionInLine = [input getCharPositionInLine]; - state.tokenStartLine = [input getLine]; + state.tokenStartCharIndex = input.index; + state.tokenStartCharPositionInLine = input.charPositionInLine; + state.tokenStartLine = input.line; state.text = nil; - // [self setText:[self getText]]; + // [self setText:[self text]]; if ([input LA:1] == ANTLRCharStreamEOF) { ANTLRCommonToken *eof = [ANTLRCommonToken newToken:input Type:ANTLRTokenTypeEOF Channel:ANTLRCommonToken.DEFAULT_CHANNEL - Start:[input getIndex] - Stop:[input getIndex]]; - [eof setLine:[self getLine]]; - [eof setCharPositionInLine:[self getCharPositionInLine]]; + Start:input.index + Stop:input.index]; + [eof setLine:input.line]; + [eof setCharPositionInLine:input.charPositionInLine]; return eof; } @try { @@ -164,16 +164,20 @@ - (void) skip state.token = [ANTLRCommonToken skipToken]; } -- (id) getInput +- (id) input { return input; } - (void) setInput:(id) anInput { + if ( anInput != input ) { + if ( input ) [input release]; + } input = nil; [self reset]; input = anInput; + [input retain]; } /** Currently does not support multiple emits per nextToken invocation @@ -201,10 +205,10 @@ - (void) emit Type:state.type Channel:state.channel Start:state.tokenStartCharIndex - Stop:[input getIndex]-1]; + Stop:input.index-1]; [aToken setLine:state.tokenStartLine]; - aToken.text = [self getText]; - [aToken setCharPositionInLine:[state getCharPositionInLine]]; + aToken.text = [self text]; + [aToken setCharPositionInLine:state.tokenStartCharPositionInLine]; [aToken retain]; [self emit:aToken]; // [aToken release]; @@ -214,15 +218,18 @@ - (void) emit #pragma mark Matching - (void) matchString:(NSString *)aString { + unichar c; unsigned int i = 0; unsigned int stringLength = [aString length]; while ( i < stringLength ) { - if ((unichar)[input LA:1] != [aString characterAtIndex:i]) { + c = [input LA:1]; + if ( c != [aString characterAtIndex:i] ) { if ([state getBacktracking] > 0) { state.failed = YES; return; } ANTLRMismatchedTokenException *mte = [ANTLRMismatchedTokenException newExceptionChar:[aString characterAtIndex:i] Stream:input]; + mte.c = c; [self recover:mte]; @throw mte; } @@ -241,12 +248,15 @@ - (void) matchChar:(unichar) aChar { // TODO: -LA: is returning an int because it sometimes is used in the generated parser to compare lookahead with a tokentype. // try to change all those occurrences to -LT: if possible (i.e. if ANTLR can be made to generate LA only for lexer code) - if ((unichar)[input LA:1] != aChar) { + unichar charLA; + charLA = [input LA:1]; + if ( charLA != aChar) { if ([state getBacktracking] > 0) { state.failed = YES; return; } ANTLRMismatchedTokenException *mte = [ANTLRMismatchedTokenException newExceptionChar:aChar Stream:input]; + mte.c = charLA; [self recover:mte]; @throw mte; } @@ -265,6 +275,7 @@ - (void) matchRangeFromChar:(unichar)fromChar to:(unichar)toChar ANTLRMismatchedRangeException *mre = [ANTLRMismatchedRangeException newException:NSMakeRange((NSUInteger)fromChar,(NSUInteger)toChar) stream:input]; + mre.c = charLA; [self recover:mre]; @throw mre; } @@ -275,27 +286,27 @@ - (void) matchRangeFromChar:(unichar)fromChar to:(unichar)toChar // info #pragma mark Informational -- (NSUInteger) getLine +- (NSUInteger) line { - return [input getLine]; + return input.line; } -- (NSUInteger) getCharPositionInLine +- (NSUInteger) charPositionInLine { - return [input getCharPositionInLine]; + return input.charPositionInLine; } -- (NSInteger) getIndex +- (NSInteger) index { - return [input getIndex]; + return 0; } -- (NSString *) getText +- (NSString *) text { if (state.text != nil) { return state.text; } - return [input substringWithRange:NSMakeRange(state.tokenStartCharIndex, [input getIndex]-state.tokenStartCharIndex)]; + return [input substringWithRange:NSMakeRange(state.tokenStartCharIndex, input.index-state.tokenStartCharIndex)]; } - (void) setText:(NSString *) theText @@ -320,51 +331,50 @@ - (void) reportError:(ANTLRRecognitionException *)e [self displayRecognitionError:[self getTokenNames] Exception:e]; } -- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSMutableArray *)tokenNames +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(AMutableArray *)tokenNames { - NSString *msg = [NSString stringWithFormat:@"Gotta fix getErrorMessage in ANTLRLexer.m--%@\n", +/* NSString *msg = [NSString stringWithFormat:@"Gotta fix getErrorMessage in ANTLRLexer.m--%@\n", e.name]; -#ifdef DONTUSEYET + */ NSString *msg = nil; if ( [e isKindOfClass:[ANTLRMismatchedTokenException class]] ) { ANTLRMismatchedTokenException *mte = (ANTLRMismatchedTokenException *)e; - msg = [NSString stringWithFormat:@"mismatched character %@ expecting %@\n", - [self getCharErrorDisplay:e.c], [self getCharErrorDisplay:mte.expecting]]; + msg = [NSString stringWithFormat:@"mismatched character \"%@\" expecting \"%@\"", + [self getCharErrorDisplay:mte.c], [self getCharErrorDisplay:mte.expecting]]; } else if ( [e isKindOfClass:[ANTLRNoViableAltException class]] ) { ANTLRNoViableAltException *nvae = (ANTLRNoViableAltException *)e; // for development, can add "decision=<<"+nvae.grammarDecisionDescription+">>" // and "(decision="+nvae.decisionNumber+") and // "state "+nvae.stateNumber - msg = [NSString stringWithFormat:@"no viable alternative at character %c\n", - [self getCharErrorDisplay:(e.c)]]; + msg = [NSString stringWithFormat:@"no viable alternative at character \"%@\"", + [self getCharErrorDisplay:(nvae.c)]]; } else if ( [e isKindOfClass:[ANTLREarlyExitException class]] ) { - // ANTLREarlyExitException *eee = (ANTLREarlyExitException *)e; + ANTLREarlyExitException *eee = (ANTLREarlyExitException *)e; // for development, can add "(decision="+eee.decisionNumber+")" - msg = [NSString stringWithFormat:@"required (...)+ loop did not match anything at character %c", - [self getCharErrorDisplay:(e.c)]]; + msg = [NSString stringWithFormat:@"required (...)+ loop did not match anything at character \"%@\"", + [self getCharErrorDisplay:(eee.c)]]; } else if ( [e isKindOfClass:[ANTLRMismatchedNotSetException class]] ) { ANTLRMismatchedNotSetException *mse = (ANTLRMismatchedNotSetException *)e; - msg = [NSString stringWithFormat:@"mismatched character %c expecting set %@", - [self getCharErrorDisplay:(e.c)], mse.expecting]; + msg = [NSString stringWithFormat:@"mismatched character \"%@\" expecting set \"%@\"", + [self getCharErrorDisplay:(mse.c)], mse.expecting]; } else if ( [e isKindOfClass:[ANTLRMismatchedSetException class]] ) { ANTLRMismatchedSetException *mse = (ANTLRMismatchedSetException *)e; - msg = [NSString stringWithFormat:@"mismatched character %c expecting set %@", - [self getCharErrorDisplay:(e.c)], mse.expecting]; + msg = [NSString stringWithFormat:@"mismatched character \"%@\" expecting set \"%@\"", + [self getCharErrorDisplay:(mse.c)], mse.expecting]; } else if ( [e isKindOfClass:[ANTLRMismatchedRangeException class]] ) { ANTLRMismatchedRangeException *mre = (ANTLRMismatchedRangeException *)e; - msg = [NSString stringWithFormat:@"mismatched character %c %@..%@\n", - [self getCharErrorDisplay:(e.c)], [self getCharErrorDisplay:(mre.a)], - [self getCharErrorDisplay:(mre.b)]]; + msg = [NSString stringWithFormat:@"mismatched character \"%@\" \"%@..%@\"", + [self getCharErrorDisplay:(mre.c)], [self getCharErrorDisplay:(mre.range.location)], + [self getCharErrorDisplay:(mre.range.location+mre.range.length-1)]]; } else { msg = [super getErrorMessage:e TokenNames:[self getTokenNames]]; } -#endif return msg; } @@ -385,7 +395,7 @@ - (NSString *)getCharErrorDisplay:(NSInteger)c s = @"\\r"; break; default: - s = [NSString stringWithFormat:@"%c\n", (char)c]; + s = [NSString stringWithFormat:@"%c", (char)c]; break; } return s; @@ -405,13 +415,13 @@ - (void)recover:(ANTLRRecognitionException *)re - (void)traceIn:(NSString *)ruleName Index:(NSInteger)ruleIndex { - NSString *inputSymbol = [NSString stringWithFormat:@"%c line=%d:%d\n", [input LT:1], [self getLine], [self getCharPositionInLine]]; + NSString *inputSymbol = [NSString stringWithFormat:@"%c line=%d:%d\n", [input LT:1], input.line, input.charPositionInLine]; [super traceIn:ruleName Index:ruleIndex Object:inputSymbol]; } - (void)traceOut:(NSString *)ruleName Index:(NSInteger)ruleIndex { - NSString *inputSymbol = [NSString stringWithFormat:@"%c line=%d:%d\n", [input LT:1], [self getLine], [self getCharPositionInLine]]; + NSString *inputSymbol = [NSString stringWithFormat:@"%c line=%d:%d\n", [input LT:1], input.line, input.charPositionInLine]; [super traceOut:ruleName Index:ruleIndex Object:inputSymbol]; } diff --git a/runtime/ObjC/Framework/ANTLRLexerRuleReturnScope.m b/runtime/ObjC/Framework/ANTLRLexerRuleReturnScope.m index 298dde74..ac693806 100644 --- a/runtime/ObjC/Framework/ANTLRLexerRuleReturnScope.m +++ b/runtime/ObjC/Framework/ANTLRLexerRuleReturnScope.m @@ -29,19 +29,19 @@ @implementation ANTLRLexerRuleReturnScope -@synthesize startToken; +@synthesize start; //---------------------------------------------------------- // start //---------------------------------------------------------- - (NSInteger) getStart { - return startToken; + return start; } - (void) setStart: (NSInteger) aStart { - startToken = aStart; + start = aStart; } //---------------------------------------------------------- diff --git a/runtime/ObjC/Framework/ANTLRLexerState.h b/runtime/ObjC/Framework/ANTLRLexerState.h index e18de127..7132a484 100644 --- a/runtime/ObjC/Framework/ANTLRLexerState.h +++ b/runtime/ObjC/Framework/ANTLRLexerState.h @@ -36,22 +36,22 @@ - (id) getToken; - (void) setToken:(id) theToken; -- (unsigned int) getTokenType; +- (NSUInteger) getTokenType; - (void) setTokenType:(unsigned int) theTokenType; -- (unsigned int) getChannel; +- (NSUInteger) channel; - (void) setChannel:(unsigned int) theChannel; -- (unsigned int) getTokenStartLine; +- (NSUInteger) getTokenStartLine; - (void) setTokenStartLine:(unsigned int) theTokenStartLine; -- (unsigned int) getTokenCharPositionInLine; +- (NSUInteger) getTokenCharPositionInLine; - (void) setTokenCharPositionInLine:(unsigned int) theCharPosition; -- (int) getTokenStartCharIndex; +- (NSInteger) getTokenStartCharIndex; - (void) setTokenStartCharIndex:(int) theTokenStartCharIndex; -- (NSString *) getText; +- (NSString *) text; - (void) setText:(NSString *) theText; @end diff --git a/runtime/ObjC/Framework/ANTLRLexerState.m b/runtime/ObjC/Framework/ANTLRLexerState.m index 33ed2cb4..88284b71 100644 --- a/runtime/ObjC/Framework/ANTLRLexerState.m +++ b/runtime/ObjC/Framework/ANTLRLexerState.m @@ -51,6 +51,9 @@ - (void) reset - (void) dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRLexerState" ); +#endif [self setText:nil]; [self setToken:nil]; [super dealloc]; @@ -64,38 +67,38 @@ - (void) dealloc - (void) setToken:(id) theToken { if (theToken != token) { - [token release]; + if ( token ) [token release]; token = [theToken retain]; } } -- (unsigned int) getTokenType +- (NSUInteger) getTokenType { return type; } -- (void) setTokenType:(unsigned int) theTokenType +- (void) setTokenType:(NSUInteger) theTokenType { type = theTokenType; } -- (unsigned int) getChannel +- (NSUInteger)channel { return channel; } -- (void) setChannel:(unsigned int) theChannel +- (void) setChannel:(NSUInteger) theChannel { channel = theChannel; } -- (unsigned int) getTokenStartLine +- (NSUInteger) getTokenStartLine { return tokenStartLine; } -- (void) setTokenStartLine:(unsigned int) theTokenStartLine +- (void) setTokenStartLine:(NSUInteger) theTokenStartLine { tokenStartLine = theTokenStartLine; } @@ -120,7 +123,7 @@ - (void) setTokenStartCharIndex:(int) theTokenStartCharIndex tokenStartCharIndex = theTokenStartCharIndex; } -- (NSString *) getText +- (NSString *) text { return text; } @@ -128,7 +131,7 @@ - (NSString *) getText - (void) setText:(NSString *) theText { if (text != theText) { - [text release]; + if ( text ) [text release]; text = [theText retain]; } } diff --git a/runtime/ObjC/Framework/ANTLRLinkBase.h b/runtime/ObjC/Framework/ANTLRLinkBase.h index 856791f9..f4c337ec 100644 --- a/runtime/ObjC/Framework/ANTLRLinkBase.h +++ b/runtime/ObjC/Framework/ANTLRLinkBase.h @@ -31,6 +31,10 @@ #import +#ifndef DEBUG_DEALLOC +#define DEBUG_DEALLOC +#endif + @protocol ANTLRLinkList + (id)newANTLRLinkBase; diff --git a/runtime/ObjC/Framework/ANTLRLinkBase.m b/runtime/ObjC/Framework/ANTLRLinkBase.m index 01b9d7be..d352993c 100644 --- a/runtime/ObjC/Framework/ANTLRLinkBase.m +++ b/runtime/ObjC/Framework/ANTLRLinkBase.m @@ -66,6 +66,9 @@ @implementation ANTLRLinkBase -(void)dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRLinkBase" ); +#endif if (fNext) [fNext dealloc]; if (fPrev) [fPrev dealloc]; [super dealloc]; @@ -81,8 +84,6 @@ - (id) copyWithZone:(NSZone *)aZone return( copy ); } - - -(id)append:(id)node { node.fPrev = (id)self; diff --git a/runtime/ObjC/Framework/ANTLRLookaheadStream.h b/runtime/ObjC/Framework/ANTLRLookaheadStream.h index da7430d5..3ec121ea 100644 --- a/runtime/ObjC/Framework/ANTLRLookaheadStream.h +++ b/runtime/ObjC/Framework/ANTLRLookaheadStream.h @@ -36,7 +36,7 @@ @interface ANTLRLookaheadStream : ANTLRFastQueue { - NSInteger currentElementIndex; + NSInteger index; NSInteger eofElementIndex; NSInteger lastMarker; NSInteger markDepth; @@ -45,13 +45,13 @@ } @property (readwrite, retain, getter=getEof, setter=setEof:) id eof; -@property (assign, getter=getIndex, setter=setIndex:) NSInteger currentElementIndex; +@property (assign) NSInteger index; @property (assign, getter=getEofElementIndex, setter=setEofElementIndex:) NSInteger eofElementIndex; @property (assign, getter=getLastMarker, setter=setLastMarker:) NSInteger lastMarker; @property (assign, getter=getMarkDepth, setter=setMarkDepth:) NSInteger markDepth; @property (retain) id prevElement; -- (id) initWithEOF:(id) o; +- (id) initWithEOF:(id) obj; - (id) nextElement; - (id) remove; - (void) consume; @@ -60,8 +60,6 @@ - (id) LT:(NSInteger) i; - (id) LB:(NSInteger) i; - (id) getCurrentSymbol; -- (NSInteger) getIndex; -- (void) setIndex:(NSInteger)i; - (NSInteger) mark; - (void) release:(NSInteger) marker; - (void) rewind:(NSInteger) marker; diff --git a/runtime/ObjC/Framework/ANTLRLookaheadStream.m b/runtime/ObjC/Framework/ANTLRLookaheadStream.m index 2f7dd5cb..57e489e7 100644 --- a/runtime/ObjC/Framework/ANTLRLookaheadStream.m +++ b/runtime/ObjC/Framework/ANTLRLookaheadStream.m @@ -38,6 +38,7 @@ @implementation ANTLRLookaheadStream @synthesize eof; +@synthesize index; @synthesize eofElementIndex; @synthesize lastMarker; @synthesize markDepth; @@ -45,19 +46,21 @@ @implementation ANTLRLookaheadStream -(id) init { - if ((self = [super init]) != nil) { - eof = [ANTLRCommonToken eofToken]; + self = [super init]; + if ( self != nil ) { + eof = [[ANTLRCommonToken eofToken] retain]; eofElementIndex = UNITIALIZED_EOF_ELEMENT_INDEX; markDepth = 0; - currentElementIndex = 0; + index = 0; } return self; } --(id) initWithEOF:(id) obj +-(id) initWithEOF:(id)obj { if ((self = [super init]) != nil) { self.eof = obj; + if ( self.eof ) [self.eof retain]; } return self; } @@ -65,7 +68,7 @@ -(id) initWithEOF:(id) obj - (void) reset { [super reset]; - currentElementIndex = 0; + index = 0; p = 0; prevElement = nil; eofElementIndex = UNITIALIZED_EOF_ELEMENT_INDEX; @@ -79,41 +82,43 @@ -(id) nextElement - (id) remove { - id o = [self objectAtIndex:0]; + id obj = [self objectAtIndex:0]; p++; // have we hit end of buffer and not backtracking? if ( p == [data count] && markDepth==0 ) { // if so, it's an opportunity to start filling at index 0 again [self clear]; // size goes to 0, but retains memory } - return o; + [obj release]; + return obj; } -(void) consume { [self sync:1]; prevElement = [self remove]; - currentElementIndex++; + index++; } -(void) sync:(NSInteger) need { NSInteger n = (p + need - 1) - [data count] + 1; - if (n > 0) { + if ( n > 0 ) { [self fill:n]; } } -(void) fill:(NSInteger) n { + id obj; for (NSInteger i = 1; i <= n; i++) { - id o = [self nextElement]; - if (o == eof) { + obj = [self nextElement]; + if ( obj == eof ) { [data addObject:self.eof]; eofElementIndex = [data count] - 1; } else { - [data addObject:o]; + [data addObject:obj]; } } } @@ -151,16 +156,6 @@ -(id) getCurrentSymbol return [self LT:1]; } --(NSInteger) getIndex -{ - return currentElementIndex; -} - -- (void) setIndex:(NSInteger)i -{ - currentElementIndex = i; -} - -(NSInteger) mark { markDepth++; diff --git a/runtime/ObjC/Framework/ANTLRMap.m b/runtime/ObjC/Framework/ANTLRMap.m index e3f65c11..6bfb0883 100644 --- a/runtime/ObjC/Framework/ANTLRMap.m +++ b/runtime/ObjC/Framework/ANTLRMap.m @@ -76,6 +76,9 @@ -(id)initWithLen:(NSInteger)aBuffSize -(void)dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRMMap" ); +#endif ANTLRMapElement *tmp, *rtmp; NSInteger idx; @@ -85,7 +88,7 @@ -(void)dealloc while ( tmp ) { rtmp = tmp; tmp = (ANTLRMapElement *)tmp.fNext; - [rtmp dealloc]; + [rtmp release]; } } } @@ -103,7 +106,7 @@ -(void)deleteANTLRMap:(ANTLRMapElement *)np while ( tmp ) { rtmp = tmp; tmp = [tmp getfNext]; - [rtmp dealloc]; + [rtmp release]; } } } @@ -252,7 +255,7 @@ -(NSInteger)RemoveSym:(NSString *)s for ( tmp = self->ptrBuffer[idx], np = self->ptrBuffer[idx]; np != nil; np = [np getfNext] ) { if ( [s isEqualToString:[np getName]] ) { tmp = [np getfNext]; /* get the next link */ - [np dealloc]; + [np release]; return( SUCCESS ); /* report SUCCESS */ } tmp = [np getfNext]; // BAD!!!!!! @@ -264,7 +267,7 @@ -(void)delete_chain:(ANTLRMapElement *)np { if ( [np getfNext] != nil ) [self delete_chain:[np getfNext]]; - [np dealloc]; + [np release]; } #ifdef DONTUSEYET @@ -293,7 +296,7 @@ - (ANTLRMapElement *)getName:(NSInteger)ttype aTType = ttype % HASHSIZE; for( np = self->ptrBuffer[ttype]; np != nil; np = [np getfNext] ) { - if ( [np.index integerValue] == ttype ) { + if ( [(NSNumber *)np.node integerValue] == ttype ) { return( np ); /* found it */ } } @@ -305,10 +308,10 @@ - (NSInteger)getNode:(id)aNode ANTLRMapElement *np; NSInteger idx; - idx = [(id)aNode getType]; + idx = [(id)aNode type]; idx %= HASHSIZE; np = ptrBuffer[idx]; - return( [(NSNumber *)np.index integerValue] ); + return( [(NSNumber *)np.node integerValue] ); } - (ANTLRMapElement *)getTType:(NSString *)name diff --git a/runtime/ObjC/Framework/ANTLRMapElement.m b/runtime/ObjC/Framework/ANTLRMapElement.m index 879e1506..bce1c9f4 100644 --- a/runtime/ObjC/Framework/ANTLRMapElement.m +++ b/runtime/ObjC/Framework/ANTLRMapElement.m @@ -65,7 +65,8 @@ + (id) newANTLRMapElementWithObj1:(id)anObj1 Obj2:(id)anObj2 - (id) init { - if ((self = [super init]) != nil) { + self = [super init]; + if ( self != nil ) { index = nil; name = nil; } @@ -74,48 +75,55 @@ - (id) init - (id) initWithName:(NSString *)aName Type:(NSInteger)aTType { - if ((self = [super init]) != nil) { - index = [NSNumber numberWithInteger: aTType]; - [index retain]; - name = [NSString stringWithString:aName]; - [name retain]; + self = [super init]; + if ( self != nil ) { + index = [[NSNumber numberWithInteger: aTType] retain]; + name = [[NSString stringWithString:aName] retain]; } return self; } - (id) initWithNode:(NSInteger)aTType Node:(id)aNode { - if ((self = [super init]) != nil) { - index = [NSNumber numberWithInteger: aTType]; - [index retain]; + self = [super initWithAnIndex:[NSNumber numberWithInteger:aTType]]; + if ( self != nil ) { node = aNode; - [node retain]; + if ( node ) [node retain]; } return self; } - (id) initWithName:(NSString *)aName Node:(id)aNode { - if ((self = [super init]) != nil) { - name = [NSString stringWithString:aName]; - [name retain]; + self = [super init]; + if ( self != nil ) { + name = [[NSString stringWithString:aName] retain]; node = aNode; - [node retain]; + if ( node ) [node retain]; } return self; } -- (id) initWithObj1:(id)anObj1 Obj2:(id)anObj2 +- (id) initWithObj1:(id)anIndex Obj2:(id)aNode { - if ((self = [super init]) != nil) { - index = anObj1; - [index retain]; - node = anObj2; - [node retain]; + self = [super initWithAnIndex:anIndex]; + if ( self != nil ) { + node = aNode; + if ( node ) [node retain]; } return self; } +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRMapElement" ); +#endif + if ( name ) [name release]; + if ( node ) [node release]; + [super dealloc]; +} + - (id) copyWithZone:(NSZone *)aZone { ANTLRMapElement *copy; @@ -137,8 +145,8 @@ - (NSInteger) count - (NSInteger)size { NSInteger aSize = 0; - if ( name != nil ) aSize += sizeof(id); - if ( node != nil ) aSize += sizeof(id); + if ( name ) aSize += sizeof(id); + if ( node ) aSize += sizeof(id); return aSize; } @@ -151,8 +159,7 @@ - (NSString *)getName - (void)setName:(NSString *)aName { if ( aName != name ) { - if (name != nil) - [name release]; + if ( name ) [name release]; [aName retain]; } name = aName; @@ -164,8 +171,8 @@ - (id)getNode } - (void)setNode:(id)aNode -{ if (aNode != node) { - if (node != nil) [node release]; +{ if ( aNode != node ) { + if ( node ) [node release]; [aNode retain]; } node = aNode; @@ -175,14 +182,12 @@ - (void)putNode:(id)aNode { index = ((ANTLRMapElement *)aNode).index; if (((ANTLRMapElement *)aNode).name) { - name = ((ANTLRMapElement *)aNode).name; - [name retain]; + name = [((ANTLRMapElement *)aNode).name retain]; node = nil; } if (((ANTLRMapElement *)aNode).node) { name = nil; - node = ((ANTLRMapElement *)aNode).node; - [node retain]; + node = [((ANTLRMapElement *)aNode).node retain]; } } @@ -190,14 +195,12 @@ - (void)putNode:(id)aNode With:(NSInteger)uniqueID { index = ((ANTLRMapElement *)aNode).index; if (((ANTLRMapElement *)aNode).name) { - name = ((ANTLRMapElement *)aNode).name; - [name retain]; + name = [((ANTLRMapElement *)aNode).name retain]; node = nil; } if (((ANTLRMapElement *)aNode).node) { name = nil; - node = ((ANTLRMapElement *)aNode).node; - [node retain]; + node = [((ANTLRMapElement *)aNode).node retain]; } } diff --git a/runtime/ObjC/Framework/ANTLRMismatchedNotSetException.h b/runtime/ObjC/Framework/ANTLRMismatchedNotSetException.h index 71a4f23d..95d191d0 100644 --- a/runtime/ObjC/Framework/ANTLRMismatchedNotSetException.h +++ b/runtime/ObjC/Framework/ANTLRMismatchedNotSetException.h @@ -35,16 +35,16 @@ @interface ANTLRMismatchedNotSetException : ANTLRRecognitionException { - ANTLRBitSet *expecting; + NSString *expecting; } -@property (retain, getter=getExpecting, setter=setExpecting:) ANTLRBitSet *expecting; +@property (retain, getter=getExpecting, setter=setExpecting:) NSString *expecting; - (ANTLRMismatchedNotSetException *)newException; - (ANTLRMismatchedNotSetException *)newException:(id)anInput - Follow:(ANTLRBitSet *)expecting; + Follow:(NSString *)expecting; - (id) init; -- (id) initWithStream:(id)anInput Follow:(ANTLRBitSet *)expecting; +- (id) initWithStream:(id)anInput Follow:(NSString *)expecting; - (NSString *)toString; diff --git a/runtime/ObjC/Framework/ANTLRMismatchedNotSetException.m b/runtime/ObjC/Framework/ANTLRMismatchedNotSetException.m index 3eaaeab7..e43e1b15 100644 --- a/runtime/ObjC/Framework/ANTLRMismatchedNotSetException.m +++ b/runtime/ObjC/Framework/ANTLRMismatchedNotSetException.m @@ -41,9 +41,9 @@ - (ANTLRMismatchedNotSetException *)newException } - (ANTLRMismatchedNotSetException *)newException:(id)anInput - Follow:(ANTLRBitSet *)expected + Follow:(NSString *)expected { - return [[ANTLRMismatchedNotSetException alloc] initWithStream:anInput Follow:(ANTLRBitSet *)expected]; + return [[ANTLRMismatchedNotSetException alloc] initWithStream:anInput Follow:(NSString *)expected]; } - (id) init @@ -53,7 +53,7 @@ - (id) init return(self); } -- (id) initWithStream:(id)anInput Follow:(ANTLRBitSet *)expected +- (id) initWithStream:(id)anInput Follow:(NSString *)expected { if ((self = [super initWithStream:anInput]) != nil ) { expecting = expected; diff --git a/runtime/ObjC/Framework/ANTLRMismatchedRangeException.h b/runtime/ObjC/Framework/ANTLRMismatchedRangeException.h index b5eae7b5..678af611 100644 --- a/runtime/ObjC/Framework/ANTLRMismatchedRangeException.h +++ b/runtime/ObjC/Framework/ANTLRMismatchedRangeException.h @@ -34,6 +34,8 @@ NSRange range; } +@property (assign) NSRange range; + + (id) newException:(NSRange) aRange stream:(id) theInput; - (id) initWithRange:(NSRange) aRange stream:(id) theInput; diff --git a/runtime/ObjC/Framework/ANTLRMismatchedRangeException.m b/runtime/ObjC/Framework/ANTLRMismatchedRangeException.m index aecd96b8..0647254c 100644 --- a/runtime/ObjC/Framework/ANTLRMismatchedRangeException.m +++ b/runtime/ObjC/Framework/ANTLRMismatchedRangeException.m @@ -30,6 +30,8 @@ @implementation ANTLRMismatchedRangeException +@synthesize range; + + (id) newException:(NSRange) aRange stream:(id) theInput { return [[ANTLRMismatchedRangeException alloc] initWithRange:aRange stream:theInput]; diff --git a/runtime/ObjC/Framework/ANTLRMismatchedSetException.h b/runtime/ObjC/Framework/ANTLRMismatchedSetException.h index 2f00697d..06109737 100644 --- a/runtime/ObjC/Framework/ANTLRMismatchedSetException.h +++ b/runtime/ObjC/Framework/ANTLRMismatchedSetException.h @@ -29,16 +29,16 @@ #import "ANTLRRecognitionException.h" @interface ANTLRMismatchedSetException : ANTLRRecognitionException { - NSSet *expecting; + NSString *expecting; } -@property (retain, getter=getExpecting, setter=setExpecting:) NSSet *expecting; +@property (retain, getter=getExpecting, setter=setExpecting:) NSString *expecting; -+ (id) newException:(NSSet *) theExpectedSet stream:(id) theStream; -- (id) initWithSet:(NSSet *) theExpectedSet stream:(id) theStream; ++ (id) newException:(NSString *) theExpectedSet stream:(id) theStream; +- (id) initWithSet:(NSString *) theExpectedSet stream:(id) theStream; -- (NSSet *) getExpecting; -- (void) setExpecting: (NSSet *) anExpectedSet; +- (NSString *) getExpecting; +- (void) setExpecting: (NSString *) anExpectedSet; @end diff --git a/runtime/ObjC/Framework/ANTLRMismatchedSetException.m b/runtime/ObjC/Framework/ANTLRMismatchedSetException.m index b31d5456..b5248d25 100644 --- a/runtime/ObjC/Framework/ANTLRMismatchedSetException.m +++ b/runtime/ObjC/Framework/ANTLRMismatchedSetException.m @@ -31,12 +31,12 @@ @implementation ANTLRMismatchedSetException @synthesize expecting; -+ (id) newException:(NSSet *) theExpectedSet stream:(id) theStream ++ (id) newException:(NSString *) theExpectedSet stream:(id) theStream { return [[ANTLRMismatchedSetException alloc] initWithSet:theExpectedSet stream:theStream]; } -- (id) initWithSet:(NSSet *) theExpectedSet stream:(id) theStream +- (id) initWithSet:(NSString *) theExpectedSet stream:(id) theStream { if ((self = [super initWithStream:theStream]) != nil) { [self setExpecting:theExpectedSet]; @@ -61,15 +61,15 @@ - (NSString *) description //---------------------------------------------------------- // expectedSet //---------------------------------------------------------- -- (NSSet *) getExpecting +- (NSString *) getExpecting { return expecting; } -- (void) setExpecting: (NSSet *) anExpectedSet +- (void) setExpecting: (NSString *) anExpectedSet { - if (expecting != anExpectedSet) { - [expecting release]; + if ( expecting != anExpectedSet ) { + if ( expecting ) [expecting release]; [anExpectedSet retain]; expecting = anExpectedSet; } diff --git a/runtime/ObjC/Framework/ANTLRNodeMapElement.m b/runtime/ObjC/Framework/ANTLRNodeMapElement.m index 8c3618a0..06f35cc7 100644 --- a/runtime/ObjC/Framework/ANTLRNodeMapElement.m +++ b/runtime/ObjC/Framework/ANTLRNodeMapElement.m @@ -63,9 +63,10 @@ - (id) init - (id) initWithAnIndex:(id)anIndex Node:(id)aNode { - if ((self = [super initWithAnIndex:anIndex]) != nil ) { + self = [super initWithAnIndex:anIndex]; + if ( self ) { if ( aNode != node ) { - if (node != nil) [node release]; + if ( node ) [node release]; [aNode retain]; } node = aNode; @@ -90,7 +91,7 @@ - (id) copyWithZone:(NSZone *)aZone - (void)setNode:(id)aNode { if ( aNode != node ) { - if (node != nil) [node release]; + if ( node ) [node release]; [aNode retain]; } node = aNode; diff --git a/runtime/ObjC/Framework/ANTLRParseTree.h b/runtime/ObjC/Framework/ANTLRParseTree.h index 38ad35df..53310055 100644 --- a/runtime/ObjC/Framework/ANTLRParseTree.h +++ b/runtime/ObjC/Framework/ANTLRParseTree.h @@ -32,10 +32,11 @@ #import #import "ANTLRBaseTree.h" #import "ANTLRCommonToken.h" +#import "AMutableArray.h" @interface ANTLRParseTree : ANTLRBaseTree { - id payload; - NSMutableArray *hiddenTokens; + __strong id payload; + __strong AMutableArray *hiddenTokens; } /** A record of the rules used to match a token sequence. The tokens * end up as the leaves of this tree and rule nodes are the interior nodes. @@ -46,17 +47,18 @@ - (id)initWithLabel:(id)label; - (id)dupNode; -- (NSInteger)getType; -- (NSString *)getText; +- (NSInteger)type; +- (NSString *)text; - (NSInteger)getTokenStartIndex; - (void)setTokenStartIndex:(NSInteger)index; - (NSInteger)getTokenStopIndex; - (void)setTokenStopIndex:(NSInteger)index; +- (NSString *)description; - (NSString *)toString; - (NSString *)toStringWithHiddenTokens; - (NSString *)toInputString; - (void)_toStringLeaves:(NSMutableString *)buf; @property (retain) id payload; -@property (retain) NSMutableArray *hiddenTokens; +@property (retain) AMutableArray *hiddenTokens; @end diff --git a/runtime/ObjC/Framework/ANTLRParseTree.m b/runtime/ObjC/Framework/ANTLRParseTree.m index f5e1d0cc..83396403 100644 --- a/runtime/ObjC/Framework/ANTLRParseTree.m +++ b/runtime/ObjC/Framework/ANTLRParseTree.m @@ -44,8 +44,9 @@ + (ANTLRParseTree *)newANTLRParseTree:(id)label - (id)initWithLabel:(id)label { - if ((self = [super init]) != nil) { - payload = label; + self = [super init]; + if ( self != nil) { + payload = [label retain]; } return self; } @@ -55,12 +56,12 @@ - (id)initWithLabel:(id)label return nil; } -- (NSInteger)getType +- (NSInteger)type { return 0; } -- (NSString *)getText +- (NSString *)text { return [self toString]; } @@ -82,17 +83,22 @@ - (NSInteger)getTokenStopIndex - (void)setTokenStopIndex:(NSInteger)anIndex { } - -- (NSString *)toString + +- (NSString *)description { if ( [payload isKindOfClass:[ANTLRCommonToken class]] ) { id t = (id)payload; - if ( [t getType] == ANTLRTokenTypeEOF ) { + if ( t.type == ANTLRTokenTypeEOF ) { return @""; } - return [t getText]; + return [t text]; } - return [payload toString]; + return [payload description]; +} + +- (NSString *)toString +{ + return [self description]; } /** Emit a token and all hidden nodes before. EOF node holds all @@ -104,7 +110,7 @@ - (NSString *)toStringWithHiddenTokens if ( hiddenTokens!=nil ) { for (NSUInteger i = 0; i < [hiddenTokens count]; i++) { id hidden = (id ) [hiddenTokens objectAtIndex:i]; - [buf appendString:[hidden getText]]; + [buf appendString:[hidden text]]; } } NSString *nodeText = [self toString]; @@ -137,4 +143,7 @@ - (void)_toStringLeaves:(NSMutableString *)buf @synthesize payload; @synthesize hiddenTokens; +@synthesize children; +@synthesize anException; + @end diff --git a/runtime/ObjC/Framework/ANTLRParser.h b/runtime/ObjC/Framework/ANTLRParser.h index 5ddaf503..067b313c 100644 --- a/runtime/ObjC/Framework/ANTLRParser.h +++ b/runtime/ObjC/Framework/ANTLRParser.h @@ -39,7 +39,7 @@ - (id) initWithTokenStream:(id)theStream; - (id) initWithTokenStream:(id)theStream State:(ANTLRRecognizerSharedState *)aState; -- (id) getInput; +- (id) input; - (void) setInput: (id) anInput; - (void) reset; diff --git a/runtime/ObjC/Framework/ANTLRParser.m b/runtime/ObjC/Framework/ANTLRParser.m index 2bcb7c7b..df559b2e 100644 --- a/runtime/ObjC/Framework/ANTLRParser.m +++ b/runtime/ObjC/Framework/ANTLRParser.m @@ -65,6 +65,9 @@ - (void) reset - (void) dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRParser" ); +#endif [self setInput:nil]; [super dealloc]; } @@ -72,7 +75,7 @@ - (void) dealloc //---------------------------------------------------------- // input //---------------------------------------------------------- -- (id) getInput +- (id) input { return input; } @@ -80,10 +83,10 @@ - (void) dealloc - (void) setInput: (id) anInput { if (input != anInput) { + if ( input ) [input release]; [anInput retain]; - [input release]; - input = anInput; } + input = anInput; } - (id) getCurrentInputSymbol:(id)anInput @@ -104,11 +107,11 @@ - (ANTLRCommonToken *)getMissingSymbol:(id)anInput tokenText = [NSString stringWithFormat:@"\n",[[ANTLRBaseRecognizer getTokenNames] objectAtIndex:expectedTokenType]]; ANTLRCommonToken *t = [[ANTLRCommonToken newToken:expectedTokenType Text:tokenText] retain]; ANTLRCommonToken *current = [anInput LT:1]; - if ( [current getType] == ANTLRTokenTypeEOF ) { + if ( current.type == ANTLRTokenTypeEOF ) { current = [anInput LT:-1]; } - t.line = [current getLine]; - t.charPositionInLine = [current getCharPositionInLine]; + t.line = current.line; + t.charPositionInLine = current.charPositionInLine; t.channel = ANTLRTokenChannelDefault; return t; } diff --git a/runtime/ObjC/Framework/ANTLRParserRuleReturnScope.h b/runtime/ObjC/Framework/ANTLRParserRuleReturnScope.h index aef3dd0b..d788c218 100644 --- a/runtime/ObjC/Framework/ANTLRParserRuleReturnScope.h +++ b/runtime/ObjC/Framework/ANTLRParserRuleReturnScope.h @@ -29,10 +29,10 @@ #import "ANTLRRuleReturnScope.h" @interface ANTLRParserRuleReturnScope : ANTLRRuleReturnScope { - id startToken; + id start; id stopToken; } -@property (retain, getter=getStart, setter=setStart:) id startToken; +@property (retain, getter=getStart, setter=setStart:) id start; @property (retain, getter=getStop, setter=setStop:) id stopToken; - (id) getStart; diff --git a/runtime/ObjC/Framework/ANTLRParserRuleReturnScope.m b/runtime/ObjC/Framework/ANTLRParserRuleReturnScope.m index 39855b24..2bc2392a 100644 --- a/runtime/ObjC/Framework/ANTLRParserRuleReturnScope.m +++ b/runtime/ObjC/Framework/ANTLRParserRuleReturnScope.m @@ -29,7 +29,7 @@ @implementation ANTLRParserRuleReturnScope -@synthesize startToken; +@synthesize start; @synthesize stopToken; - (void) dealloc @@ -41,15 +41,15 @@ - (void) dealloc - (id) getStart { - return startToken; + return start; } - (void) setStart: (id) aStart { - if (startToken != aStart) { + if (start != aStart) { [aStart retain]; - [startToken release]; - startToken = aStart; + if ( start ) [start release]; + start = aStart; } } @@ -62,7 +62,7 @@ - (void) setStop: (id) aStop { if (stopToken != aStop) { [aStop retain]; - [stopToken release]; + if ( stopToken ) [stopToken release]; stopToken = aStop; } } @@ -72,7 +72,7 @@ - (void) setStop: (id) aStop - (id) copyWithZone:(NSZone *)theZone { ANTLRParserRuleReturnScope *copy = [super copyWithZone:theZone]; - copy.startToken = startToken; + copy.start = start; copy.stopToken = stopToken; return copy; } diff --git a/runtime/ObjC/Framework/ANTLRPtrBuffer.h b/runtime/ObjC/Framework/ANTLRPtrBuffer.h index 40903b71..baf929b5 100644 --- a/runtime/ObjC/Framework/ANTLRPtrBuffer.h +++ b/runtime/ObjC/Framework/ANTLRPtrBuffer.h @@ -37,12 +37,11 @@ #define BUFFSIZE 101 @interface ANTLRPtrBuffer : ANTLRLinkBase { - //ANTLRPtrBuffer *fNext; NSUInteger BuffSize; NSUInteger count; NSUInteger ptr; - NSMutableData *buffer; - id *ptrBuffer; + __strong NSMutableData *buffer; + __strong id *ptrBuffer; } @property (getter=getBuffSize, setter=setBuffSize:) NSUInteger BuffSize; diff --git a/runtime/ObjC/Framework/ANTLRPtrBuffer.m b/runtime/ObjC/Framework/ANTLRPtrBuffer.m index f8032639..392a7b73 100644 --- a/runtime/ObjC/Framework/ANTLRPtrBuffer.m +++ b/runtime/ObjC/Framework/ANTLRPtrBuffer.m @@ -48,28 +48,29 @@ @implementation ANTLRPtrBuffer +(ANTLRPtrBuffer *)newANTLRPtrBuffer { - return [[[ANTLRPtrBuffer alloc] init] retain]; + return [[ANTLRPtrBuffer alloc] init]; } +(ANTLRPtrBuffer *)newANTLRPtrBufferWithLen:(NSInteger)cnt { - return [[[ANTLRPtrBuffer alloc] initWithLen:cnt] retain]; + return [[ANTLRPtrBuffer alloc] initWithLen:cnt]; } -(id)init { NSUInteger idx; - self = [super init]; - if ( self != nil ) { + self = [super init]; + if ( self != nil ) { BuffSize = BUFFSIZE; ptr = 0; buffer = [[NSMutableData dataWithLength:(NSUInteger)BuffSize * sizeof(id)] retain]; - ptrBuffer = (id *)[buffer mutableBytes]; + ptrBuffer = (id *) [buffer mutableBytes]; for( idx = 0; idx < BuffSize; idx++ ) { ptrBuffer[idx] = nil; } - } + count = 0; + } return( self ); } @@ -77,8 +78,8 @@ -(id)initWithLen:(NSUInteger)cnt { NSUInteger idx; - self = [super init]; - if ( self != nil ) { + self = [super init]; + if ( self != nil ) { BuffSize = cnt; ptr = 0; buffer = [[NSMutableData dataWithLength:(NSUInteger)BuffSize * sizeof(id)] retain]; @@ -86,15 +87,19 @@ -(id)initWithLen:(NSUInteger)cnt for( idx = 0; idx < BuffSize; idx++ ) { ptrBuffer[idx] = nil; } - } + count = 0; + } return( self ); } -(void)dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRPtrBuffer" ); +#endif ANTLRLinkBase *tmp, *rtmp; NSInteger idx; - + if ( self.fNext != nil ) { for( idx = 0; idx < BuffSize; idx++ ) { tmp = ptrBuffer[idx]; @@ -104,12 +109,12 @@ -(void)dealloc tmp = (id)tmp.fNext; else tmp = nil; - [rtmp dealloc]; + [rtmp release]; } } } [buffer release]; - [super dealloc]; + [super dealloc]; } - (id) copyWithZone:(NSZone *)aZone @@ -141,11 +146,12 @@ - (void)clear } ptrBuffer[idx] = nil; } + count = 0; } - (NSMutableData *)getBuffer { - return( buffer ); + return( buffer ); } - (void)setBuffer:(NSMutableData *)np @@ -155,7 +161,7 @@ - (void)setBuffer:(NSMutableData *)np - (NSUInteger)getCount { - return( count ); + return( count ); } - (void)setCount:(NSUInteger)aCount @@ -165,7 +171,7 @@ - (void)setCount:(NSUInteger)aCount - (id *)getPtrBuffer { - return( ptrBuffer ); + return( ptrBuffer ); } - (void)setPtrBuffer:(id *)np @@ -175,7 +181,7 @@ - (void)setPtrBuffer:(id *)np - (NSUInteger)getPtr { - return( ptr ); + return( ptr ); } - (void)setPtr:(NSUInteger)aPtr @@ -185,9 +191,9 @@ - (void)setPtr:(NSUInteger)aPtr - (void) addObject:(id) v { - [self ensureCapacity:ptr]; - [v retain]; - ptrBuffer[ptr++] = v; + [self ensureCapacity:ptr]; + if ( v ) [v retain]; + ptrBuffer[ptr++] = v; count++; } @@ -196,34 +202,35 @@ - (void) push:(id) v if ( ptr >= BuffSize - 1 ) { [self ensureCapacity:ptr]; } - [v retain]; + if ( v ) [v retain]; ptrBuffer[ptr++] = v; count++; } - (id) pop { - id v = nil; + id v = nil; if ( ptr > 0 ) { v = ptrBuffer[--ptr]; ptrBuffer[ptr] = nil; } count--; - [v release]; - return v; + if ( v ) [v release]; + return v; } - (id) peek { - id v = nil; + id v = nil; if ( ptr > 0 ) { v = ptrBuffer[ptr-1]; } - return v; + return v; } - (NSUInteger)count { +#ifdef DONTUSENOMO int cnt = 0; for (NSInteger i = 0; i < BuffSize; i++ ) { @@ -231,8 +238,9 @@ - (NSUInteger)count cnt++; } } - if (cnt != count) count = cnt; - return cnt; + if ( cnt != count ) count = cnt; +#endif + return count; } - (NSUInteger)length @@ -257,10 +265,11 @@ - (void) insertObject:(id)aRule atIndex:(NSUInteger)idx [self ensureCapacity:idx]; } if ( aRule != ptrBuffer[idx] ) { - if ( ptrBuffer[idx] != nil ) [ptrBuffer[idx] release]; - [aRule retain]; + if ( ptrBuffer[idx] ) [ptrBuffer[idx] release]; + if ( aRule ) [aRule retain]; } ptrBuffer[idx] = aRule; + count++; } - (id)objectAtIndex:(NSUInteger)idx @@ -277,10 +286,10 @@ - (void)addObjectsFromArray:(ANTLRPtrBuffer *)anArray cnt = [anArray count]; for( i = 0; i < cnt; i++) { id tmp = [anArray objectAtIndex:i]; - if (tmp != nil) - [tmp retain]; + if ( tmp ) [tmp retain]; [self insertObject:tmp atIndex:i]; } + count += cnt; return; } @@ -288,7 +297,7 @@ - (void)removeAllObjects { int i; for ( i = 0; i < BuffSize; i++ ) { - if ( ptrBuffer[i] != nil ) [ptrBuffer[i] release]; + if ( ptrBuffer[i] ) [ptrBuffer[i] release]; ptrBuffer[i] = nil; } count = 0; @@ -299,7 +308,7 @@ - (void)removeObjectAtIndex:(NSInteger)idx { int i; if ( idx >= 0 && idx < count ) { - if ( ptrBuffer[idx] != nil ) [ptrBuffer[idx] release]; + if ( ptrBuffer[idx] ) [ptrBuffer[idx] release]; for ( i = idx; i < count-1; i++ ) { ptrBuffer[i] = ptrBuffer[i+1]; } @@ -310,16 +319,16 @@ - (void)removeObjectAtIndex:(NSInteger)idx - (void) ensureCapacity:(NSUInteger) anIndex { - if ((anIndex * sizeof(id)) >= [buffer length]) - { - NSInteger newSize = ([buffer length] / sizeof(id)) * 2; - if (anIndex > newSize) { - newSize = anIndex + 1; - } + if ((anIndex * sizeof(id)) >= [buffer length]) + { + NSInteger newSize = ([buffer length] / sizeof(id)) * 2; + if (anIndex > newSize) { + newSize = anIndex + 1; + } BuffSize = newSize; - [buffer setLength:(BuffSize * sizeof(id))]; + [buffer setLength:(BuffSize * sizeof(id))]; ptrBuffer = [buffer mutableBytes]; - } + } } - (NSString *) description @@ -330,7 +339,7 @@ - (NSString *) description str = [NSMutableString stringWithCapacity:30]; [str appendString:@"["]; for (idx = 0; idx < cnt; idx++ ) { - [str appendString:[[self objectAtIndex:idx] toString]]; + [str appendString:[[self objectAtIndex:idx] description]]; } [str appendString:@"]"]; return str; diff --git a/runtime/ObjC/Framework/ANTLRPtrStack.m b/runtime/ObjC/Framework/ANTLRPtrStack.m index 9404d084..5b180f25 100644 --- a/runtime/ObjC/Framework/ANTLRPtrStack.m +++ b/runtime/ObjC/Framework/ANTLRPtrStack.m @@ -28,20 +28,25 @@ +(ANTLRPtrStack *)newANTLRPtrStack:(NSInteger)cnt -(id)init { - if ((self = [super initWithLen:HASHSIZE]) != nil) { + self = [super initWithLen:HASHSIZE]; + if ( self != nil ) { } return( self ); } -(id)initWithLen:(NSInteger)cnt { - if ((self = [super initWithLen:cnt]) != nil) { + self = [super initWithLen:cnt]; + if ( self != nil ) { } return( self ); } -(void)dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRPtrStack" ); +#endif [super dealloc]; } @@ -56,7 +61,7 @@ -(void)deleteANTLRPtrStack:(ANTLRPtrStack *)np while ( tmp ) { rtmp = tmp; tmp = [tmp getfNext]; - [rtmp dealloc]; + [rtmp release]; } } } @@ -132,7 +137,7 @@ -(id)install:(id)sym np = [self lookup:[sym getName]]; if ( np == nil ) { [sym setFNext:ptrBuffer[ LastHash ]]; - ptrBuffer[ LastHash ] = sym; + ptrBuffer[ LastHash ] = [sym retain]; return( ptrBuffer[ LastHash ] ); } return( nil ); /* not found */ diff --git a/runtime/ObjC/Framework/ANTLRRecognitionException.h b/runtime/ObjC/Framework/ANTLRRecognitionException.h index c46d2154..9bd799dc 100644 --- a/runtime/ObjC/Framework/ANTLRRecognitionException.h +++ b/runtime/ObjC/Framework/ANTLRRecognitionException.h @@ -37,15 +37,17 @@ id token; id node; unichar c; - NSInteger line; - NSInteger charPositionInLine; + NSUInteger line; + NSUInteger charPositionInLine; } @property (retain, getter=getStream, setter=setStream:) id input; +@property (assign) NSInteger index; @property (retain, getter=getToken, setter=setToken:) idtoken; @property (retain, getter=getNode, setter=setNode:) idnode; -@property (getter=getLine, setter=setLine:) NSInteger line; -@property (getter=getCharPositionInLine, setter=setCharPositionInLine:) NSInteger charPositionInLine; +@property (assign) unichar c; +@property (assign) NSUInteger line; +@property (assign) NSUInteger charPositionInLine; + (id) newException; + (id) newException:(id) anInputStream; @@ -68,9 +70,5 @@ - (NSString *)getMessage; -- (NSInteger)getCharPositionInLine; -- (void)setCharPositionInLine:(NSInteger)aPos; -@property NSInteger index; -@property unichar c; @end diff --git a/runtime/ObjC/Framework/ANTLRRecognitionException.m b/runtime/ObjC/Framework/ANTLRRecognitionException.m index 09814f6e..0d0e11f8 100644 --- a/runtime/ObjC/Framework/ANTLRRecognitionException.m +++ b/runtime/ObjC/Framework/ANTLRRecognitionException.m @@ -53,30 +53,32 @@ + (id) newException:(id) anInputStream reason:(NSString *)aReaso - (id) init { - if ((self = [super initWithName:@"Recognition Exception" reason:@"Recognition Exception" userInfo:nil]) != nil) { + self = [super initWithName:@"Recognition Exception" reason:@"Recognition Exception" userInfo:nil]; + if ( self != nil ) { } return self; } - (id) initWithStream:(id)anInputStream reason:(NSString *)aReason { - if ((self = [super initWithName:NSStringFromClass([self class]) reason:aReason userInfo:nil]) != nil) { + self = [super initWithName:NSStringFromClass([self class]) reason:aReason userInfo:nil]; + if ( self != nil ) { [self setStream:anInputStream]; - index = [anInputStream getIndex]; + index = input.index; Class inputClass = [input class]; if ([inputClass conformsToProtocol:@protocol(ANTLRTokenStream)]) { [self setToken:[(id)input LT:1]]; - line = [token getLine]; - charPositionInLine = [token getCharPositionInLine]; + line = token.line; + charPositionInLine = token.charPositionInLine; } else if ([inputClass conformsToProtocol:@protocol(ANTLRCharStream)]) { c = (unichar)[input LA:1]; - line = [(id)input getLine]; - charPositionInLine = [(id)input getCharPositionInLine]; + line = ((id)input).line; + charPositionInLine = ((id)input).charPositionInLine; } else if ([inputClass conformsToProtocol:@protocol(ANTLRTreeNodeStream)]) { [self setNode:[(id)input LT:1]]; - line = [node getLine]; - charPositionInLine = [node getCharPositionInLine]; + line = [node line]; + charPositionInLine = [node charPositionInLine]; } else { c = (unichar)[input LA:1]; } @@ -86,32 +88,37 @@ - (id) initWithStream:(id)anInputStream reason:(NSString *)aReas - (id) initWithStream:(id)anInputStream { - if ((self = [super initWithName:NSStringFromClass([self class]) reason:@"Runtime Exception" userInfo:nil]) != nil) { + self = [super initWithName:NSStringFromClass([self class]) reason:@"Runtime Exception" userInfo:nil]; + if ( self != nil ) { } return self; } - (id) initWithName:(NSString *)aName reason:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo { - if ((self = [super initWithName:(NSString *)aName reason:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo]) != nil) { + self = [super initWithName:aName reason:aReason userInfo:aUserInfo]; + if ( self != nil ) { } return self; } - (void) dealloc { - [self setStream:nil]; - [self setToken:nil]; - [self setNode:nil]; +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRRecognitionException" ); +#endif + if ( input ) [input release]; + if ( token ) [token release]; + if ( node ) [node release]; [super dealloc]; } - (NSInteger) unexpectedType { if (token) { - return [token getType]; + return token.type; } else if (node) { - return [node getType]; + return [node type]; } else { return c; } @@ -124,7 +131,8 @@ - (NSInteger) unexpectedType - (NSString *) description { - NSMutableString *desc = [[NSMutableString alloc] initWithString:NSStringFromClass([self class])]; + //NSMutableString *desc = [[NSMutableString alloc] initWithString:NSStringFromClass([self class])]; + NSMutableString *desc = [NSMutableString stringWithString:[self className]]; if (token) { [desc appendFormat:@" token:%@", token]; } else if (node) { @@ -146,9 +154,9 @@ - (NSString *) description - (void) setStream: (id) aStream { - if (input != aStream) { - [aStream retain]; - [input release]; + if ( input != aStream ) { + if ( input ) [input release]; + if ( aStream ) [aStream retain]; input = aStream; } } @@ -164,8 +172,8 @@ - (void) setStream: (id) aStream - (void) setToken: (id) aToken { if (token != aToken) { - [aToken retain]; - [token release]; + if ( token ) [token release]; + if ( aToken ) [aToken retain]; token = aToken; } } @@ -181,8 +189,8 @@ - (void) setToken: (id) aToken - (void) setNode: (id) aNode { if (node != aNode) { - [aNode retain]; - [node release]; + if ( node ) [node release]; + if ( aNode ) [aNode retain]; node = aNode; } } @@ -192,12 +200,12 @@ - (NSString *)getMessage return @"Fix getMessage in ANTLRRecognitionException"; } -- (NSInteger)getCharPositionInLine +- (NSUInteger)charPositionInLine { return charPositionInLine; } -- (void)setCharPositionInLine:(NSInteger)aPos +- (void)setCharPositionInLine:(NSUInteger)aPos { charPositionInLine = aPos; } diff --git a/runtime/ObjC/Framework/ANTLRRecognizerSharedState.h b/runtime/ObjC/Framework/ANTLRRecognizerSharedState.h old mode 100755 new mode 100644 index fa03dc1a..0878dba4 --- a/runtime/ObjC/Framework/ANTLRRecognizerSharedState.h +++ b/runtime/ObjC/Framework/ANTLRRecognizerSharedState.h @@ -28,18 +28,19 @@ #import "ANTLRToken.h" #import "ANTLRBitSet.h" #import "ANTLRRuleStack.h" +#import "AMutableArray.h" @interface ANTLRRecognizerSharedState : NSObject { - NSMutableArray *following; // a stack of FOLLOW bitsets used for context sensitive prediction and recovery + __strong AMutableArray *following; // a stack of FOLLOW bitsets used for context sensitive prediction and recovery NSInteger _fsp; // Follow stack pointer BOOL errorRecovery; // are we recovering? NSInteger lastErrorIndex; BOOL failed; // indicate that some match failed NSInteger syntaxErrors; NSInteger backtracking; // the level of backtracking - ANTLRRuleStack *ruleMemo; // store previous results of matching rules so we don't have to do it again. Hook in incremental stuff here, too. + __strong ANTLRRuleStack *ruleMemo; // store previous results of matching rules so we don't have to do it again. Hook in incremental stuff here, too. - id token; + __strong id token; NSInteger tokenStartCharIndex; NSUInteger tokenStartLine; NSUInteger tokenStartCharPositionInLine; @@ -48,7 +49,7 @@ NSString *text; } -@property (retain, getter=getFollowing, setter=setFollowing:) NSMutableArray *following; +@property (retain, getter=getFollowing, setter=setFollowing:) AMutableArray *following; @property (assign) NSInteger _fsp; @property (assign) BOOL errorRecovery; @property (assign) NSInteger lastErrorIndex; @@ -57,12 +58,12 @@ @property (assign, getter=getBacktracking, setter=setBacktracking:) NSInteger backtracking; @property (retain, getter=getRuleMemo, setter=setRuleMemo:) ANTLRRuleStack *ruleMemo; @property (copy, getter=getToken, setter=setToken:) id token; -@property (getter=getType,setter=setType:) NSUInteger type; -@property (getter=getChannel,setter=setChannel:) NSUInteger channel; +@property (getter=type,setter=setType:) NSUInteger type; +@property (getter=channel,setter=setChannel:) NSUInteger channel; @property (getter=getTokenStartLine,setter=setTokenStartLine:) NSUInteger tokenStartLine; -@property (getter=getCharPositionInLine,setter=setCharPositionInLine:) NSUInteger tokenStartCharPositionInLine; +@property (getter=charPositionInLine,setter=setCharPositionInLine:) NSUInteger tokenStartCharPositionInLine; @property (getter=getTokenStartCharIndex,setter=setTokenStartCharIndex:) NSInteger tokenStartCharIndex; -@property (retain, getter=getText, setter=setText:) NSString *text; +@property (retain, getter=text, setter=setText:) NSString *text; + (ANTLRRecognizerSharedState *) newANTLRRecognizerSharedState; + (ANTLRRecognizerSharedState *) newANTLRRecognizerSharedStateWithRuleLen:(NSInteger)aLen; @@ -75,27 +76,27 @@ - (id) getToken; - (void) setToken:(id) theToken; -- (NSUInteger) getType; +- (NSUInteger)type; - (void) setType:(NSUInteger) theTokenType; -- (NSUInteger) getChannel; +- (NSUInteger)channel; - (void) setChannel:(NSUInteger) theChannel; - (NSUInteger) getTokenStartLine; - (void) setTokenStartLine:(NSUInteger) theTokenStartLine; -- (NSUInteger) getCharPositionInLine; +- (NSUInteger) charPositionInLine; - (void) setCharPositionInLine:(NSUInteger) theCharPosition; - (NSInteger) getTokenStartCharIndex; - (void) setTokenStartCharIndex:(NSInteger) theTokenStartCharIndex; -- (NSString *) getText; +- (NSString *)text; - (void) setText:(NSString *) theText; -- (NSMutableArray *) getFollowing; -- (void)setFollowing:(NSMutableArray *)aFollow; +- (AMutableArray *) getFollowing; +- (void)setFollowing:(AMutableArray *)aFollow; - (ANTLRRuleStack *) getRuleMemo; - (void)setRuleMemo:(ANTLRRuleStack *)aRuleMemo; - (BOOL) isErrorRecovery; diff --git a/runtime/ObjC/Framework/ANTLRRecognizerSharedState.m b/runtime/ObjC/Framework/ANTLRRecognizerSharedState.m old mode 100755 new mode 100644 index e663e6e5..79dda2d3 --- a/runtime/ObjC/Framework/ANTLRRecognizerSharedState.m +++ b/runtime/ObjC/Framework/ANTLRRecognizerSharedState.m @@ -67,7 +67,7 @@ - (id) init { ANTLRHashRule *aHashRule; if ((self = [super init]) != nil ) { - following = [NSMutableArray arrayWithCapacity:10]; + following = [[AMutableArray arrayWithCapacity:10] retain]; _fsp = -1; errorRecovery = NO; // are we recovering? lastErrorIndex = -1; @@ -98,7 +98,7 @@ - (id) initWithRuleLen:(NSInteger)aLen { ANTLRHashRule *aHashRule; if ((self = [super init]) != nil ) { - following = [NSMutableArray arrayWithCapacity:10]; + following = [[AMutableArray arrayWithCapacity:10] retain]; _fsp = -1; errorRecovery = NO; // are we recovering? lastErrorIndex = -1; @@ -107,7 +107,7 @@ - (id) initWithRuleLen:(NSInteger)aLen backtracking = 0; // the level of backtracking tokenStartCharIndex = -1; tokenStartLine = 0; - ruleMemo = [ANTLRRuleStack newANTLRRuleStack:aLen]; + ruleMemo = [[ANTLRRuleStack newANTLRRuleStack:aLen] retain]; for (int i = 0; i < aLen; i++ ) { aHashRule = [[ANTLRHashRule newANTLRHashRuleWithLen:17] retain]; [ruleMemo addObject:aHashRule]; @@ -139,7 +139,7 @@ - (id) initWithState:(ANTLRRecognizerSharedState *)aState backtracking = aState.backtracking; if ( aState.ruleMemo == nil ) { int cnt = 200; - ruleMemo = [ANTLRRuleStack newANTLRRuleStack:cnt]; + ruleMemo = [[ANTLRRuleStack newANTLRRuleStack:cnt] retain]; for (int i = 0; i < cnt; i++ ) { aHashRule = [[ANTLRHashRule newANTLRHashRuleWithLen:17] retain]; [ruleMemo addObject:aHashRule]; @@ -169,8 +169,12 @@ - (id) initWithState:(ANTLRRecognizerSharedState *)aState - (void) dealloc { - [following release]; - [ruleMemo release]; +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRRecognizerSharedState" ); +#endif + if ( token ) [token release]; + if ( following ) [following release]; + if ( ruleMemo ) [ruleMemo release]; [super dealloc]; } @@ -186,12 +190,12 @@ - (void) setToken: (id) aToken { if (token != aToken) { [aToken retain]; - [token release]; + if ( token ) [token release]; token = aToken; } } -- (NSUInteger) getChannel +- (NSUInteger)channel { return channel; } @@ -211,7 +215,7 @@ - (void) setTokenStartLine:(NSUInteger) theTokenStartLine tokenStartLine = theTokenStartLine; } -- (NSUInteger) getCharPositionInLine +- (NSUInteger) charPositionInLine { return tokenStartCharPositionInLine; } @@ -237,13 +241,17 @@ - (void) reportError:(ANTLRRecognitionException *)e NSLog(@"%@", e.name); } -- (NSMutableArray *) getFollowing +- (AMutableArray *) getFollowing { return following; } -- (void)setFollowing:(NSMutableArray *)aFollow +- (void)setFollowing:(AMutableArray *)aFollow { + if ( following != aFollow ) { + if ( following ) [following release]; + [aFollow retain]; + } following = aFollow; } @@ -254,6 +262,10 @@ - (ANTLRRuleStack *) getRuleMemo - (void)setRuleMemo:(ANTLRRuleStack *)aRuleMemo { + if ( ruleMemo != aRuleMemo ) { + if ( ruleMemo ) [ruleMemo release]; + [aRuleMemo retain]; + } ruleMemo = aRuleMemo; } diff --git a/runtime/ObjC/Framework/ANTLRRewriteRuleElementStream.h b/runtime/ObjC/Framework/ANTLRRewriteRuleElementStream.h index c3130ae7..46e0190f 100644 --- a/runtime/ObjC/Framework/ANTLRRewriteRuleElementStream.h +++ b/runtime/ObjC/Framework/ANTLRRewriteRuleElementStream.h @@ -33,17 +33,17 @@ BOOL dirty; ///< indicates whether the stream should return copies of its elements, set to true after a call to -reset BOOL isSingleElement; id singleElement; - NSMutableArray *elements; + __strong AMutableArray *elements; - NSString *elementDescription; - id treeAdaptor; + __strong NSString *elementDescription; + __strong id treeAdaptor; } @property (assign) NSInteger cursor; @property (assign) BOOL dirty; @property (assign) BOOL isSingleElement; @property (assign) id singleElement; -@property (assign) NSMutableArray *elements; +@property (assign) AMutableArray *elements; @property (assign) NSString *elementDescription; @property (retain) id treeAdaptor; diff --git a/runtime/ObjC/Framework/ANTLRRewriteRuleElementStream.m b/runtime/ObjC/Framework/ANTLRRewriteRuleElementStream.m index 59da5292..138163c4 100644 --- a/runtime/ObjC/Framework/ANTLRRewriteRuleElementStream.m +++ b/runtime/ObjC/Framework/ANTLRRewriteRuleElementStream.m @@ -103,17 +103,18 @@ - (id) initWithTreeAdaptor:(id)aTreeAdaptor description:(NSStr dirty = NO; singleElement = nil; isSingleElement = NO; - elements = [[NSMutableArray alloc] initWithArray:theElements]; + elements = [[AMutableArray arrayWithArray:theElements] retain]; } return self; } - (void) dealloc { - if (isSingleElement) - [singleElement release]; - else - [elements release]; +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRRewriteRuleElementStream" ); +#endif + if ( singleElement && isSingleElement ) [singleElement release]; + else if ( elements && !isSingleElement ) [elements release]; [self setDescription:nil]; [self setTreeAdaptor:nil]; [super dealloc]; @@ -133,9 +134,9 @@ - (void)reset - (void) setTreeAdaptor:(id)aTreeAdaptor { if (treeAdaptor != aTreeAdaptor) { - [treeAdaptor release]; - [treeAdaptor retain]; + if ( treeAdaptor ) [treeAdaptor release]; treeAdaptor = aTreeAdaptor; + [treeAdaptor retain]; } } @@ -153,7 +154,7 @@ - (void) addElement: (id)anElement return; } isSingleElement = NO; - elements = [[NSMutableArray arrayWithCapacity:5] retain]; + elements = [[AMutableArray arrayWithCapacity:5] retain]; [elements addObject:singleElement]; singleElement = nil; // balance previous retain in initializer/addElement [elements addObject:anElement]; @@ -173,7 +174,7 @@ - (void) setElement: (id)anElement return; } isSingleElement = NO; - elements = [[NSMutableArray arrayWithCapacity:5] retain]; + elements = [[AMutableArray arrayWithCapacity:5] retain]; [elements addObject:singleElement]; singleElement = nil; // balance previous retain in initializer/addElement [elements addObject:anElement]; @@ -250,7 +251,7 @@ - (void) setDescription:(NSString *) description if ( description != nil && description != elementDescription ) { if (elementDescription != nil) [elementDescription release]; elementDescription = [NSString stringWithString:description]; - [description release]; + [elementDescription retain]; } } diff --git a/runtime/ObjC/Framework/ANTLRRewriteRuleNodeStream.h b/runtime/ObjC/Framework/ANTLRRewriteRuleNodeStream.h old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/ANTLRRewriteRuleNodeStream.m b/runtime/ObjC/Framework/ANTLRRewriteRuleNodeStream.m old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.h b/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.h index f644c555..620a0bd4 100644 --- a/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.h +++ b/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.h @@ -41,7 +41,7 @@ /** Create a stream, but feed off an existing list */ + (id) newANTLRRewriteRuleTokenStream:(id)adaptor description:(NSString *)elementDescription - elements:(NSMutableArray *)elements; + elements:(AMutableArray *)elements; - (id) init; - (id) initWithTreeAdaptor:(id)anAdaptor @@ -51,7 +51,7 @@ element:(id)element; - (id) initWithTreeAdaptor:(id)anAdaptor description:(NSString *)aDescription - elements:(NSMutableArray *)elements; + elements:(AMutableArray *)elements; /** Get next token from stream and make a node for it */ - (id) nextNode; diff --git a/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.m b/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.m index f31f9615..5aea3f8f 100644 --- a/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.m +++ b/runtime/ObjC/Framework/ANTLRRewriteRuleTokenStream.m @@ -56,7 +56,7 @@ + (id) newANTLRRewriteRuleTokenStream:(id)adaptor /** Create a stream, but feed off an existing list */ + (id) newANTLRRewriteRuleTokenStream:(id)adaptor description:(NSString *)elementDescription - elements:(NSMutableArray *)elements + elements:(AMutableArray *)elements { return [[ANTLRRewriteRuleTokenStream alloc] initWithTreeAdaptor:adaptor description:elementDescription @@ -92,7 +92,7 @@ - (id) initWithTreeAdaptor:(id)anAdaptor - (id) initWithTreeAdaptor:(id)anAdaptor description:(NSString *)aDescription - elements:(NSMutableArray *)elementList + elements:(AMutableArray *)elementList { if ((self = [super initWithTreeAdaptor:anAdaptor description:aDescription diff --git a/runtime/ObjC/Framework/ANTLRRuleMapElement.m b/runtime/ObjC/Framework/ANTLRRuleMapElement.m index 906f2dfd..0e8c4632 100644 --- a/runtime/ObjC/Framework/ANTLRRuleMapElement.m +++ b/runtime/ObjC/Framework/ANTLRRuleMapElement.m @@ -93,9 +93,8 @@ - (id)getRuleNum - (void)setRuleNum:(id)aRuleNum { - if (aRuleNum != ruleNum) { - if (ruleNum != nil) - [ruleNum release]; + if ( aRuleNum != ruleNum ) { + if ( ruleNum ) [ruleNum release]; [aRuleNum retain]; } ruleNum = aRuleNum; diff --git a/runtime/ObjC/Framework/ANTLRRuleMemo.m b/runtime/ObjC/Framework/ANTLRRuleMemo.m index b53fdce9..836d355a 100644 --- a/runtime/ObjC/Framework/ANTLRRuleMemo.m +++ b/runtime/ObjC/Framework/ANTLRRuleMemo.m @@ -134,8 +134,8 @@ - (NSNumber *)getStartIndex; - (void)setStartIndex:(NSNumber *)aStartIndex { - if (aStartIndex != startIndex) { - if (startIndex != nil) [startIndex release]; + if ( aStartIndex != startIndex ) { + if ( startIndex ) [startIndex release]; [aStartIndex retain]; } startIndex = aStartIndex; @@ -148,8 +148,8 @@ - (NSNumber *)getStopIndex; - (void)setStopIndex:(NSNumber *)aStopIndex { - if (aStopIndex != stopIndex) { - if (stopIndex != nil) [stopIndex release]; + if ( aStopIndex != stopIndex ) { + if ( stopIndex ) [stopIndex release]; [aStopIndex retain]; } stopIndex = aStopIndex; diff --git a/runtime/ObjC/Framework/ANTLRRuleReturnScope.h b/runtime/ObjC/Framework/ANTLRRuleReturnScope.h index 4750c166..b9313ed3 100644 --- a/runtime/ObjC/Framework/ANTLRRuleReturnScope.h +++ b/runtime/ObjC/Framework/ANTLRRuleReturnScope.h @@ -43,7 +43,7 @@ - (id) getStop; /** Has a value potentially if output=AST; */ -- (id) getNode; +- (id) getTree; /** Has a value potentially if output=template; Don't use StringTemplate * type as it then causes a dependency with ST lib. diff --git a/runtime/ObjC/Framework/ANTLRRuleReturnScope.m b/runtime/ObjC/Framework/ANTLRRuleReturnScope.m index 59f60b7a..70878a37 100644 --- a/runtime/ObjC/Framework/ANTLRRuleReturnScope.m +++ b/runtime/ObjC/Framework/ANTLRRuleReturnScope.m @@ -47,7 +47,7 @@ - (id) getStop } /** Has a value potentially if output=AST; */ -- (id) getNode +- (id) getTree { return nil; } diff --git a/runtime/ObjC/Framework/ANTLRRuleStack.m b/runtime/ObjC/Framework/ANTLRRuleStack.m index ac58f576..39e93b21 100644 --- a/runtime/ObjC/Framework/ANTLRRuleStack.m +++ b/runtime/ObjC/Framework/ANTLRRuleStack.m @@ -44,12 +44,12 @@ @implementation ANTLRRuleStack + (ANTLRRuleStack *)newANTLRRuleStack { - return [[[ANTLRRuleStack alloc] init] retain]; + return [[ANTLRRuleStack alloc] init]; } + (ANTLRRuleStack *)newANTLRRuleStack:(NSInteger)cnt { - return [[[ANTLRRuleStack alloc] initWithLen:cnt] retain]; + return [[ANTLRRuleStack alloc] initWithLen:cnt]; } - (id)init @@ -68,6 +68,9 @@ - (id)initWithLen:(NSInteger)cnt - (void)dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRRuleStack" ); +#endif [super dealloc]; } @@ -111,7 +114,7 @@ - (void) insertObject:(ANTLRHashRule *)aRule atIndex:(NSInteger)idx [self ensureCapacity:idx]; } if ( aRule != ptrBuffer[idx] ) { - if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + if ( ptrBuffer[idx] ) [ptrBuffer[idx] release]; [aRule retain]; } ptrBuffer[idx] = aRule; diff --git a/runtime/ObjC/Framework/ANTLRRuntimeException.h b/runtime/ObjC/Framework/ANTLRRuntimeException.h index b0bf69b5..47834d26 100644 --- a/runtime/ObjC/Framework/ANTLRRuntimeException.h +++ b/runtime/ObjC/Framework/ANTLRRuntimeException.h @@ -98,3 +98,14 @@ - (id) initWithName:(NSString *)aName reason:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; @end + +@interface ANTLRUnsupportedOperationException : ANTLRRuntimeException { +} + ++ (id) newException:(NSString *)aReason; + +- (id) initWithName:(NSString *)aName reason:(NSString *)aReason; +- (id) initWithName:(NSString *)aMsg reason:(NSString *)aCause userInfo:(NSDictionary *)userInfo; + +@end + diff --git a/runtime/ObjC/Framework/ANTLRRuntimeException.m b/runtime/ObjC/Framework/ANTLRRuntimeException.m index b1f14e65..827fc437 100644 --- a/runtime/ObjC/Framework/ANTLRRuntimeException.m +++ b/runtime/ObjC/Framework/ANTLRRuntimeException.m @@ -243,9 +243,37 @@ - (id) init return self; } +- (id) initWithName:(NSString *)aName reason:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo +{ + self = [super initWithName:aName reason:aReason userInfo:aUserInfo]; + return(self); +} + - (NSString *) description { return [self name]; } @end + +@implementation ANTLRUnsupportedOperationException + ++ (id) newException:(NSString *)aReason +{ + return [[ANTLRRuntimeException alloc] initWithName:@"Unsupported Operation Exception" reason:aReason userInfo:nil]; +} + +- (id) initWithName:(NSString *)aName reason:(NSString *)aReason +{ + self=[super initWithName:aName reason:aReason userInfo:nil]; + return self; +} + +- (id) initWithName:(NSString *)aName reason:(NSString *)aReason userInfo:(NSDictionary *)userInfo +{ + self=[super initWithName:aName reason:aReason userInfo:userInfo]; + return self; +} + +@end + diff --git a/runtime/ObjC/Framework/ANTLRStreamEnumerator.h b/runtime/ObjC/Framework/ANTLRStreamEnumerator.h index b848cde9..9e102f2e 100644 --- a/runtime/ObjC/Framework/ANTLRStreamEnumerator.h +++ b/runtime/ObjC/Framework/ANTLRStreamEnumerator.h @@ -30,19 +30,19 @@ // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #import - +#import "AMutableArray.h" @interface ANTLRStreamEnumerator : NSEnumerator { NSInteger i; id eof; - NSMutableArray *nodes; + AMutableArray *nodes; } --(id) initWithNodes:(NSMutableArray *) n andEOF:(id) o; +-(id) initWithNodes:(AMutableArray *) n andEOF:(id) obj; -(BOOL) hasNext; @property NSInteger i; @property (retain) id eof; -@property (retain) NSMutableArray *nodes; +@property (retain) AMutableArray *nodes; @end diff --git a/runtime/ObjC/Framework/ANTLRStreamEnumerator.m b/runtime/ObjC/Framework/ANTLRStreamEnumerator.m index 4436de20..103646e8 100644 --- a/runtime/ObjC/Framework/ANTLRStreamEnumerator.m +++ b/runtime/ObjC/Framework/ANTLRStreamEnumerator.m @@ -44,13 +44,13 @@ -(id) init return self; } --(id) initWithNodes:(NSMutableArray *) n andEOF:(id) o +-(id) initWithNodes:(AMutableArray *) n andEOF:(id) obj { self = [self init]; if (self) { nodes = n; - eof = o; + eof = obj; } return self; } diff --git a/runtime/ObjC/Framework/ANTLRStringStream.h b/runtime/ObjC/Framework/ANTLRStringStream.h index d2342ef0..e004a15c 100644 --- a/runtime/ObjC/Framework/ANTLRStringStream.h +++ b/runtime/ObjC/Framework/ANTLRStringStream.h @@ -33,9 +33,9 @@ @interface ANTLRStringStream : NSObject < ANTLRCharStream > { NSString *data; NSInteger n; - NSInteger p; - NSInteger line; - NSInteger charPositionInLine; + NSInteger index; + NSUInteger line; + NSUInteger charPositionInLine; NSInteger markDepth; ANTLRPtrBuffer *markers; NSInteger lastMarker; @@ -72,8 +72,6 @@ - (NSInteger) LA:(NSInteger) i; - (NSInteger) LT:(NSInteger) i; -// returns the position of the current input symbol -- (NSInteger) getIndex; // total length of the input data - (NSInteger) size; @@ -88,18 +86,6 @@ - (NSString *) substring:(NSInteger)startIndex To:(NSInteger)stopIndex; - (NSString *) substringWithRange:(NSRange) theRange; -// used for tracking the current position in the input stream -- (NSInteger) getLine; -- (void) setLine:(NSInteger) theLine; -- (NSInteger) getCharPositionInLine; -- (void) setCharPositionInLine:(NSInteger) thePos; - -- (NSInteger) getN; -- (void) setN:(NSInteger)num; - -- (NSInteger) getP; -- (void) setP:(NSInteger)num; - - (ANTLRPtrBuffer *)getMarkers; - (void) setMarkers:(ANTLRPtrBuffer *)aMarkerList; @@ -110,10 +96,10 @@ // accessors to the raw data of this stream @property (retain) NSString *data; -@property (assign) NSInteger p; +@property (assign) NSInteger index; @property (assign) NSInteger n; -@property (assign) NSInteger line; -@property (assign) NSInteger charPositionInLine; +@property (assign) NSUInteger line; +@property (assign) NSUInteger charPositionInLine; @property (assign) NSInteger markDepth; @property (retain) ANTLRPtrBuffer *markers; @property (assign) NSInteger lastMarker; diff --git a/runtime/ObjC/Framework/ANTLRStringStream.m b/runtime/ObjC/Framework/ANTLRStringStream.m index 74092d97..1e1da4dd 100644 --- a/runtime/ObjC/Framework/ANTLRStringStream.m +++ b/runtime/ObjC/Framework/ANTLRStringStream.m @@ -33,7 +33,7 @@ @implementation ANTLRStringStream @synthesize data; @synthesize n; -@synthesize p; +@synthesize index; @synthesize line; @synthesize charPositionInLine; @synthesize markDepth; @@ -63,7 +63,7 @@ - (id) init { if ((self = [super init]) != nil) { n = 0; - p = 0; + index = 0; line = 1; charPositionInLine = 0; markDepth = 0; @@ -81,7 +81,7 @@ - (id) initWithString:(NSString *) theString //[self setData:[NSString stringWithString:theString]]; data = [theString retain]; n = [data length]; - p = 0; + index = 0; line = 1; charPositionInLine = 0; markDepth = 0; @@ -98,7 +98,7 @@ - (id) initWithStringNoCopy:(NSString *) theString //[self setData:theString]; data = [theString retain]; n = [data length]; - p = 0; + index = 0; line = 1; charPositionInLine = 0; markDepth = 0; @@ -115,7 +115,7 @@ - (id) initWithData:(char *)myData Count:(NSInteger)numBytes if ((self = [super init]) != nil) { data = [NSString stringWithCString:myData encoding:NSASCIIStringEncoding]; n = numBytes; - p = 0; + index = 0; line = 1; charPositionInLine = 0; markDepth = 0; @@ -129,13 +129,18 @@ - (id) initWithData:(char *)myData Count:(NSInteger)numBytes - (void) dealloc { - if (markers != nil) { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRStringStream" ); +#endif + if ( markers && [markers count] ) { [markers removeAllObjects]; [markers release]; + markers = nil; + } + if ( data ) { + [data release]; + data = nil; } - if (data != nil) [data release]; - markers = nil; - data = nil; [super dealloc]; } @@ -148,7 +153,7 @@ - (id) copyWithZone:(NSZone *)aZone if ( data != nil ) copy.data = [self.data copyWithZone:aZone]; copy.n = n; - copy.p = p; + copy.index = index; copy.line = line; copy.charPositionInLine = charPositionInLine; copy.markDepth = markDepth; @@ -164,13 +169,14 @@ - (id) copyWithZone:(NSZone *)aZone // the streams content is not reset! - (void) reset { - p = 0; + index = 0; line = 1; charPositionInLine = 0; markDepth = 0; - [markers removeAllObjects]; - [markers addObject:[NSNull null]]; // ANTLR generates code that assumes markers to be 1-based, - // thus the initial null in the array! + if ( markers && [markers count] ) + [markers removeAllObjects]; + [markers addObject:[NSNull null]]; // ANTLR generates code that assumes markers to be 1-based, + // thus the initial null in the array! } // read one character off the stream, tracking line numbers and character positions @@ -179,13 +185,13 @@ - (void) reset // handling. Do not call super in that case. - (void) consume { - if ( p < n ) { + if ( index < n ) { charPositionInLine++; - if ( [data characterAtIndex:p] == '\n' ) { + if ( [data characterAtIndex:index] == '\n' ) { line++; charPositionInLine=0; } - p++; + index++; } } @@ -197,14 +203,14 @@ - (NSInteger) LA:(NSInteger) i return 0; // undefined if ( i < 0 ) { i++; - if ( p+i-1 < 0 ) { + if ( index+i-1 < 0 ) { return ANTLRCharStreamEOF; } } - if ( (p+i-1) >= n ) { + if ( (index+i-1) >= n ) { return ANTLRCharStreamEOF; } - c = [data characterAtIndex:p+i-1]; + c = [data characterAtIndex:index+i-1]; return (NSInteger)c; } @@ -213,12 +219,6 @@ - (NSInteger) LT:(NSInteger)i return [self LA:i]; } -// current input position -- (NSInteger) getIndex -{ - return p; -} - - (NSInteger) size { return n; @@ -245,38 +245,38 @@ - (NSInteger) mark if ( markDepth == 1 ) State = charState; [markers insertObject:State atIndex:markDepth]; - if (debug > 1) NSLog(@"mark save State %x at %d, p=%d, line=%d, charPositionInLine=%d\n", State, markDepth, State.p, State.line, State.charPositionInLine); + if (debug > 1) NSLog(@"mark save State %x at %d, index=%d, line=%d, charPositionInLine=%d\n", (NSUInteger)State, markDepth, State.index, State.line, State.charPositionInLine); } else { - if (debug > 1) NSLog(@"mark retrieve markers=%x markDepth=%d\n", markers, markDepth); + if (debug > 1) NSLog(@"mark retrieve markers=%x markDepth=%d\n", (NSUInteger)markers, markDepth); State = [markers objectAtIndex:markDepth]; [State retain]; State = (ANTLRCharStreamState *)[markers objectAtIndex:markDepth]; - if (debug > 1) NSLog(@"mark retrieve charState %x from %d, p=%d, line=%d, charPositionInLine=%d\n", State, markDepth, State.p, State.line, State.charPositionInLine); + if (debug > 1) NSLog(@"mark retrieve charState %x from %d, index=%d, line=%d, charPositionInLine=%d\n", (NSUInteger)State, markDepth, State.index, State.line, State.charPositionInLine); } - State.p = p; + State.index = index; State.line = line; State.charPositionInLine = charPositionInLine; lastMarker = markDepth; - if (debug > 1) NSLog(@"mark exit -- markers=%x, charState=%x, p=%d, line=%d, charPositionInLine=%d\n", markers, State, State.p, State.line, State.charPositionInLine); + if (debug > 1) NSLog(@"mark exit -- markers=%x, charState=%x, index=%d, line=%d, charPositionInLine=%d\n", (NSUInteger)markers, (NSUInteger)State, State.index, State.line, State.charPositionInLine); return markDepth; } - (void) rewind:(NSInteger) marker { ANTLRCharStreamState *State; - if (debug > 1) NSLog(@"rewind entry -- markers=%x marker=%d\n", markers, marker); + if (debug > 1) NSLog(@"rewind entry -- markers=%x marker=%d\n", (NSUInteger)markers, marker); if ( marker == 1 ) State = charState; else State = (ANTLRCharStreamState *)[markers objectAtIndex:marker]; - if (debug > 1) NSLog(@"rewind entry -- marker=%d charState=%x, p=%d, line=%d, charPositionInLine=%d\n", marker, charState, charState.p, charState.line, charState.charPositionInLine); + if (debug > 1) NSLog(@"rewind entry -- marker=%d charState=%x, index=%d, line=%d, charPositionInLine=%d\n", marker, (NSUInteger)charState, charState.index, charState.line, charState.charPositionInLine); // restore stream charState - [self seek:State.p]; + [self seek:State.index]; line = State.line; charPositionInLine = charState.charPositionInLine; [self release:marker]; - if (debug > 1) NSLog(@"rewind exit -- marker=%d charState=%x, p=%d, line=%d, charPositionInLine=%d\n", marker, charState, charState.p, charState.line, charState.charPositionInLine); + if (debug > 1) NSLog(@"rewind exit -- marker=%d charState=%x, index=%d, line=%d, charPositionInLine=%d\n", marker, (NSUInteger)charState, charState.index, charState.line, charState.charPositionInLine); } - (void) rewind @@ -300,17 +300,17 @@ - (void) release:(NSInteger) marker // so we just take it from there. - (void) seek:(NSInteger) anIndex { - if (debug > 1) NSLog(@"seek entry -- index=%d p=%d\n", anIndex, p); - if ( anIndex <= p ) { - p = anIndex; // just jump; don't update stream charState (line, ...) - if (debug > 1) NSLog(@"seek exit return -- index=%d p=%d\n", anIndex, p); + if (debug > 1) NSLog(@"seek entry -- seekIndex=%d index=%d\n", anIndex, index); + if ( anIndex <= index ) { + index = anIndex; // just jump; don't update stream charState (line, ...) + if (debug > 1) NSLog(@"seek exit return -- index=%d index=%d\n", anIndex, index); return; } - // seek forward, consume until p hits anIndex - while ( p < anIndex ) { + // seek forward, consume until index hits anIndex + while ( index < anIndex ) { [self consume]; } - if (debug > 1) NSLog(@"seek exit end -- index=%d p=%d\n", anIndex, p); + if (debug > 1) NSLog(@"seek exit end -- index=%d index=%d\n", anIndex, index); } // get a substring from our raw data. @@ -327,46 +327,6 @@ - (NSString *) substringWithRange:(NSRange) theRange } -- (NSInteger) getP -{ - return p; -} - -- (void) setP:(NSInteger)num -{ - p = num; -} - -- (NSInteger) getN -{ - return n; -} - -- (void) setN:(NSInteger)num -{ - n = num; -} - -- (NSInteger) getLine -{ - return line; -} - -- (void) setLine:(NSInteger) theLine -{ - line = theLine; -} - -- (NSInteger) getCharPositionInLine -{ - return charPositionInLine; -} - -- (void) setCharPositionInLine:(NSInteger) thePos -{ - charPositionInLine = thePos; -} - - (ANTLRPtrBuffer *)getMarkers { return markers; @@ -384,7 +344,11 @@ - (NSString *)getSourceName - (void) setSourceName:(NSString *)aName { - name = aName; + if ( name != aName ) { + if ( name ) [name release]; + if ( aName ) [aName retain]; + name = aName; + } } @@ -414,9 +378,9 @@ - (NSString *) getData - (void) setData: (NSString *) aData { if (data != aData) { + if ( data ) [data release]; data = [NSString stringWithString:aData]; [data retain]; - [aData release]; } } diff --git a/runtime/ObjC/Framework/ANTLRStringStreamState.h b/runtime/ObjC/Framework/ANTLRStringStreamState.h index 29d4765a..eda483b3 100644 --- a/runtime/ObjC/Framework/ANTLRStringStreamState.h +++ b/runtime/ObjC/Framework/ANTLRStringStreamState.h @@ -51,6 +51,8 @@ - (void) setCharPositionInLine: (NSUInteger) aCharPositionInLine; - +@property (assign) NSUInteger index; +@property (assign) NSUInteger line; +@property (assign) NSUInteger charPositionInLine; @end diff --git a/runtime/ObjC/Framework/ANTLRSymbolStack.m b/runtime/ObjC/Framework/ANTLRSymbolStack.m index 48e45ca0..3c43ebb6 100644 --- a/runtime/ObjC/Framework/ANTLRSymbolStack.m +++ b/runtime/ObjC/Framework/ANTLRSymbolStack.m @@ -83,6 +83,9 @@ -(id)initWithLen:(NSInteger)cnt -(void)dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRSymbolStack" ); +#endif [super dealloc]; } @@ -108,8 +111,8 @@ -(ANTLRSymbolsScope *) pop - (void) insertObject:(ANTLRSymbolsScope *)aRule atIndex:(NSInteger)idx { - if (aRule != ptrBuffer[idx]) { - if (ptrBuffer[idx] != nil) [ptrBuffer[idx] release]; + if ( aRule != ptrBuffer[idx] ) { + if ( ptrBuffer[idx] ) [ptrBuffer[idx] release]; [aRule retain]; } ptrBuffer[idx] = aRule; diff --git a/runtime/ObjC/Framework/ANTLRToken+DebuggerSupport.m b/runtime/ObjC/Framework/ANTLRToken+DebuggerSupport.m index 21587711..114b236c 100644 --- a/runtime/ObjC/Framework/ANTLRToken+DebuggerSupport.m +++ b/runtime/ObjC/Framework/ANTLRToken+DebuggerSupport.m @@ -50,10 +50,10 @@ - (NSString *)debuggerDescription // format is tokenIndex, type, channel, line, col, (escaped)text return [NSString stringWithFormat:@"%u %d %u %u %u \"%@", [self getTokenIndex], - [self getType], - [self getChannel], - [self getLine], - [self getCharPositionInLine], + self.type, + self.channel, + self.line, + self.charPositionInLine, escapedText ]; } diff --git a/runtime/ObjC/Framework/ANTLRToken.h b/runtime/ObjC/Framework/ANTLRToken.h index df5f33f3..04724bd0 100644 --- a/runtime/ObjC/Framework/ANTLRToken.h +++ b/runtime/ObjC/Framework/ANTLRToken.h @@ -27,17 +27,21 @@ #import +#ifndef DEBUG_DEALLOC +#define DEBUG_DEALLOC +#endif + typedef enum { - ANTLRTokenTypeEOF = -1, - ANTLRTokenTypeInvalid, - ANTLRTokenTypeEOR, - ANTLRTokenTypeDOWN, - ANTLRTokenTypeUP, - ANTLRTokenTypeMIN + ANTLRTokenTypeEOF = -1, + ANTLRTokenTypeInvalid, + ANTLRTokenTypeEOR, + ANTLRTokenTypeDOWN, + ANTLRTokenTypeUP, + ANTLRTokenTypeMIN } ANTLRTokenType; typedef enum { - ANTLRTokenChannelDefault = 0, + ANTLRTokenChannelDefault = 0, ANTLRTokenChannelHidden = 99 } ANTLRTokenChannel; @@ -45,8 +49,10 @@ typedef enum { @protocol ANTLRToken < NSObject, NSCopying > -@property (retain) NSString *text; +@property (retain, getter = text, setter = setText:) NSString *text; @property (assign) NSInteger type; +@property (assign) NSUInteger line; +@property (assign) NSUInteger charPositionInLine; // The singleton eofToken instance. + (id) eofToken; @@ -54,24 +60,24 @@ typedef enum { + (ANTLRTokenChannel) defaultChannel; // provide hooks to explicitely set the text as opposed to use the indices into the CharStream -- (NSString *) getText; -- (void) setText:(NSString *) theText; +- (NSString *) text; +- (void) setText:(NSString *)theText; -- (NSInteger) getType; +- (NSInteger)type; - (void) setType: (NSInteger) aType; // ANTLR v3 provides automatic line and position tracking. Subclasses do not need to // override these, if they do not want to store line/pos tracking information -- (NSUInteger) getLine; +- (NSUInteger)line; - (void) setLine: (NSUInteger) aLine; -- (NSUInteger) getCharPositionInLine; -- (void) setCharPositionInLine: (NSUInteger) aCharPositionInLine; +- (NSUInteger)charPositionInLine; +- (void) setCharPositionInLine:(NSUInteger)aCharPositionInLine; // explicitely change the channel this Token is on. The default parser implementation // just sees the defaultChannel // Common idiom is to put whitespace tokens on channel 99. -- (NSUInteger) getChannel; +- (NSUInteger)channel; - (void) setChannel: (NSUInteger) aChannel; // the index of this Token into the TokenStream diff --git a/runtime/ObjC/Framework/ANTLRTokenRewriteStream.h b/runtime/ObjC/Framework/ANTLRTokenRewriteStream.h index 0d8681f7..7b971680 100644 --- a/runtime/ObjC/Framework/ANTLRTokenRewriteStream.h +++ b/runtime/ObjC/Framework/ANTLRTokenRewriteStream.h @@ -40,23 +40,23 @@ @interface ANTLRRewriteOperation : ANTLRCommonTokenStream { -/** What index into rewrites List are we? */ +/** What rwIndex into rewrites List are we? */ NSInteger instructionIndex; -/** Token buffer index. */ -NSInteger index; +/** Token buffer rwIndex. */ +NSInteger rwIndex; NSString *text; } @property (getter=getInstructionIndex, setter=setInstructionIndex:) NSInteger instructionIndex; -@property (getter=getIndex, setter=setIndex:) NSInteger index; -@property (retain, getter=getText, setter=setText:) NSString *text; +@property (assign) NSInteger rwIndex; +@property (retain, getter=text, setter=setText:) NSString *text; -+ (ANTLRRewriteOperation *) newANTLRRewriteOperation:(NSInteger)index Text:(NSString *)text; ++ (ANTLRRewriteOperation *) newANTLRRewriteOperation:(NSInteger)anIndex Text:(NSString *)text; - (id) initWithIndex:(NSInteger)anIndex Text:(NSString *)theText; /** Execute the rewrite operation by possibly adding to the buffer. - * Return the index of the next token to operate on. + * Return the rwIndex of the next token to operate on. */ - (NSInteger) execute:(NSString *)buf; @@ -79,7 +79,7 @@ NSString *text; NSInteger lastIndex; } -@property (getter=getLastIndex, setter=setLastIndex:) NSInteger lastIndex; +@property (assign) NSInteger lastIndex; + (ANTLRReplaceOp *) newANTLRReplaceOp:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString*)theText; - (id) initWithIndex:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString *)theText; @@ -107,7 +107,7 @@ NSString *text; */ ANTLRHashMap *programs; -/** Map String (program name) -> Integer index */ +/** Map String (program name) -> Integer rwIndex */ ANTLRHashMap *lastRewriteTokenIndexes; } @@ -136,7 +136,7 @@ ANTLRHashMap *lastRewriteTokenIndexes; - (void) insertBeforeToken:(id)t Text:(NSString *)theText; - (void) insertBeforeIndex:(NSInteger)anIndex Text:(NSString *)theText; -- (void) insertBeforeProgName:(NSString *)programName Index:(NSInteger)index Text:(NSString *)theText; +- (void) insertBeforeProgName:(NSString *)programName Index:(NSInteger)anIndex Text:(NSString *)theText; - (void) replaceFromIndex:(NSInteger)anIndex Text:(NSString *)theText; - (void) replaceFromIndex:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString *)theText; - (void) replaceFromToken:(id)indexT Text:(NSString *)theText; diff --git a/runtime/ObjC/Framework/ANTLRTokenRewriteStream.m b/runtime/ObjC/Framework/ANTLRTokenRewriteStream.m index 878b0d26..e94f8857 100644 --- a/runtime/ObjC/Framework/ANTLRTokenRewriteStream.m +++ b/runtime/ObjC/Framework/ANTLRTokenRewriteStream.m @@ -43,7 +43,7 @@ @implementation ANTLRRewriteOperation @synthesize instructionIndex; -@synthesize index; +@synthesize rwIndex; @synthesize text; + (ANTLRRewriteOperation *) newANTLRRewriteOperation:(NSInteger)anIndex Text:(NSString *)theText @@ -54,18 +54,18 @@ + (ANTLRRewriteOperation *) newANTLRRewriteOperation:(NSInteger)anIndex Text:(NS - (id) initWithIndex:(NSInteger)anIndex Text:(NSString *)theText { if ((self = [super init]) != nil) { - index = anIndex; + rwIndex = anIndex; text = theText; } return self; } /** Execute the rewrite operation by possibly adding to the buffer. - * Return the index of the next token to operate on. + * Return the rwIndex of the next token to operate on. */ - (NSInteger) execute:(NSString *)buf { - return index; + return rwIndex; } - (NSString *)toString @@ -73,7 +73,7 @@ - (NSString *)toString NSString *opName = [self className]; int $index = [self indexOf:'$' inString:opName]; opName = [opName substringWithRange:NSMakeRange($index+1, [opName length])]; - return [NSString stringWithFormat:@"<%@%d:\"%@\">", opName, index, opName]; + return [NSString stringWithFormat:@"<%@%d:\"%@\">", opName, rwIndex, opName]; } - (NSInteger) indexOf:(char)aChar inString:(NSString *)aString @@ -101,7 +101,7 @@ + (ANTLRInsertBeforeOp *) newANTLRInsertBeforeOp:(NSInteger) anIndex Text:(NSStr - (id) initWithIndex:(NSInteger)anIndex Text:(NSString *)theText { if ((self = [super initWithIndex:anIndex Text:theText]) != nil) { - index = anIndex; + rwIndex = anIndex; text = theText; } return self; @@ -111,10 +111,10 @@ - (id) initWithIndex:(NSInteger)anIndex Text:(NSString *)theText - (NSInteger) execute:(NSMutableString *)buf { [buf appendString:text]; - if ( [[tokens objectAtIndex:index] getType] != ANTLRTokenTypeEOF ) { - [buf appendString:[[tokens objectAtIndex:index] getText]]; + if ( ((ANTLRCommonToken *)[tokens objectAtIndex:rwIndex]).type != ANTLRTokenTypeEOF ) { + [buf appendString:[[tokens objectAtIndex:rwIndex] text]]; } - return index+1; + return rwIndex+1; } @end @@ -124,6 +124,8 @@ - (NSInteger) execute:(NSMutableString *)buf */ @implementation ANTLRReplaceOp +@synthesize lastIndex; + + (ANTLRReplaceOp *) newANTLRReplaceOp:(NSInteger)from ToIndex:(NSInteger)to Text:(NSString*)theText { return [[ANTLRReplaceOp alloc] initWithIndex:from ToIndex:to Text:theText]; @@ -148,7 +150,7 @@ - (NSInteger) execute:(NSMutableString *)buf - (NSString *)toString { - return [NSString stringWithFormat:@"%@\n", index, lastIndex, text]; + return [NSString stringWithFormat:@"%@\n", rwIndex, lastIndex, text]; } @end @@ -171,7 +173,7 @@ - (id) initWithIndex:(NSInteger)from ToIndex:(NSInteger)to - (NSString *)toString { - return [NSString stringWithFormat:@"= MIN_TOKEN_INDEX && i <= end && i< [tokens count]; i++) { - if ( [[lastRewriteTokenIndexes objectAtIndex:i] getType] != ANTLRTokenTypeEOF ) - [buf appendString:[[tokens objectAtIndex:i] getText]]; + if ( [[lastRewriteTokenIndexes objectAtIndex:i] type] != ANTLRTokenTypeEOF ) + [buf appendString:[[tokens objectAtIndex:i] text]]; } return [NSString stringWithString:buf]; } @@ -475,12 +477,12 @@ - (NSString *)toString:(NSString *)programName FromStart:(NSInteger)start ToEnd: int i = start; while ( i <= end && i < [tokens count] ) { ANTLRRewriteOperation *op = (ANTLRRewriteOperation *)[indexToOp objectAtIndex:i]; - [indexToOp setObject:nil atIndex:i]; // remove so any left have index size-1 + [indexToOp setObject:nil atIndex:i]; // remove so any left have rwIndex size-1 idt = (id) [tokens objectAtIndex:i]; if ( op == nil ) { - // no operation at that index, just dump token - if ( [t getType] != ANTLRTokenTypeEOF ) - [buf appendString:[t getText]]; + // no operation at that rwIndex, just dump token + if ( t.type != ANTLRTokenTypeEOF ) + [buf appendString:t.text]; i++; // move to next token } else { @@ -488,7 +490,7 @@ - (NSString *)toString:(NSString *)programName FromStart:(NSInteger)start ToEnd: } } - // include stuff after end if it's last index in buffer + // include stuff after end if it's last rwIndex in buffer // So, if they did an insertAfter(lastValidIndex, "foo"), include // foo if end==lastValidIndex. //if ( end == [tokens size]-1 ) { @@ -498,7 +500,7 @@ - (NSString *)toString:(NSString *)programName FromStart:(NSInteger)start ToEnd: int i2 = 0; while ( i2 < [indexToOp count] - 1 ) { ANTLRRewriteOperation *op = [indexToOp objectAtIndex:i2]; - if ( op.index >= [tokens count]-1 ) { + if ( op.rwIndex >= [tokens count]-1 ) { [buf appendString:op.text]; } } @@ -508,7 +510,7 @@ - (NSString *)toString:(NSString *)programName FromStart:(NSInteger)start ToEnd: /** We need to combine operations and report invalid operations (like * overlapping replaces that are not completed nested). Inserts to - * same index need to be combined etc... Here are the cases: + * same rwIndex need to be combined etc... Here are the cases: * * I.i.u I.j.v leave alone, nonoverlapping * I.i.u I.i.v combine: Iivu @@ -524,7 +526,7 @@ - (NSString *)toString:(NSString *)programName FromStart:(NSInteger)start ToEnd: * R.x-y.v I.x.u R.x-y.uv (combine, delete I) * R.x-y.v I.i.u | i not in x-y leave alone, nonoverlapping * - * I.i.u = insert u before op @ index i + * I.i.u = insert u before op @ rwIndex i * R.x-y.u = replace x-y indexed tokens with u * * First we need to examine replaces. For any replace op: @@ -536,20 +538,20 @@ - (NSString *)toString:(NSString *)programName FromStart:(NSInteger)start ToEnd: * * Then we can deal with inserts: * - * 1. for any inserts to same index, combine even if not adjacent. + * 1. for any inserts to same rwIndex, combine even if not adjacent. * 2. for any prior replace with same left boundary, combine this * insert with replace and delete this replace. - * 3. throw exception if index in same range as previous replace + * 3. throw exception if rwIndex in same range as previous replace * * Don't actually delete; make op null in list. Easier to walk list. - * Later we can throw as we add to index -> op map. + * Later we can throw as we add to rwIndex -> op map. * * Note that I.2 R.2-2 will wipe out I.2 even though, technically, the * inserted stuff would be before the replace range. But, if you * add tokens in front of a method body '{' and then delete the method * body, I think the stuff before the '{' you added should disappear too. * - * Return a map from token index to operation. + * Return a map from token rwIndex to operation. */ - (ANTLRHashMap *)reduceToSingleOperationPerIndex:(ANTLRHashMap *)rewrites { @@ -568,7 +570,7 @@ - (ANTLRHashMap *)reduceToSingleOperationPerIndex:(ANTLRHashMap *)rewrites ANTLRHashMap *inserts = [self getKindOfOps:rewrites KindOfClass:[ANTLRInsertBeforeOp class] Index:i]; for (int j = 0; j < [inserts size]; j++) { ANTLRInsertBeforeOp *iop = (ANTLRInsertBeforeOp *)[inserts objectAtIndex:j]; - if ( iop.index >= rop.index && iop.index <= rop.lastIndex ) { + if ( iop.rwIndex >= rop.rwIndex && iop.rwIndex <= rop.lastIndex ) { // delete insert as it's a no-op. [rewrites insertObject:nil atIndex:iop.instructionIndex]; } @@ -577,14 +579,14 @@ - (ANTLRHashMap *)reduceToSingleOperationPerIndex:(ANTLRHashMap *)rewrites ANTLRHashMap *prevReplaces = [self getKindOfOps:rewrites KindOfClass:[ANTLRReplaceOp class] Index:i]; for (int j = 0; j < [prevReplaces count]; j++) { ANTLRReplaceOp *prevRop = (ANTLRReplaceOp *) [prevReplaces objectAtIndex:j]; - if ( prevRop.index>=rop.index && prevRop.lastIndex <= rop.lastIndex ) { + if ( prevRop.rwIndex>=rop.rwIndex && prevRop.lastIndex <= rop.lastIndex ) { // delete replace as it's a no-op. [rewrites setObject:nil atIndex:prevRop.instructionIndex]; continue; } // throw exception unless disjoint or identical - BOOL disjoint = prevRop.lastIndex rop.lastIndex; - BOOL same = prevRop.index==rop.index && prevRop.lastIndex==rop.lastIndex; + BOOL disjoint = prevRop.lastIndex rop.lastIndex; + BOOL same = prevRop.rwIndex==rop.rwIndex && prevRop.lastIndex==rop.lastIndex; if ( !disjoint && !same ) { @throw [ANTLRIllegalArgumentException newException: [NSString stringWithFormat:@"replace op boundaries of %@, overlap with previous %@\n", rop, prevRop]]; @@ -600,11 +602,11 @@ - (ANTLRHashMap *)reduceToSingleOperationPerIndex:(ANTLRHashMap *)rewrites if ( !([[op class] isKindOfClass:[ANTLRInsertBeforeOp class]]) ) continue; ANTLRInsertBeforeOp *iop = (ANTLRInsertBeforeOp *)[rewrites objectAtIndex:i]; - // combine current insert with prior if any at same index + // combine current insert with prior if any at same rwIndex ANTLRHashMap *prevInserts = (ANTLRHashMap *)[self getKindOfOps:rewrites KindOfClass:[ANTLRInsertBeforeOp class] Index:i]; for (int j = 0; j < [prevInserts count]; j++) { ANTLRInsertBeforeOp *prevIop = (ANTLRInsertBeforeOp *) [prevInserts objectAtIndex:j]; - if ( prevIop.index == iop.index ) { // combine objects + if ( prevIop.rwIndex == iop.rwIndex ) { // combine objects // convert to strings...we're in process of toString'ing // whole token buffer so no lazy eval issue with any templates iop.text = [self catOpText:iop.text PrevText:prevIop.text]; @@ -612,16 +614,16 @@ - (ANTLRHashMap *)reduceToSingleOperationPerIndex:(ANTLRHashMap *)rewrites [rewrites setObject:nil atIndex:prevIop.instructionIndex]; } } - // look for replaces where iop.index is in range; error + // look for replaces where iop.rwIndex is in range; error ANTLRHashMap *prevReplaces = (ANTLRHashMap *)[self getKindOfOps:rewrites KindOfClass:[ANTLRReplaceOp class] Index:i]; for (int j = 0; j < [prevReplaces count]; j++) { ANTLRReplaceOp *rop = (ANTLRReplaceOp *) [prevReplaces objectAtIndex:j]; - if ( iop.index == rop.index ) { + if ( iop.rwIndex == rop.rwIndex ) { rop.text = [self catOpText:iop.text PrevText:rop.text]; [rewrites setObject:nil atIndex:i]; // delete current insert continue; } - if ( iop.index >= rop.index && iop.index <= rop.lastIndex ) { + if ( iop.rwIndex >= rop.rwIndex && iop.rwIndex <= rop.lastIndex ) { @throw [ANTLRIllegalArgumentException newException:[NSString stringWithFormat:@"insert op %d within boundaries of previous %d", iop, rop]]; } } @@ -632,14 +634,14 @@ - (ANTLRHashMap *)reduceToSingleOperationPerIndex:(ANTLRHashMap *)rewrites ANTLRRewriteOperation *op = (ANTLRRewriteOperation *)[rewrites objectAtIndex:i]; if ( op == nil ) continue; // ignore deleted ops - if ( [m objectAtIndex:op.index] != nil ) { - @throw [ANTLRRuntimeException newException:@"should only be one op per index\n"]; + if ( [m objectAtIndex:op.rwIndex] != nil ) { + @throw [ANTLRRuntimeException newException:@"should only be one op per rwIndex\n"]; } - //[m put(new Integer(op.index), op); - [m setObject:op atIndex:op.index]; + //[m put(new Integer(op.rwIndex), op); + [m setObject:op atIndex:op.rwIndex]; } - //System.out.println("index to op: "+m); - if (debug > 1) NSLog(@"index to op %d\n", m); + //System.out.println("rwIndex to op: "+m); + if (debug > 1) NSLog(@"rwIndex to op %d\n", (NSInteger)m); return m; } @@ -659,7 +661,7 @@ - (ANTLRHashMap *)getKindOfOps:(ANTLRHashMap *)rewrites KindOfClass:(Class)kind return [self getKindOfOps:rewrites KindOfClass:kind Index:[rewrites count]]; } -/** Get all operations before an index of a particular kind */ +/** Get all operations before an rwIndex of a particular kind */ - (ANTLRHashMap *)getKindOfOps:(ANTLRHashMap *)rewrites KindOfClass:(Class)kind Index:(NSInteger)before { ANTLRHashMap *ops = [ANTLRHashMap newANTLRHashMapWithLen:15]; @@ -682,7 +684,7 @@ - (NSMutableString *)toDebugStringFromStart:(NSInteger)start ToEnd:(NSInteger)en { NSMutableString *buf = [NSMutableString stringWithCapacity:100]; for (int i = start; i >= MIN_TOKEN_INDEX && i <= end && i < [tokens count]; i++) { - [buf appendString:[[tokens objectAtIndex:i] getText]]; + [buf appendString:[[tokens objectAtIndex:i] text]]; } return [NSString stringWithString:buf]; } diff --git a/runtime/ObjC/Framework/ANTLRTree.h b/runtime/ObjC/Framework/ANTLRTree.h index f269b2d8..32f603a9 100644 --- a/runtime/ObjC/Framework/ANTLRTree.h +++ b/runtime/ObjC/Framework/ANTLRTree.h @@ -24,6 +24,12 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#ifndef DEBUG_DEALLOC +#define DEBUG_DEALLOC +#endif + +#import "AMutableArray.h" + @protocol ANTLRTree < NSObject, NSCopying > //+ (id) invalidNode; @@ -46,7 +52,7 @@ /** Return a list of all ancestors of this node. The first node of * list is the root and the last is the parent of this node. */ -- (NSMutableArray *) getAncestors; +- (AMutableArray *) getAncestors; /** This node is what child index? 0..n-1 */ - (NSInteger) getChildIndex; @@ -73,7 +79,7 @@ */ - (void) replaceChildrenFrom:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; -- (NSArray *) getChildren; +- (NSArray *) children; // Add t as a child to this node. If t is null, do nothing. If t // is nil, add all children of t to this' children. @@ -108,12 +114,12 @@ - (id) deepCopyWithZone:(NSZone *)aZone; #pragma mark Tree Parser support -- (NSInteger) getType; -- (NSString *) getText; +- (NSInteger)type; +- (NSString *)text; // In case we don't have a token payload, what is the line for errors? -- (NSInteger) getLine; -- (NSInteger) getCharPositionInLine; -- (void) setCharPositionInLine:(NSInteger)pos; +- (NSUInteger)line; +- (NSUInteger)charPositionInLine; +- (void) setCharPositionInLine:(NSUInteger)pos; #pragma mark Informational - (NSString *) treeDescription; diff --git a/runtime/ObjC/Framework/ANTLRTreeAdaptor.h b/runtime/ObjC/Framework/ANTLRTreeAdaptor.h index a2bab1ff..e0d94e04 100644 --- a/runtime/ObjC/Framework/ANTLRTreeAdaptor.h +++ b/runtime/ObjC/Framework/ANTLRTreeAdaptor.h @@ -35,8 +35,8 @@ #pragma mark Construction #pragma mark ANTLRTreeAdaptor implementation -- (id)dupNode:(id)aNode; // copies just the node -- (id)dupTree:(id)aTree; // copies the entire subtree, recursively +- (id)dupNode:(id)aNode; // copies just the node +- (id)dupTree:(id)aTree; // copies the entire subtree, recursively /** Return a nil node (an empty but non-null node) that can hold * a list of element as the children. If you want a flat tree (a list) @@ -64,10 +64,10 @@ Exception:(NSException *) e; /** Is tree considered a nil node used to make lists of child nodes? */ -- (BOOL) isNil:(id)aTree; +- (BOOL) isNil:(id)aTree; -- (void) addChild:(id)child toTree:(id)aTree; +- (void) addChild:(id)child toTree:(id)aTree; /** If oldRoot is a nil root, just copy or move the children to newRoot. * If not a nil root, make oldRoot a child of newRoot. @@ -95,198 +95,63 @@ * constructing these nodes so we should have this control for * efficiency. */ -- (id) becomeRoot:(id)newRoot old:(id)oldRoot; +- (id) becomeRoot:(id)newRoot old:(id)oldRoot; -- (id) rulePostProcessing:(id)root; +- (id) rulePostProcessing:(id)root; #pragma mark Rewrite Rules -- (NSUInteger) getUniqueID:(id)aNode; +- (NSUInteger) getUniqueID:(id)aNode; -- (id) create:(id)payload; -- (id) createTree:(NSInteger)tokenType FromToken:(id)fromToken; -- (id) createTree:(NSInteger)tokenType FromToken:(id)fromToken Text:(NSString *)text; -- (id) createTree:(NSInteger)tokenType Text:(NSString *)text; +- (id) create:(id)payload; +- (id) createTree:(NSInteger)tokenType FromToken:(id)fromToken; +- (id) createTree:(NSInteger)tokenType FromToken:(id)fromToken Text:(NSString *)text; +- (id) createTree:(NSInteger)tokenType Text:(NSString *)text; #pragma mark Content -- (id)dupNode:(id)aNode; -- (id)dupTree:(id)aTree; +- (id)dupNode:(id)aNode; +- (id)dupTree:(id)aTree; -- (NSInteger) getType:(id)aNode; -- (void) setType:(id)aNode Type:(NSInteger)tokenType; +- (NSInteger) getType:(id)aNode; +- (void) setType:(id)aNode Type:(NSInteger)tokenType; -- (NSString *) getText:(id)aNode; -- (void) setText:(id)aNode Text:(NSString *)tokenText; +- (NSString *) getText:(id)aNode; +- (void) setText:(id)aNode Text:(NSString *)tokenText; -- (id) getToken:(id)t; +//- (id) getToken:(id)t; -- (void) setTokenBoundaries:(id)aTree From:(id)startToken To:(id)stopToken; -- (NSInteger) getTokenStartIndex:(id)aTree; -- (NSInteger) getTokenStopIndex:(id)aTree; +- (void) setTokenBoundaries:(id)aTree From:(id)startToken To:(id)stopToken; +- (NSInteger) getTokenStartIndex:(id)aTree; +- (NSInteger) getTokenStopIndex:(id)aTree; #pragma mark Navigation / Tree Parsing /** Get a child 0..n-1 node */ -- (id) getChild:(id)aNode At:(NSInteger) i; +- (id) getChild:(id)aNode At:(NSInteger) i; /** Set ith child (0..n-1) to t; t must be non-null and non-nil node */ -- (void) setChild:(id)aTree At:(NSInteger)index Child:(id)child; +- (void) setChild:(id)aTree At:(NSInteger)index Child:(id)child; /** Remove ith child and shift children down from right. */ -- (id) deleteChild:(id)t Index:(NSInteger)index; +- (id) deleteChild:(id)t Index:(NSInteger)index; /** How many children? If 0, then this is a leaf node */ -- (NSInteger) getChildCount:(id) aTree; +- (NSInteger) getChildCount:(id) aTree; /** Who is the parent node of this node; if null, implies node is root. * If your node type doesn't handle this, it's ok but the tree rewrites * in tree parsers need this functionality. */ -- (id)getParent:(id)t; -- (void) setParent:(id)t With:(id)parent; +- (id)getParent:(id)t; +- (void) setParent:(id)t With:(id)parent; /** What index is this node in the child list? Range: 0..n-1 * If your node type doesn't handle this, it's ok but the tree rewrites * in tree parsers need this functionality. */ -- (NSInteger) getChildIndex:(id)t; -- (void) setChildIndex:(id)t With:(NSInteger)index; +- (NSInteger) getChildIndex:(id)t; +- (void) setChildIndex:(id)t With:(NSInteger)index; -- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; +- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; @end -#ifdef DONTUSENOMO -@interface ANTLRTreeAdaptor : NSObject { - -} - -+ (id) newAdaptor; -- (id) init; - -#pragma mark Construction - -+ (id) newEmptyTree; - -- (id) createTree:(id)payload; - -#pragma mark ANTLRTreeAdaptor implementation -- (id)dupNode:(id)aNode; // copies just the node -- (id)dupTree:(id)aTree; // copies the entire subtree, recursively - -/** Return a nil node (an empty but non-null node) that can hold - * a list of element as the children. If you want a flat tree (a list) - * use "t=adaptor.nil(); t.addChild(x); t.addChild(y);" - */ -- (id) emptyNode; - -/** Return a tree node representing an error. This node records the - * tokens consumed during error recovery. The start token indicates the - * input symbol at which the error was detected. The stop token indicates - * the last symbol consumed during recovery. - * - * You must specify the input stream so that the erroneous text can - * be packaged up in the error node. The exception could be useful - * to some applications; default implementation stores ptr to it in - * the CommonErrorNode. - * - * This only makes sense during token parsing, not tree parsing. - * Tree parsing should happen only when parsing and tree construction - * succeed. - */ -- (id) errorNode:(id)anInput - From:(id)aStartToken - To:(id)aStopToken - Exception:(NSException *) e; - -/** Is tree considered a nil node used to make lists of child nodes? */ -- (BOOL) isNil:(id)aTree; - - -- (void) addChild:(id)child toTree:(id)aTree; - -/** If oldRoot is a nil root, just copy or move the children to newRoot. - * If not a nil root, make oldRoot a child of newRoot. - * - * old=^(nil a b c), new=r yields ^(r a b c) - * old=^(a b c), new=r yields ^(r ^(a b c)) - * - * If newRoot is a nil-rooted single child tree, use the single - * child as the new root node. - * - * old=^(nil a b c), new=^(nil r) yields ^(r a b c) - * old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) - * - * If oldRoot was null, it's ok, just return newRoot (even if isNil). - * - * old=null, new=r yields r - * old=null, new=^(nil r) yields ^(nil r) - * - * Return newRoot. Throw an exception if newRoot is not a - * simple node or nil root with a single child node--it must be a root - * node. If newRoot is ^(nil x) return x as newRoot. - * - * Be advised that it's ok for newRoot to point at oldRoot's - * children; i.e., you don't have to copy the list. We are - * constructing these nodes so we should have this control for - * efficiency. - */ -- (id) becomeRoot:(id)newRoot old:(id)oldRoot; - -- (id) rulePostProcessing:(id)root; - -#pragma mark Rewrite Rules - -- (NSUInteger) getUniqueID:(id)aNode; - -- (id) create:(id)payload; -- (id) createTree:(NSInteger)tokenType FromToken:(id)fromToken; -- (id) createTree:(NSInteger)tokenType FromToken:(id)fromToken Text:(NSString *)text; -- (id) createTree:(NSInteger)tokenType Text:(NSString *)text; - -#pragma mark Content - -- (id)dupNode:(id)aNode; -- (id)dupTree:(id)aTree; - -- (NSInteger) getType:(id)aNode; -- (void) setType:(id)aNode Type:(NSInteger)tokenType; - -- (NSString *) getText:(id)aNode; -- (void) setText:(id)aNode Text:(NSString *)tokenText; - -- (id) getToken:(id)t; - -- (void) setTokenBoundaries:(id)aTree From:(id)startToken To:(id)stopToken; -- (NSInteger) getTokenStartIndex:(id)aTree; -- (NSInteger) getTokenStopIndex:(id)aTree; - -#pragma mark Navigation / Tree Parsing - -/** Get a child 0..n-1 node */ -- (id) getChild:(id)aNode At:(NSInteger) i; -/** Set ith child (0..n-1) to t; t must be non-null and non-nil node */ -- (void) setChild:(id)aTree At:(NSInteger)index Child:(id)child; -/** Remove ith child and shift children down from right. */ -- (id) deleteChild:(id)t Index:(NSInteger)index; - -/** How many children? If 0, then this is a leaf node */ -- (NSInteger) getChildCount:(id) aTree; - -/** Who is the parent node of this node; if null, implies node is root. - * If your node type doesn't handle this, it's ok but the tree rewrites - * in tree parsers need this functionality. - */ -- (id)getParent:(id)t; -- (void) setParent:(id)t With:(id)parent; - -/** What index is this node in the child list? Range: 0..n-1 - * If your node type doesn't handle this, it's ok but the tree rewrites - * in tree parsers need this functionality. - */ -- (NSInteger) getChildIndex:(id)t; -- (void) setChildIndex:(id)t With:(NSInteger)index; - -- (void) replaceChildren:(id)parent From:(NSInteger)startChildIndex To:(NSInteger)stopChildIndex With:(id)t; - -@end -#endif diff --git a/runtime/ObjC/Framework/ANTLRTreeException.m b/runtime/ObjC/Framework/ANTLRTreeException.m index 8d78e7f4..b61d29c8 100644 --- a/runtime/ObjC/Framework/ANTLRTreeException.m +++ b/runtime/ObjC/Framework/ANTLRTreeException.m @@ -51,6 +51,9 @@ - (id) initWithOldRoot:(id)theOldRoot newRoot:(id) - (void) dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRTreeException" ); +#endif [self setOldRoot:nil]; [self setNewRoot:nil]; [super dealloc]; @@ -60,7 +63,7 @@ - (void) setNewRoot:(id)aTree { if (newRoot != aTree) { [aTree retain]; - [newRoot release]; + if ( newRoot ) [newRoot release]; newRoot = aTree; } } @@ -69,7 +72,7 @@ - (void) setOldRoot:(id)aTree { if (oldRoot != aTree) { [aTree retain]; - [oldRoot release]; + if ( oldRoot ) [oldRoot release]; oldRoot = aTree; } } diff --git a/runtime/ObjC/Framework/ANTLRTreeIterator.h b/runtime/ObjC/Framework/ANTLRTreeIterator.h index 77984185..b5cf8c3a 100644 --- a/runtime/ObjC/Framework/ANTLRTreeIterator.h +++ b/runtime/ObjC/Framework/ANTLRTreeIterator.h @@ -37,17 +37,22 @@ @interface ANTLRTreeIterator : NSObject { - id adaptor; - id root; - id tree; BOOL firstTime; - id up; - id down; - id eof; + __strong id adaptor; + __strong id root; + __strong id tree; - ANTLRFastQueue *nodes; + __strong ANTLRFastQueue *nodes; + __strong id up; + __strong id down; + __strong id eof; } +@property BOOL firstTime; +@property(retain) id adaptor; +@property(retain) id root; +@property(retain) id tree; +@property(retain) ANTLRFastQueue *nodes; @property(retain, readwrite) id up; @property(retain, readwrite) id down; @property(retain, readwrite) id eof; @@ -64,9 +69,4 @@ - (id) nextObject; - (NSArray *) allObjects; -@property (retain) id adaptor; -@property (retain) id root; -@property (retain) id tree; -@property BOOL firstTime; -@property (retain) ANTLRFastQueue *nodes; @end diff --git a/runtime/ObjC/Framework/ANTLRTreeIterator.m b/runtime/ObjC/Framework/ANTLRTreeIterator.m index 083e75cf..b760f884 100644 --- a/runtime/ObjC/Framework/ANTLRTreeIterator.m +++ b/runtime/ObjC/Framework/ANTLRTreeIterator.m @@ -47,126 +47,156 @@ + (ANTLRTreeIterator *) newANTRLTreeIteratorWithAdaptor:(ANTLRCommonTreeAdaptor - (id) init { - if ((self = [super init]) != nil) { - firstTime = YES; - nodes = [ANTLRFastQueue newANTLRFastQueue]; - down = [adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"]; - up = [adaptor createTree:ANTLRTokenTypeUP Text:@"UP"]; - eof = [adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"]; - tree = eof; - root = eof; - } - return self; + self = [super init]; + if ( self != nil ) { + firstTime = YES; + nodes = [[ANTLRFastQueue newANTLRFastQueue] retain]; + down = [[adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"] retain]; + up = [[adaptor createTree:ANTLRTokenTypeUP Text:@"UP"] retain]; + eof = [[adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"] retain]; + tree = eof; + root = eof; + } + return self; } -(id) initWithTree:(id) t { - return [self initWithTreeAdaptor:[ANTLRCommonTreeAdaptor newTreeAdaptor] andTree:t]; + self = [super init]; + if ( self != nil ) { + firstTime = YES; + adaptor = [[ANTLRCommonTreeAdaptor newTreeAdaptor] retain]; + tree = [t retain]; + root = t; + nodes = [[ANTLRFastQueue newANTLRFastQueue] retain]; + down = [[adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"] retain]; + up = [[adaptor createTree:ANTLRTokenTypeUP Text:@"UP"] retain]; + eof = [[adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"] retain]; + } + return self; } -(id) initWithTreeAdaptor:(id)a andTree:(id)t { - if ((self = [super init]) != nil) { - firstTime = YES; - adaptor = a; - tree = t; - root = t; - nodes = [ANTLRFastQueue newANTLRFastQueue]; - down = [adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"]; - up = [adaptor createTree:ANTLRTokenTypeUP Text:@"UP"]; - eof = [adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"]; - } - return self; + self = [super init]; + if ( self != nil ) { + firstTime = YES; + adaptor = [a retain]; + tree = [t retain]; + root = t; + nodes = [[ANTLRFastQueue newANTLRFastQueue] retain]; + down = [[adaptor createTree:ANTLRTokenTypeDOWN Text:@"DOWN"] retain]; + up = [[adaptor createTree:ANTLRTokenTypeUP Text:@"UP"] retain]; + eof = [[adaptor createTree:ANTLRTokenTypeEOF Text:@"EOF"] retain]; + } + return self; +} + +- (void)dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRTreeIterator" ); +#endif + if ( adaptor ) [adaptor release]; + if ( nodes ) [nodes release]; + if ( tree && tree != eof ) [tree release]; + if ( root && root != eof && root != tree ) [root release]; + if ( down ) [down release]; + if ( up ) [up release]; + if ( eof ) [eof release]; + [super dealloc]; } --(void) reset +- (void)reset { - firstTime = YES; - tree = root; - [nodes clear]; + firstTime = YES; + tree = root; + [nodes clear]; } -(BOOL) hasNext { - if (firstTime) { + if ( firstTime ) { return root != nil; } - if ( nodes && [nodes size] > 0) { + if ( nodes && [nodes size] > 0) { return YES; } - if (tree == nil) { + if ( tree == nil ) { return NO; } - if ([adaptor getChildCount:tree] > 0) { + if ( [adaptor getChildCount:tree] > 0 ) { return YES; } - return [adaptor getParent:tree] != nil; + return [adaptor getParent:tree] != nil; } -(id) nextObject { - // is this the first time we are using this method? - if (firstTime) { - firstTime = NO; - if ([adaptor getChildCount:tree] == 0) { - [nodes addObject:eof]; - return tree; - } - return tree; - } - // do we have any objects queued up? - if ( nodes && [nodes size] > 0) { - return [nodes remove]; - } - // no nodes left? - if (tree == nil) { - return eof; - } - if ([adaptor getChildCount:tree] > 0) { - tree = [adaptor getChild:tree At:0]; - [nodes addObject:tree]; // real node is next after down - return self.down; - } - // if no children, look for next sibling of ancestor - id parent = [adaptor getParent:tree]; - while (parent != nil && ([adaptor getChildIndex:tree] + 1) >= [adaptor getChildCount:parent]) { - [nodes addObject:up]; - tree = parent; - parent = [adaptor getParent:tree]; - } - if (parent == nil) { - tree = nil; - [nodes addObject:self.eof]; - return [nodes remove]; - } - // must have found a node with an unvisited sibling - // move to it and return it - NSInteger nextSiblingIndex = [adaptor getChildIndex:tree] + 1; - tree = [adaptor getChild:parent At:nextSiblingIndex]; - [nodes addObject:tree]; - return [nodes remove]; + // is this the first time we are using this method? + if ( firstTime ) { + firstTime = NO; + if ( [adaptor getChildCount:tree] == 0 ) { + [nodes addObject:eof]; + return tree; + } + return tree; + } + // do we have any objects queued up? + if ( nodes && [nodes size] > 0 ) { + return [nodes remove]; + } + // no nodes left? + if ( tree == nil ) { + return eof; + } + if ( [adaptor getChildCount:tree] > 0 ) { + tree = [adaptor getChild:tree At:0]; + [nodes addObject:tree]; // real node is next after down + return self.down; + } + // if no children, look for next sibling of ancestor + id parent = [adaptor getParent:tree]; + while (parent != nil && ([adaptor getChildIndex:tree] + 1) >= [adaptor getChildCount:parent]) { + [nodes addObject:up]; + tree = parent; + parent = [adaptor getParent:tree]; + } + if ( parent == nil ) { + tree = nil; + [nodes addObject:self.eof]; + return [nodes remove]; + } + // must have found a node with an unvisited sibling + // move to it and return it + NSInteger nextSiblingIndex = [adaptor getChildIndex:tree] + 1; + tree = [adaptor getChild:parent At:nextSiblingIndex]; + [nodes addObject:tree]; + return [nodes remove]; } -(NSArray *) allObjects { - NSMutableArray *array = [NSMutableArray arrayWithCapacity:10]; - while ([self hasNext]) { - [array addObject:[self nextObject]]; - } - return array; + AMutableArray *array = [AMutableArray arrayWithCapacity:10]; + while ( [self hasNext] ) { + [array addObject:[self nextObject]]; + } + return array; } - (void)remove { @throw [ANTLRRuntimeException newException:@"ANTLRUnsupportedOperationException"]; } -@synthesize up; -@synthesize down; -@synthesize eof; +@synthesize firstTime; @synthesize adaptor; @synthesize root; @synthesize tree; -@synthesize firstTime; @synthesize nodes; + +@synthesize up; +@synthesize down; +@synthesize eof; + @end diff --git a/runtime/ObjC/Framework/ANTLRTreeNodeStream.h b/runtime/ObjC/Framework/ANTLRTreeNodeStream.h index d14be708..8d10aaa1 100644 --- a/runtime/ObjC/Framework/ANTLRTreeNodeStream.h +++ b/runtime/ObjC/Framework/ANTLRTreeNodeStream.h @@ -36,7 +36,7 @@ - (id) initWithTree:(ANTLRCommonTree *)theTree; -- (id) getNode:(NSInteger) idx; +- (id) getTree:(NSInteger) idx; - (id) LT:(NSInteger)k; - (id) getTreeSource; - (id) getTokenStream; diff --git a/runtime/ObjC/Framework/ANTLRTreeParser.h b/runtime/ObjC/Framework/ANTLRTreeParser.h index 981bc3c3..9d2d5c66 100644 --- a/runtime/ObjC/Framework/ANTLRTreeParser.h +++ b/runtime/ObjC/Framework/ANTLRTreeParser.h @@ -34,7 +34,7 @@ id input; } -@property (retain, getter=getInput, setter=setInput:) id input; +@property (retain, getter=input, setter=setInput:) id input; + (id) newANTLRTreeParser:(id)anInput; + (id) newANTLRTreeParser:(id)anInput State:(ANTLRRecognizerSharedState *)state; @@ -44,7 +44,7 @@ State:(ANTLRRecognizerSharedState *)state; -- (id)getInput; +- (id)input; - (void) setInput:(id)anInput; - (void) setTreeNodeStream:(id) anInput; @@ -79,11 +79,9 @@ */ - (NSString *)getErrorHeader:(ANTLRRecognitionException *)e; -- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSMutableArray *) tokenNames; +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(AMutableArray *) tokenNames; - (void) traceIn:(NSString *)ruleName Index:(NSInteger)ruleIndex; - (void) traceOut:(NSString *)ruleName Index:(NSInteger)ruleIndex; - - @end diff --git a/runtime/ObjC/Framework/ANTLRTreeParser.m b/runtime/ObjC/Framework/ANTLRTreeParser.m index 34fab500..599ec7c6 100644 --- a/runtime/ObjC/Framework/ANTLRTreeParser.m +++ b/runtime/ObjC/Framework/ANTLRTreeParser.m @@ -59,7 +59,10 @@ - (id) initWithStream:(id)theInput State:(ANTLRRecognizerSh - (void) dealloc { - [self setInput:nil]; +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRTreeParser" ); +#endif + if ( input ) [input release]; [super dealloc]; } @@ -162,10 +165,10 @@ - (NSString *)getErrorHeader:(ANTLRRecognitionException *)e /** Tree parsers parse nodes they usually have a token object as * payload. Set the exception token and do the default behavior. */ -- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(NSMutableArray *) theTokNams +- (NSString *)getErrorMessage:(ANTLRRecognitionException *)e TokenNames:(AMutableArray *) theTokNams { if ( [self isKindOfClass:[ANTLRTreeParser class]] ) { - id adaptor = (id)[((id)e.input) getTreeAdaptor]; + ANTLRCommonTreeAdaptor *adaptor = (ANTLRCommonTreeAdaptor *)[((id)e.input) getTreeAdaptor]; e.token = [adaptor getToken:((id)e.node)]; if ( e.token == nil ) { // could be an UP/DOWN node e.token = [ANTLRCommonToken newToken:[adaptor getType:e.node] diff --git a/runtime/ObjC/Framework/ANTLRTreePatternLexer.h b/runtime/ObjC/Framework/ANTLRTreePatternLexer.h index 629365de..430bc832 100644 --- a/runtime/ObjC/Framework/ANTLRTreePatternLexer.h +++ b/runtime/ObjC/Framework/ANTLRTreePatternLexer.h @@ -60,7 +60,7 @@ NSInteger n; /** Set when token type is ID or ARG (name mimics Java's StreamTokenizer) */ NSMutableData *sval; -char *data; +__strong char *data; BOOL error; @@ -77,6 +77,8 @@ BOOL error; + (ANTLRTreePatternLexer *)newANTLRTreePatternLexer:(NSString *)aPattern; - (id) init; - (id) initWithPattern:(NSString *)aPattern; + +- (void) dealloc; - (NSInteger) nextToken; - (void) consume; - (NSString *)toString; diff --git a/runtime/ObjC/Framework/ANTLRTreePatternLexer.m b/runtime/ObjC/Framework/ANTLRTreePatternLexer.m index 6932fcda..cdf969ff 100644 --- a/runtime/ObjC/Framework/ANTLRTreePatternLexer.m +++ b/runtime/ObjC/Framework/ANTLRTreePatternLexer.m @@ -56,6 +56,7 @@ - (id) init data = [sval mutableBytes]; pattern = @""; n = [pattern length]; + if ( pattern ) [pattern retain]; [self consume]; } return self; @@ -69,13 +70,23 @@ - (id) initWithPattern:(NSString *)aPattern error = NO; sval = [[NSMutableData dataWithLength:1000] retain]; data = [sval mutableBytes]; - pattern = aPattern; + pattern = [aPattern retain]; n = [pattern length]; [self consume]; } return self; } +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRTreePatternLexer" ); +#endif + if ( pattern ) [pattern release]; + if ( sval ) [sval release]; + [super dealloc]; +} + - (NSInteger) nextToken { n = 0; // reset, but reuse buffer @@ -170,6 +181,10 @@ - (NSMutableData *)getSval - (void)setSval:(NSMutableData *)aSval { + if ( sval != aSval ) { + if ( sval ) [sval release]; + [aSval retain]; + } sval = aSval; } diff --git a/runtime/ObjC/Framework/ANTLRTreePatternParser.h b/runtime/ObjC/Framework/ANTLRTreePatternParser.h index f3f82b6f..2051b5e9 100644 --- a/runtime/ObjC/Framework/ANTLRTreePatternParser.h +++ b/runtime/ObjC/Framework/ANTLRTreePatternParser.h @@ -50,6 +50,8 @@ id adaptor; - (id) initWithTokenizer:(ANTLRTreePatternLexer *)tokenizer Wizard:(ANTLRTreeWizard *)aWizard Adaptor:(id)anAdaptor; + +- (void) dealloc; - (id) pattern; - (id) parseTree; - (id) parseNode; diff --git a/runtime/ObjC/Framework/ANTLRTreePatternParser.m b/runtime/ObjC/Framework/ANTLRTreePatternParser.m index e421fc21..c95d9952 100644 --- a/runtime/ObjC/Framework/ANTLRTreePatternParser.m +++ b/runtime/ObjC/Framework/ANTLRTreePatternParser.m @@ -57,14 +57,28 @@ - (id) initWithTokenizer:(ANTLRTreePatternLexer *)aTokenizer Adaptor:(id)anAdaptor { if ((self = [super init]) != nil) { + adaptor = anAdaptor; + if ( adaptor ) [adaptor retain]; tokenizer = aTokenizer; + if ( tokenizer ) [tokenizer retain]; wizard = aWizard; - adaptor = anAdaptor; + if ( wizard ) [wizard retain]; ttype = [aTokenizer nextToken]; // kickstart } return self; } +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRTreePatternParser" ); +#endif + if ( adaptor ) [adaptor release]; + if ( tokenizer ) [tokenizer release]; + if ( wizard ) [wizard release]; + [super dealloc]; +} + - (id)pattern { if ( ttype==ANTLRLexerTokenTypeBEGIN ) { diff --git a/runtime/ObjC/Framework/ANTLRTreeRewriter.h b/runtime/ObjC/Framework/ANTLRTreeRewriter.h index 7b642504..5ab57004 100644 --- a/runtime/ObjC/Framework/ANTLRTreeRewriter.h +++ b/runtime/ObjC/Framework/ANTLRTreeRewriter.h @@ -59,17 +59,17 @@ + (ANTLRTreeRewriter *) newANTLRTreeRewriter:(id)anInput State:(ANTLRRecognizerSharedState *)aState; - (id)initWithStream:(id)anInput; - (id)initWithStream:(id)anInput State:(ANTLRRecognizerSharedState *)aState; -- (ANTLRTreeRewriter *) applyOnce:(id)t Rule:(ANTLRfptr *)whichRule; -- (ANTLRTreeRewriter *) applyRepeatedly:(id)t Rule:(ANTLRfptr *)whichRule; -- (ANTLRTreeRewriter *) downup:(id)t; -- (ANTLRTreeRewriter *) pre:(id)t; -- (ANTLRTreeRewriter *) post:(id)t; -- (ANTLRTreeRewriter *) downup:(id)t XForm:(BOOL)aShowTransformations; -- (void)reportTransformation:(id)oldTree Tree:(id)newTree; -- (ANTLRTreeRewriter *) topdown_fptr; -- (ANTLRTreeRewriter *) bottomup_ftpr; -- (ANTLRTreeRewriter *) topdown; -- (ANTLRTreeRewriter *) bottomup; +- (id) applyOnce:(ANTLRCommonTree *)t Rule:(ANTLRfptr *)whichRule; +- (id) applyRepeatedly:(ANTLRCommonTree *)t Rule:(ANTLRfptr *)whichRule; +- (id) downup:(ANTLRCommonTree *)t; +- (id) pre:(ANTLRCommonTree *)t; +- (id) post:(ANTLRCommonTree *)t; +- (id) downup:(ANTLRCommonTree *)t XForm:(BOOL)aShowTransformations; +- (void)reportTransformation:(ANTLRCommonTree *)oldTree Tree:(ANTLRCommonTree *)newTree; +- (id) topdown_fptr; +- (id) bottomup_ftpr; +- (id) topdown; +- (id) bottomup; @property BOOL showTransformations; @property (retain) id originalTokenStream; diff --git a/runtime/ObjC/Framework/ANTLRTreeRewriter.m b/runtime/ObjC/Framework/ANTLRTreeRewriter.m index 6acf1d80..84954365 100644 --- a/runtime/ObjC/Framework/ANTLRTreeRewriter.m +++ b/runtime/ObjC/Framework/ANTLRTreeRewriter.m @@ -56,7 +56,7 @@ - (id)rule if ( [actor respondsToSelector:ruleSEL] ) return [actor performSelector:ruleSEL]; else - @throw [ANTLRRecognitionException newException:@"Unknown Rewrite exception"]; + @throw [ANTLRRuntimeException newException:@"Unknown Rewrite exception"]; return nil; } @@ -82,9 +82,11 @@ - (id)initWithStream:(id)anInput if ((self = [super initWithStream:anInput]) != nil) { showTransformations = NO; - state = [ANTLRRecognizerSharedState newANTLRRecognizerSharedState]; + state = [[ANTLRRecognizerSharedState newANTLRRecognizerSharedState] retain]; originalAdaptor = [input getTreeAdaptor]; + if ( originalAdaptor ) [originalAdaptor retain]; originalTokenStream = [input getTokenStream]; + if ( originalTokenStream ) [originalTokenStream retain]; aRuleSel = @selector(topdown); topdown_fptr = [ANTLRfptr newANTLRfptrWithRule:(SEL)aRuleSel withObject:self]; aRuleSel = @selector(bottomup); @@ -100,8 +102,11 @@ - (id)initWithStream:(id)anInput State:(ANTLRRecognizerShar if ((self = [super initWithStream:anInput]) != nil) { showTransformations = NO; state = aState; + if ( state ) [state retain]; originalAdaptor = [input getTreeAdaptor]; + if ( originalAdaptor ) [originalAdaptor retain]; originalTokenStream = [input getTokenStream]; + if ( originalTokenStream ) [originalTokenStream retain]; aRuleSel = @selector(topdown); topdown_fptr = [ANTLRfptr newANTLRfptrWithRule:(SEL)aRuleSel withObject:self]; aRuleSel = @selector(bottomup); @@ -110,13 +115,24 @@ - (id)initWithStream:(id)anInput State:(ANTLRRecognizerShar return self; } -- (ANTLRTreeRewriter *) applyOnce:(id)t Rule:(ANTLRfptr *)whichRule +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRTreeRewriter" ); +#endif + if ( state ) [state release]; + if ( originalAdaptor ) [originalAdaptor release]; + if ( originalTokenStream ) [originalTokenStream release]; + [super dealloc]; +} + +- (id) applyOnce:(ANTLRCommonTree *)t Rule:(ANTLRfptr *)whichRule { if ( t == nil ) return nil; @try { // share TreeParser object but not parsing-related state state = [ANTLRRecognizerSharedState newANTLRRecognizerSharedState]; - input = [ANTLRCommonTreeNodeStream newANTLRCommonTreeNodeStream:(id)originalAdaptor Tree:(id)t]; + input = [ANTLRCommonTreeNodeStream newANTLRCommonTreeNodeStream:(ANTLRCommonTreeAdaptor *)originalAdaptor Tree:t]; [(ANTLRCommonTreeNodeStream *)input setTokenStream:originalTokenStream]; [self setBacktrackingLevel:1]; ANTLRTreeRuleReturnScope *r = [(ANTLRfptr *)whichRule rule]; @@ -125,7 +141,7 @@ - (ANTLRTreeRewriter *) applyOnce:(id)t Rule:(ANTLRfptr *)whichRu return t; if ( showTransformations && r != nil && !(t == r.start) && r.start != nil ) { - [self reportTransformation:(id)t Tree:r.start]; + [self reportTransformation:t Tree:r.start]; } if ( r != nil && r.start != nil ) return r.start; @@ -138,28 +154,28 @@ - (ANTLRTreeRewriter *) applyOnce:(id)t Rule:(ANTLRfptr *)whichRu return t; } -- (ANTLRTreeRewriter *) applyRepeatedly:(id)t Rule:(ANTLRfptr *)whichRule +- (id) applyRepeatedly:(ANTLRCommonTree *)t Rule:(ANTLRfptr *)whichRule { BOOL treeChanged = true; while ( treeChanged ) { - ANTLRTreeRewriter *u = [self applyOnce:(id)t Rule:whichRule]; + ANTLRTreeRewriter *u = [self applyOnce:t Rule:whichRule]; treeChanged = !(t == u); t = u; } return t; } -- (ANTLRTreeRewriter *) downup:(id)t +- (id) downup:(ANTLRCommonTree *)t { return [self downup:t XForm:NO]; } -- (ANTLRTreeRewriter *) pre:(id)t +- (id) pre:(ANTLRCommonTree *)t { return [self applyOnce:t Rule:topdown_fptr]; } -- (ANTLRTreeRewriter *)post:(id)t +- (id)post:(ANTLRCommonTree *)t { return [self applyRepeatedly:t Rule:bottomup_ftpr]; } @@ -177,7 +193,7 @@ public Object downup(Object t, boolean showTransformations) { } #endif -- (ANTLRTreeRewriter *) downup:(id)t XForm:(BOOL)aShowTransformations +- (id) downup:(ANTLRCommonTree *)t XForm:(BOOL)aShowTransformations { showTransformations = aShowTransformations; ANTLRTreeVisitor *v = [ANTLRTreeVisitor newANTLRTreeVisitor:[[originalAdaptor class] newTreeAdaptor]]; @@ -195,17 +211,17 @@ - (ANTLRTreeRewriter *) downup:(id)t XForm:(BOOL)aShowTransformat /** Override this if you need transformation tracing to go somewhere * other than stdout or if you're not using Tree-derived trees. */ -- (void)reportTransformation:(id)oldTree Tree:(id)newTree +- (void)reportTransformation:(ANTLRCommonTree *)oldTree Tree:(ANTLRCommonTree *)newTree { //System.out.println(((Tree)oldTree).toStringTree()+" -> "+ ((Tree)newTree).toStringTree()); } -- (ANTLRTreeRewriter *)topdown_fptr +- (id)topdown_fptr { return [self topdown]; } -- (ANTLRTreeRewriter *)bottomup_ftpr +- (id)bottomup_ftpr { return [self bottomup]; } @@ -213,14 +229,14 @@ - (ANTLRTreeRewriter *)bottomup_ftpr // methods the downup strategy uses to do the up and down rules. // to override, just define tree grammar rule topdown and turn on // filter=true. -- (ANTLRTreeRewriter *) topdown +- (id) topdown // @throws RecognitionException { - [ANTLRRecognitionException newException:@"TopDown exception"]; + @throw [ANTLRRecognitionException newException:@"TopDown exception"]; return nil; } -- (ANTLRTreeRewriter *) bottomup +- (id) bottomup //@throws RecognitionException { @throw [ANTLRRecognitionException newException:@"BottomUp exception"]; diff --git a/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.h b/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.h index ea8a4877..99370522 100644 --- a/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.h +++ b/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.h @@ -34,15 +34,18 @@ #import "ANTLRCommonTree.h" @interface ANTLRTreeRuleReturnScope : ANTLRRuleReturnScope { - ANTLRCommonTree *startNode; + ANTLRCommonTree *start; } -@property (retain, getter=getStart, setter=setStart:) ANTLRCommonTree *startNode; +@property (retain, getter=getStart, setter=setStart:) ANTLRCommonTree *start; /** First node or root node of tree matched for this rule. */ ++ (id) newReturnScope; +- (id) init; +- (void) dealloc; - (ANTLRCommonTree *)getStart; -- (void)setStart:(ANTLRCommonTree *)aStartNode; +- (void)setStart:(ANTLRCommonTree *)aStart; - (id) copyWithZone:(NSZone *)theZone; diff --git a/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.m b/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.m index 9d90ef7c..0043314c 100644 --- a/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.m +++ b/runtime/ObjC/Framework/ANTLRTreeRuleReturnScope.m @@ -33,16 +33,40 @@ @implementation ANTLRTreeRuleReturnScope -@synthesize startNode; +@synthesize start; + ++ (id) newReturnScope +{ + return [[ANTLRTreeRuleReturnScope alloc] init]; +} + +- (id) init +{ + self = [super init]; + return self; +} + +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRTreeRuleReturnScope" ); +#endif + if ( start ) [start release]; + [super dealloc]; +} - (ANTLRCommonTree *)getStart { - return startNode; + return start; } - (void)setStart:(ANTLRCommonTree *)aStart { - startNode = aStart; + if ( start != aStart ) { + if ( start ) [start release]; + [aStart retain]; + } + start = aStart; } // create a copy, including the text if available @@ -50,7 +74,7 @@ - (void)setStart:(ANTLRCommonTree *)aStart - (id) copyWithZone:(NSZone *)theZone { ANTLRTreeRuleReturnScope *copy = [super copyWithZone:theZone]; - copy.startNode = startNode; + copy.start = start; return copy; } diff --git a/runtime/ObjC/Framework/ANTLRTreeVisitor.h b/runtime/ObjC/Framework/ANTLRTreeVisitor.h index de0d095c..e8af0d0c 100644 --- a/runtime/ObjC/Framework/ANTLRTreeVisitor.h +++ b/runtime/ObjC/Framework/ANTLRTreeVisitor.h @@ -40,6 +40,7 @@ + (ANTLRTreeVisitor *)newANTLRTreeVisitor; - (id)init; - (id)initWithAdaptor:(id)anAdaptor; +- (void) dealloc; - (ANTLRTreeVisitor *)visit:(id)t Action:(ANTLRTreeVisitorAction *)action; @property (retain) id adaptor; diff --git a/runtime/ObjC/Framework/ANTLRTreeVisitor.m b/runtime/ObjC/Framework/ANTLRTreeVisitor.m index 764a4907..f500d6d0 100644 --- a/runtime/ObjC/Framework/ANTLRTreeVisitor.m +++ b/runtime/ObjC/Framework/ANTLRTreeVisitor.m @@ -48,7 +48,7 @@ + (ANTLRTreeVisitor *)newANTLRTreeVisitor - (id)init { if ((self = [super init]) != nil) { - adaptor = [ANTLRCommonTreeAdaptor newTreeAdaptor]; + adaptor = [[ANTLRCommonTreeAdaptor newTreeAdaptor] retain]; } return self; } @@ -56,11 +56,20 @@ - (id)init - (id)initWithAdaptor:(id)anAdaptor { if ((self = [super init]) != nil) { - adaptor = anAdaptor; + adaptor = [anAdaptor retain]; } return self; } +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRTreeVisitor" ); +#endif + if ( adaptor ) [adaptor release]; + [super dealloc]; +} + /** Visit every node in tree t and trigger an action for each node * before/after having visited all of its children. * Execute both actions even if t has no children. @@ -71,7 +80,7 @@ - (id)initWithAdaptor:(id)anAdaptor * * Return result of applying post action to this node. */ -- (ANTLRTreeVisitor *)visit:(id)t Action:(ANTLRTreeVisitorAction *)action +- (ANTLRTreeVisitor *)visit:(ANTLRCommonTree *)t Action:(ANTLRTreeVisitorAction *)action { // System.out.println("visit "+((Tree)t).toStringTree()); BOOL isNil = [adaptor isNil:t]; @@ -79,9 +88,9 @@ - (ANTLRTreeVisitor *)visit:(id)t Action:(ANTLRTreeVisitorAction t = [action pre:(ANTLRTreeVisitorAction *)t]; // if rewritten, walk children of new t } for (int i=0; i < [adaptor getChildCount:t]; i++) { - id child = [adaptor getChild:t At:i]; - id visitResult = [self visit:child Action:action]; - id childAfterVisit = [adaptor getChild:t At:i]; + ANTLRCommonTree *child = [adaptor getChild:t At:i]; + ANTLRCommonTree *visitResult = [self visit:child Action:action]; + ANTLRCommonTree *childAfterVisit = [adaptor getChild:t At:i]; if ( visitResult != childAfterVisit ) { // result & child differ? [adaptor setChild:t At:i Child:visitResult]; } diff --git a/runtime/ObjC/Framework/ANTLRTreeWizard.h b/runtime/ObjC/Framework/ANTLRTreeWizard.h index e748cb68..7a57c1ee 100644 --- a/runtime/ObjC/Framework/ANTLRTreeWizard.h +++ b/runtime/ObjC/Framework/ANTLRTreeWizard.h @@ -34,12 +34,13 @@ #import "ANTLRCommonTree.h" #import "ANTLRMapElement.h" #import "ANTLRMap.h" +#import "AMutableArray.h" @class ANTLRVisitor; @protocol ANTLRContextVisitor // TODO: should this be called visit or something else? -- (void) visit:(id)t Parent:(id)parent ChildIndex:(NSInteger)childIndex Map:(ANTLRMap *)labels; +- (void) visit:(ANTLRCommonTree *)t Parent:(ANTLRCommonTree *)parent ChildIndex:(NSInteger)childIndex Map:(ANTLRMap *)labels; @end @@ -52,8 +53,8 @@ + (ANTLRVisitor *)newANTLRVisitor:(NSInteger)anAction Actor:(id)anActor Object:(id)anObject1 Object:(id)anObject2; - (id) initWithAction:(NSInteger)anAction Actor:(id)anActor Object:(id)anObject1 Object:(id)anObject2; -- (void) visit:(id)t; -- (void) visit:(id)t Parent:(id)parent ChildIndex:(NSInteger)childIndex Map:(ANTLRMap *)labels; +- (void) visit:(ANTLRCommonTree *)t; +- (void) visit:(ANTLRCommonTree *)t Parent:(ANTLRCommonTree *)parent ChildIndex:(NSInteger)childIndex Map:(ANTLRMap *)labels; @property NSInteger action; @property (retain) id actor; @@ -71,7 +72,7 @@ @property (retain, getter=getLabel, setter=setLabel:) NSString *label; @property (assign, getter=getHasTextArg, setter=setHasTextArg:) BOOL hasTextArg; -+ (id)newANTLRTreePattern:(id)payload; ++ (ANTLRCommonTree *)newANTLRTreePattern:(id)payload; - (id) initWithToken:(id)payload; - (NSString *)toString; @@ -88,14 +89,8 @@ @interface ANTLRTreePatternTreeAdaptor : ANTLRCommonTreeAdaptor { } + (ANTLRTreePatternTreeAdaptor *)newTreeAdaptor; -#ifdef DONTUSENOMO -+ (ANTLRTreePatternTreeAdaptor *)newTreeAdaptor:(id)payload; -#endif - (id) init; -#ifdef DONTUSENOMO -- initWithToken:(id)payload; -#endif -- (id)createTreePattern:(id)payload; +- (ANTLRCommonTree *)createTreePattern:(id)payload; @end @@ -112,24 +107,25 @@ - (id) initWithAdaptor:(id)adaptor Map:(ANTLRMap *)tokenNameToTypeMap; - (id) initWithTokenNames:(NSArray *)theTokNams; - (id) initWithTokenNames:(id)anAdaptor TokenNames:(NSArray *)theTokNams; +- (void) dealloc; - (ANTLRMap *)computeTokenTypes:(NSArray *)theTokNams; - (NSInteger)getTokenType:(NSString *)tokenName; -- (ANTLRMap *)index:(id)t; -- (void) _index:(id)t Map:(ANTLRMap *)m; -- (NSMutableArray *)find:(id) t Pattern:(NSString *)pattern; -- (ANTLRTreeWizard *)findFirst:(id) t Type:(NSInteger)ttype; -- (ANTLRTreeWizard *)findFirst:(id) t Pattern:(NSString *)pattern; -- (void) visit:(id)t Type:(NSInteger)ttype Visitor:(ANTLRVisitor *)visitor; -- (void) _visit:(id)t - Parent:(id)parent +- (ANTLRMap *)index:(ANTLRCommonTree *)t; +- (void) _index:(ANTLRCommonTree *)t Map:(ANTLRMap *)m; +- (AMutableArray *)find:(ANTLRCommonTree *) t Pattern:(NSString *)pattern; +- (ANTLRTreeWizard *)findFirst:(ANTLRCommonTree *) t Type:(NSInteger)ttype; +- (ANTLRTreeWizard *)findFirst:(ANTLRCommonTree *) t Pattern:(NSString *)pattern; +- (void) visit:(ANTLRCommonTree *)t Type:(NSInteger)ttype Visitor:(ANTLRVisitor *)visitor; +- (void) _visit:(ANTLRCommonTree *)t + Parent:(ANTLRCommonTree *)parent ChildIndex:(NSInteger)childIndex Type:(NSInteger)ttype Visitor:(ANTLRVisitor *)visitor; -- (void)visit:(id)t Pattern:(NSString *)pattern Visitor:(ANTLRVisitor *)visitor; -- (BOOL)parse:(id)t Pattern:(NSString *)pattern Map:(ANTLRMap *)labels; -- (BOOL) parse:(id) t Pattern:(NSString *)pattern; -- (BOOL) _parse:(id)t1 Pattern:(id)tpattern Map:(ANTLRMap *)labels; -- (id) createTree:(NSString *)pattern; +- (void)visit:(ANTLRCommonTree *)t Pattern:(NSString *)pattern Visitor:(ANTLRVisitor *)visitor; +- (BOOL)parse:(ANTLRCommonTree *)t Pattern:(NSString *)pattern Map:(ANTLRMap *)labels; +- (BOOL) parse:(ANTLRCommonTree *) t Pattern:(NSString *)pattern; +- (BOOL) _parse:(ANTLRCommonTree *)t1 Pattern:(ANTLRCommonTree *)tpattern Map:(ANTLRMap *)labels; +- (ANTLRCommonTree *) createTree:(NSString *)pattern; - (BOOL)equals:(id)t1 O2:(id)t2 Adaptor:(id)anAdaptor; - (BOOL)equals:(id)t1 O2:(id)t2; - (BOOL) _equals:(id)t1 O2:(id)t2 Adaptor:(id)anAdaptor; diff --git a/runtime/ObjC/Framework/ANTLRTreeWizard.m b/runtime/ObjC/Framework/ANTLRTreeWizard.m index 4faeed87..78131a80 100644 --- a/runtime/ObjC/Framework/ANTLRTreeWizard.m +++ b/runtime/ObjC/Framework/ANTLRTreeWizard.m @@ -46,13 +46,27 @@ - (id) initWithAction:(NSInteger)anAction Actor:(id)anActor Object:(id)anObject1 if ((self = [super init]) != nil) { action = anAction; actor = anActor; + if ( actor ) [actor retain]; object1 = anObject1; + if ( object1 ) [object1 retain]; object2 = anObject2; + if ( object2 ) [object2 retain]; } return self; } -- (void) visit:(id)t Parent:(id)parent ChildIndex:(NSInteger)childIndex Map:(ANTLRMap *)labels +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRVisitor" ); +#endif + if ( actor ) [actor release]; + if ( object1 ) [object1 release]; + if ( object2 ) [object2 release]; + [super dealloc]; +} + +- (void) visit:(ANTLRCommonTree *)t Parent:(ANTLRCommonTree *)parent ChildIndex:(NSInteger)childIndex Map:(ANTLRMap *)labels { switch (action) { case 0: @@ -63,7 +77,7 @@ - (void) visit:(id)t Parent:(id)parent ChildIndex: break; case 1: if ( [(ANTLRTreeWizard *)actor _parse:t Pattern:object1/* tpattern */ Map:nil] ) { - [(NSMutableArray *)object2/* subtrees */ addObject:t]; + [(AMutableArray *)object2/* subtrees */ addObject:t]; } break; } @@ -71,7 +85,7 @@ - (void) visit:(id)t Parent:(id)parent ChildIndex: return; } -- (void) visit:(id)t +- (void) visit:(ANTLRCommonTree *)t { [object1 addObject:t]; return; @@ -91,16 +105,26 @@ @implementation ANTLRTreePattern @synthesize label; @synthesize hasTextArg; -+ (id)newANTLRTreePattern:(id)payload ++ (ANTLRCommonTree *)newANTLRTreePattern:(id)payload { - return (id)[[ANTLRTreePattern alloc] initWithToken:payload]; + return (ANTLRCommonTree *)[[ANTLRTreePattern alloc] initWithToken:payload]; } - (id) initWithToken:(id)payload { - if ((self = [super initWithToken:payload]) != nil ) { + self = [super initWithToken:payload]; + if ( self != nil ) { } - return (id)self; + return (ANTLRCommonTree *)self; +} + +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRTreePattern" ); +#endif + if ( label ) [label release]; + [super dealloc]; } - (NSString *)toString @@ -124,7 +148,8 @@ + (ANTLRWildcardTreePattern *)newANTLRWildcardTreePattern:(id)payloa - (id) initWithToken:(id)payload { - if ((self = [super initWithToken:payload]) != nil ) { + self = [super initWithToken:payload]; + if ( self != nil ) { } return self; } @@ -139,32 +164,17 @@ + (ANTLRTreePatternTreeAdaptor *)newTreeAdaptor return [[ANTLRTreePatternTreeAdaptor alloc] init]; } -#ifdef DONTUSENOMO -+ (ANTLRTreePatternTreeAdaptor *)newTreeAdaptor:(id)payload -{ - return (ANTLRTreePatternTreeAdaptor *)[[ANTLRTreePatternTreeAdaptor alloc] initWithToken:payload]; -} -#endif - - (id) init { - if ((self = [super init]) != nil) { + self = [super init]; + if ( self != nil ) { } return self; } -#ifdef DONTUSENOMO -- (id) initWithToken:(id)payload +- (ANTLRCommonTree *)createTreePattern:(id)payload { - if ((self = [super initWithToken:payload]) != nil) { - } - return self; -} -#endif - -- (id)createTreePattern:(id)payload -{ - return (id)[super create:payload]; + return (ANTLRCommonTree *)[super create:payload]; } @end @@ -223,6 +233,7 @@ - (id) initWithAdaptor:(id)anAdaptor { if ((self = [super init]) != nil) { adaptor = anAdaptor; + if ( adaptor ) [adaptor retain]; } return self; } @@ -231,6 +242,7 @@ - (id) initWithAdaptor:(id)anAdaptor Map:(ANTLRMap *)aTokenNam { if ((self = [super init]) != nil) { adaptor = anAdaptor; + if ( adaptor ) [adaptor retain]; tokenNameToTypeMap = aTokenNameToTypeMap; } return self; @@ -242,7 +254,7 @@ - (id) initWithTokenNames:(NSArray *)theTokNams #pragma warning Fix initWithTokenNames. // adaptor = anAdaptor; //tokenNameToTypeMap = aTokenNameToTypeMap; - tokenNameToTypeMap = [self computeTokenTypes:theTokNams]; + tokenNameToTypeMap = [[self computeTokenTypes:theTokNams] retain]; } return self; } @@ -251,12 +263,23 @@ - (id) initWithTokenNames:(id)anAdaptor TokenNames:(NSArray *) { if ((self = [super init]) != nil) { adaptor = anAdaptor; + if ( adaptor ) [adaptor retain]; // tokenNameToTypeMap = aTokenNameToTypeMap; - tokenNameToTypeMap = [self computeTokenTypes:theTokNams ]; + tokenNameToTypeMap = [[self computeTokenTypes:theTokNams] retain]; } return self; } +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRTreePatternTreeAdaptor" ); +#endif + if ( adaptor ) [adaptor release]; + if ( tokenNameToTypeMap ) [tokenNameToTypeMap release]; + [super dealloc]; +} + /** Compute a Map that is an inverted index of * tokenNames (which maps int token types to names). */ @@ -293,7 +316,7 @@ - (NSInteger)getTokenType:(NSString *)tokenName * * TODO: save this index so that find and visit are faster */ -- (ANTLRMap *)index:(id)t +- (ANTLRMap *)index:(ANTLRCommonTree *)t { ANTLRMap *m = [ANTLRMap newANTLRMap]; [self _index:t Map:m]; @@ -301,7 +324,7 @@ - (ANTLRMap *)index:(id)t } /** Do the work for index */ -- (void) _index:(id)t Map:(ANTLRMap *)m +- (void) _index:(ANTLRCommonTree *)t Map:(ANTLRMap *)m { if ( t==nil ) { return; @@ -316,13 +339,13 @@ - (void) _index:(id)t Map:(ANTLRMap *)m [elements addObject:t]; int n = [adaptor getChildCount:t]; for (int i=0; i child = [adaptor getChild:t At:i]; + ANTLRCommonTree * child = [adaptor getChild:t At:i]; [self _index:child Map:m]; } } /** Return a List of tree nodes with token type ttype */ -- (NSMutableArray *)find:(id)t Type:(NSInteger)ttype +- (AMutableArray *)find:(ANTLRCommonTree *)t Type:(NSInteger)ttype { #ifdef DONTUSENOMO final List nodes = new ArrayList(); @@ -332,22 +355,22 @@ public void visit(Object t) { } } ); #endif - NSMutableArray *nodes = [NSMutableArray arrayWithCapacity:100]; + AMutableArray *nodes = [AMutableArray arrayWithCapacity:100]; ANTLRVisitor *contextVisitor = [ANTLRVisitor newANTLRVisitor:3 Actor:self Object:(id)nodes Object:nil]; [self visit:t Type:ttype Visitor:contextVisitor]; return nodes; } /** Return a List of subtrees matching pattern. */ -- (NSMutableArray *)find:(id)t Pattern:(NSString *)pattern +- (AMutableArray *)find:(ANTLRCommonTree *)t Pattern:(NSString *)pattern { - NSMutableArray *subtrees = [NSMutableArray arrayWithCapacity:100]; + AMutableArray *subtrees = [AMutableArray arrayWithCapacity:100]; // Create a TreePattern from the pattern ANTLRTreePatternLexer *tokenizer = [ANTLRTreePatternLexer newANTLRTreePatternLexer:pattern]; ANTLRTreePatternParser *parser = [ANTLRTreePatternParser newANTLRTreePatternParser:tokenizer Wizard:self Adaptor:[ANTLRTreePatternTreeAdaptor newTreeAdaptor]]; - idtpattern = [parser pattern]; + ANTLRCommonTree *tpattern = (ANTLRCommonTree *)[parser pattern]; // don't allow invalid patterns if ( tpattern == nil || [tpattern isNil] || @@ -355,7 +378,7 @@ - (NSMutableArray *)find:(id)t Pattern:(NSString *)pattern { return nil; } - int rootTokenType = [tpattern getType]; + int rootTokenType = [tpattern type]; #ifdef DONTUSENOMO visit(t, rootTokenType, new TreeWizard.ContextVisitor() { public void visit(Object t, Object parent, int childIndex, Map labels) { @@ -370,12 +393,12 @@ public void visit(Object t, Object parent, int childIndex, Map labels) { return subtrees; } -- (ANTLRTreeWizard *)findFirst:(id) t Type:(NSInteger)ttype +- (ANTLRTreeWizard *)findFirst:(ANTLRCommonTree *) t Type:(NSInteger)ttype { return nil; } -- (ANTLRTreeWizard *)findFirst:(id) t Pattern:(NSString *)pattern +- (ANTLRTreeWizard *)findFirst:(ANTLRCommonTree *) t Pattern:(NSString *)pattern { return nil; } @@ -385,14 +408,14 @@ - (ANTLRTreeWizard *)findFirst:(id) t Pattern:(NSString *)pattern * of the visitor action method is never set (it's nil) since using * a token type rather than a pattern doesn't let us set a label. */ -- (void) visit:(id)t Type:(NSInteger)ttype Visitor:(ANTLRVisitor *)visitor +- (void) visit:(ANTLRCommonTree *)t Type:(NSInteger)ttype Visitor:(ANTLRVisitor *)visitor { [self _visit:t Parent:nil ChildIndex:0 Type:ttype Visitor:visitor]; } /** Do the recursive work for visit */ -- (void) _visit:(id)t - Parent:(id)parent +- (void) _visit:(ANTLRCommonTree *)t + Parent:(ANTLRCommonTree *)parent ChildIndex:(NSInteger)childIndex Type:(NSInteger)ttype Visitor:(ANTLRVisitor *)visitor @@ -405,7 +428,7 @@ - (void) _visit:(id)t } int n = [adaptor getChildCount:t]; for (int i=0; i child = [adaptor getChild:t At:i]; + ANTLRCommonTree * child = [adaptor getChild:t At:i]; [self _visit:child Parent:t ChildIndex:i Type:ttype Visitor:visitor]; } } @@ -415,13 +438,13 @@ - (void) _visit:(id)t * with visit(t, ttype, visitor) so nil-rooted patterns are not allowed. * Patterns with wildcard roots are also not allowed. */ -- (void)visit:(id)t Pattern:(NSString *)pattern Visitor:(ANTLRVisitor *)visitor +- (void)visit:(ANTLRCommonTree *)t Pattern:(NSString *)pattern Visitor:(ANTLRVisitor *)visitor { // Create a TreePattern from the pattern ANTLRTreePatternLexer *tokenizer = [ANTLRTreePatternLexer newANTLRTreePatternLexer:pattern]; ANTLRTreePatternParser *parser = [ANTLRTreePatternParser newANTLRTreePatternParser:tokenizer Wizard:self Adaptor:[ANTLRTreePatternTreeAdaptor newTreeAdaptor]]; - id tpattern = [parser pattern]; + ANTLRCommonTree *tpattern = [parser pattern]; // don't allow invalid patterns if ( tpattern == nil || [tpattern isNil] || @@ -430,7 +453,7 @@ - (void)visit:(id)t Pattern:(NSString *)pattern Visitor:(ANTLRVis return; } ANTLRMapElement *labels = [ANTLRMap newANTLRMap]; // reused for each _parse - int rootTokenType = [tpattern getType]; + int rootTokenType = [tpattern type]; #pragma warning This is another one of those screwy nested constructs that I have to figure out #ifdef DONTUSENOMO visit(t, rootTokenType, new TreeWizard.ContextVisitor() { @@ -458,7 +481,7 @@ public void visit(Object t, Object parent, int childIndex, Map unusedlabels) { * * TODO: what's a better way to indicate bad pattern? Exceptions are a hassle */ -- (BOOL)parse:(id)t Pattern:(NSString *)pattern Map:(ANTLRMap *)labels +- (BOOL)parse:(ANTLRCommonTree *)t Pattern:(NSString *)pattern Map:(ANTLRMap *)labels { #ifdef DONTUSENOMO TreePatternLexer tokenizer = new TreePatternLexer(pattern); @@ -476,7 +499,7 @@ - (BOOL)parse:(id)t Pattern:(NSString *)pattern Map:(ANTLRMap *)l ANTLRTreePatternParser *parser = [ANTLRTreePatternParser newANTLRTreePatternParser:tokenizer Wizard:self Adaptor:[ANTLRTreePatternTreeAdaptor newTreeAdaptor]]; - id tpattern = [parser pattern]; + ANTLRCommonTree *tpattern = [parser pattern]; /* System.out.println("t="+((Tree)t).toStringTree()); System.out.println("scant="+tpattern.toStringTree()); @@ -486,7 +509,7 @@ - (BOOL)parse:(id)t Pattern:(NSString *)pattern Map:(ANTLRMap *)l return [self _parse:t Pattern:tpattern Map:labels]; } -- (BOOL) parse:(id)t Pattern:(NSString *)pattern +- (BOOL) parse:(ANTLRCommonTree *)t Pattern:(NSString *)pattern { return [self parse:t Pattern:pattern Map:nil]; } @@ -496,7 +519,7 @@ - (BOOL) parse:(id)t Pattern:(NSString *)pattern * text arguments on nodes. Fill labels map with pointers to nodes * in tree matched against nodes in pattern with labels. */ -- (BOOL) _parse:(id)t1 Pattern:(id)aTPattern Map:(ANTLRMap *)labels +- (BOOL) _parse:(ANTLRCommonTree *)t1 Pattern:(ANTLRCommonTree *)aTPattern Map:(ANTLRMap *)labels { ANTLRTreePattern *tpattern; // make sure both are non-nil @@ -508,10 +531,10 @@ - (BOOL) _parse:(id)t1 Pattern:(id)aTPattern Map:( } // check roots (wildcard matches anything) if ( [tpattern class] != [ANTLRWildcardTreePattern class] ) { - if ( [adaptor getType:t1] != [tpattern getType] ) + if ( [adaptor getType:t1] != [tpattern type] ) return NO; // if pattern has text, check node text - if ( tpattern.hasTextArg && ![[adaptor getText:t1] isEqualToString:[tpattern getText]] ) { + if ( tpattern.hasTextArg && ![[adaptor getText:t1] isEqualToString:[tpattern text]] ) { return NO; } } @@ -526,8 +549,8 @@ - (BOOL) _parse:(id)t1 Pattern:(id)aTPattern Map:( return NO; } for (int i=0; i child1 = [adaptor getChild:t1 At:i]; - idchild2 = (id)[tpattern getChild:i]; + ANTLRCommonTree * child1 = [adaptor getChild:t1 At:i]; + ANTLRCommonTree *child2 = (ANTLRCommonTree *)[tpattern getChild:i]; if ( ![self _parse:child1 Pattern:child2 Map:labels] ) { return NO; } @@ -548,11 +571,11 @@ - (BOOL) _parse:(id)t1 Pattern:(id)aTPattern Map:( * nil is a special name meaning "give me a nil node". Useful for * making lists: (nil A B C) is a list of A B C. */ -- (id) createTree:(NSString *)pattern +- (ANTLRCommonTree *) createTree:(NSString *)pattern { ANTLRTreePatternLexer *tokenizer = [ANTLRTreePatternLexer newANTLRTreePatternLexer:pattern]; ANTLRTreePatternParser *parser = [ANTLRTreePatternParser newANTLRTreePatternParser:tokenizer Wizard:self Adaptor:adaptor]; - id t = [parser pattern]; + ANTLRCommonTree * t = [parser pattern]; return t; } @@ -598,8 +621,8 @@ - (BOOL) _equals:(id)t1 O2:(id)t2 Adaptor:(id)anAdaptor return NO; } for (int i=0; i child1 = [anAdaptor getChild:t1 At:i]; - id child2 = [anAdaptor getChild:t2 At:i]; + ANTLRCommonTree * child1 = [anAdaptor getChild:t1 At:i]; + ANTLRCommonTree * child2 = [anAdaptor getChild:t2 At:i]; if ( ![self _equals:child1 O2:child2 Adaptor:anAdaptor] ) { return NO; } @@ -626,7 +649,7 @@ - (BOOL) _equals:(id)t1 O2:(id)t2 Adaptor:(id)anAdaptor * * If you change this method, you will likely need to change * getNodeIndex(), which extracts information. -- (void)fillReverseIndex:(id)node Index:(NSInteger)streamIndex +- (void)fillReverseIndex:(ANTLRCommonTree *)node Index:(NSInteger)streamIndex { //System.out.println("revIndex "+node+"@"+streamIndex); if ( tokenTypesToReverseIndex == nil ) { @@ -642,9 +665,9 @@ - (void)fillReverseIndex:(id)node Index:(NSInteger)streamIndex return; // tokenType not of interest } NSInteger streamIndexI = streamIndex; - NSMutableArray *indexes = (NSMutableArray *)[tokenTypeToStreamIndexesMap objectAtIndex:tokenTypeI]; + AMutableArray *indexes = (AMutableArray *)[tokenTypeToStreamIndexesMap objectAtIndex:tokenTypeI]; if ( indexes==nil ) { - indexes = [NSMutableArray arrayWithCapacity:100]; // no list yet for this token type + indexes = [AMutableArray arrayWithCapacity:100]; // no list yet for this token type indexes.add(streamIndexI); // not there yet, add [tokenTypeToStreamIndexesMap put:tokenTypeI Idexes:indexes]; } diff --git a/runtime/ObjC/Framework/ANTLRUnbufferedTokenStream.h b/runtime/ObjC/Framework/ANTLRUnbufferedTokenStream.h index 9d702a7d..84d8f43f 100644 --- a/runtime/ObjC/Framework/ANTLRUnbufferedTokenStream.h +++ b/runtime/ObjC/Framework/ANTLRUnbufferedTokenStream.h @@ -43,7 +43,7 @@ @property (retain, getter=getTokenSource, setter=setTokenSource:) id tokenSource; @property (getter=getTokenIndex, setter=setTokenIndex:) NSInteger tokenIndex; -@property (getter=getChannel, setter=setChannel:) NSInteger channel; +@property (getter=channel, setter=setChannel:) NSInteger channel; + (ANTLRUnbufferedTokenStream *)newANTLRUnbufferedTokenStream:(id)aTokenSource; - (id) init; diff --git a/runtime/ObjC/Framework/ANTLRUnbufferedTokenStream.m b/runtime/ObjC/Framework/ANTLRUnbufferedTokenStream.m index 3bb2d16b..3b74e924 100644 --- a/runtime/ObjC/Framework/ANTLRUnbufferedTokenStream.m +++ b/runtime/ObjC/Framework/ANTLRUnbufferedTokenStream.m @@ -56,12 +56,22 @@ - (id) initWithTokenSource:(id)aTokenSource { if ((self = [super init]) != nil) { tokenSource = aTokenSource; + if ( tokenSource ) [tokenSource retain]; tokenIndex = 0; channel = ANTLRTokenChannelDefault; } return self; } +- (void) dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRUnbufferedTokenStream" ); +#endif + if ( tokenSource ) [tokenSource release]; + [super dealloc]; +} + - (id)nextElement { id t = [tokenSource nextToken]; @@ -71,7 +81,7 @@ - (id) initWithTokenSource:(id)aTokenSource - (BOOL)isEOF:(id)aToken { - return [aToken getType] == ANTLRTokenTypeEOF; + return (aToken.type == ANTLRTokenTypeEOF); } - (id)getTokenSource @@ -91,7 +101,7 @@ - (NSString *)toStringFromToken:(id)aStart ToEnd:(id)aSt - (NSInteger)LA:(NSInteger)anIdx { - return [[self LT:anIdx] getType]; + return [[self LT:anIdx] type]; } - (id)objectAtIndex:(NSInteger)anIdx diff --git a/runtime/ObjC/Framework/ANTLRUniqueIDMap.m b/runtime/ObjC/Framework/ANTLRUniqueIDMap.m index 42301206..0d520921 100644 --- a/runtime/ObjC/Framework/ANTLRUniqueIDMap.m +++ b/runtime/ObjC/Framework/ANTLRUniqueIDMap.m @@ -73,6 +73,9 @@ -(id)initWithLen:(NSInteger)aBuffSize -(void)dealloc { +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ANTLRUniqueIDMap" ); +#endif ANTLRNodeMapElement *tmp, *rtmp; NSInteger idx; @@ -82,7 +85,7 @@ -(void)dealloc while ( tmp ) { rtmp = tmp; tmp = (ANTLRNodeMapElement *)tmp.fNext; - [rtmp dealloc]; + [rtmp release]; } } } @@ -100,7 +103,7 @@ -(void)deleteANTLRUniqueIDMap:(ANTLRNodeMapElement *)np while ( tmp ) { rtmp = tmp; tmp = tmp.fNext; - [rtmp dealloc]; + [rtmp release]; } } } @@ -116,7 +119,7 @@ - (void)clear while ( tmp ) { rtmp = tmp; tmp = [tmp getfNext]; - [rtmp dealloc]; + [rtmp release]; } ptrBuffer[idx] = nil; } @@ -144,7 +147,7 @@ -(void)delete_chain:(ANTLRNodeMapElement *)np { if ( np.fNext != nil ) [self delete_chain:np.fNext]; - [np dealloc]; + [np release]; } - (id)getNode:(id)aNode @@ -152,7 +155,7 @@ - (id)getNode:(id)aNode ANTLRNodeMapElement *np; NSInteger idx; - idx = [(id)aNode getType]; + idx = [(id)aNode type]; np = ptrBuffer[idx]; while ( np != nil ) { if (np.node == aNode) { @@ -168,9 +171,9 @@ - (void)putID:(id)anID Node:(id)aNode ANTLRNodeMapElement *np, *np1; NSInteger idx; - idx = [(id)aNode getType]; + idx = [(id)aNode type]; idx %= HASHSIZE; - np = [ANTLRNodeMapElement newANTLRNodeMapElementWithIndex:anID Node:aNode]; + np = [[ANTLRNodeMapElement newANTLRNodeMapElementWithIndex:anID Node:aNode] retain]; np1 = ptrBuffer[idx]; np.fNext = np1; ptrBuffer[idx] = np; diff --git a/runtime/ObjC/Framework/ArrayIterator.h b/runtime/ObjC/Framework/ArrayIterator.h new file mode 100644 index 00000000..280f03fb --- /dev/null +++ b/runtime/ObjC/Framework/ArrayIterator.h @@ -0,0 +1,79 @@ +/* + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr and Alan Condit + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#import +#import + +/** + * Iterator for an array so I don't have to copy the array to a List + * just to make it iteratable. + */ + +/* + * this is the state structure for FastEnumeration + typedef struct { + unsigned long state; + id *itemsPtr; + unsigned long *mutationsPtr; + unsigned long extra[5]; + } NSFastEnumerationState; + */ + +@interface ArrayIterator : NSObject { + + __strong id peekObj; + /** + * NSArrays are fixed size; precompute count. + */ + NSInteger count; + NSInteger index; + __strong NSArray *anArray; + +} + ++ (ArrayIterator *) newIterator:(NSArray *)array; ++ (ArrayIterator *) newIteratorForDictKey:(NSDictionary *)dict; ++ (ArrayIterator *) newIteratorForDictObj:(NSDictionary *)dict; + +- (id) initWithArray:(NSArray *)array; +- (id) initWithDictKey:(NSDictionary *)dict; +- (id) initWithDictObj:(NSDictionary *)dict; + +- (BOOL) hasNext; +- (id) nextObject; +- (NSArray *)allObjects; +- (void) removeObjectAtIndex:(NSInteger)idx; +- (NSInteger) count; +- (void) setCount:(NSInteger)cnt; +- (void) dealloc; + +@property (retain) id peekObj; +@property (assign, getter=count, setter=setCount:) NSInteger count; +@property (assign) NSInteger index; +@property (retain) NSArray *anArray; + +@end diff --git a/runtime/ObjC/Framework/ArrayIterator.m b/runtime/ObjC/Framework/ArrayIterator.m new file mode 100644 index 00000000..45d1e6a0 --- /dev/null +++ b/runtime/ObjC/Framework/ArrayIterator.m @@ -0,0 +1,183 @@ +/* + * [The "BSD license"] + * Copyright (c) 2011 Terence Parr and Alan Condit + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#import "AMutableArray.h" +#import "ArrayIterator.h" +#import "ANTLRRuntimeException.h" + +@class AMutableArray; + +@implementation ArrayIterator + +@synthesize peekObj; +//@synthesize count; +@synthesize index; +@synthesize anArray; + + ++ (ArrayIterator *) newIterator:(NSArray *)array +{ + return [[ArrayIterator alloc] initWithArray:array]; +} + ++ (ArrayIterator *) newIteratorForDictKey:(NSDictionary *)dict +{ + return [[ArrayIterator alloc] initWithDictKey:dict]; +} + ++ (ArrayIterator *) newIteratorForDictObj:(NSDictionary *)dict +{ + return [[ArrayIterator alloc] initWithDictObj:dict]; +} + +- (id) initWithArray:(NSArray *)array +{ + self=[super init]; + if ( self != nil ) { + if (![array isKindOfClass:[NSArray class]]) { + @throw [NSException exceptionWithName:NSInvalidArgumentException + reason:[NSString stringWithFormat:@"ArrayIterator expecting NSArray class but got %@", [array className]] + userInfo:nil]; + } + anArray = [array retain]; +#ifdef DONTUSENOMO + for (int i = 0; i < [array count]; i++) { + [anArray addObject:[array objectAtIndex:i]]; + count++; + } +#endif + peekObj = nil; + count = [anArray count]; + index = 0; + } + return self; +} + +- (id) initWithDictKey:(NSDictionary *)dict +{ + self=[super init]; + if ( self != nil ) { + if (![dict isKindOfClass:[NSDictionary class]]) { + @throw [NSException exceptionWithName:NSInvalidArgumentException + reason:[NSString stringWithFormat:@"ArrayIterator expecting NSDictionary class but got %@", [dict className]] + userInfo:nil]; + } + anArray = [[[dict keyEnumerator] allObjects] retain]; + peekObj = nil; + count = [anArray count]; + index = 0; + } + return self; +} + +- (id) initWithDictObj:(NSDictionary *)dict +{ + self=[super init]; + if ( self != nil ) { + if (![dict isKindOfClass:[NSDictionary class]]) { + @throw [NSException exceptionWithName:NSInvalidArgumentException + reason:[NSString stringWithFormat:@"ArrayIterator expecting NSDictionary class but got %@", [dict className]] + userInfo:nil]; + } + anArray = [[[dict objectEnumerator] allObjects] retain]; + peekObj = nil; + count = [anArray count]; + index = 0; + } + return self; +} + +- (void)dealloc +{ +#ifdef DEBUG_DEALLOC + NSLog( @"called dealloc in ArrayIterator" ); +#endif + if ( anArray ) [anArray release]; + [super dealloc]; +} + +- (BOOL) hasNext +{ + if ( peekObj == nil ) { + peekObj = [self nextObject]; + } + return ((peekObj) ? YES : NO); +} + +- (NSObject *) nextObject +{ + id obj = nil; + if ( peekObj ) { + obj = peekObj; + peekObj = nil; + return obj; + } + if ( index >= count ) { + return nil; + } + if ( anArray ) { + obj = [anArray objectAtIndex:index++]; + if ( index >= count ) { + [anArray release]; + anArray = nil; + index = 0; + count = 0; + } + } + return obj; +} + +- (NSArray *) allObjects +{ + if ( (count <= 0 || index >= count) && peekObj == nil ) return nil; + AMutableArray *theArray = [AMutableArray arrayWithCapacity:count]; + if (peekObj) { + [theArray addObject:peekObj]; + peekObj = nil; + } + for (int i = index; i < count; i++) { + [theArray addObject:[anArray objectAtIndex:i]]; + } + return [NSArray arrayWithArray:(NSArray *)theArray]; +} + +- (void) removeObjectAtIndex:(NSInteger)idx +{ + @throw [ANTLRUnsupportedOperationException newException:@"Cant remove object from ArrayIterator"]; +} + +- (NSInteger) count +{ + return (index - count); +} + +- (void) setCount:(NSInteger)cnt +{ + count = cnt; +} + +@end diff --git a/runtime/ObjC/Framework/Tests-Info.plist b/runtime/ObjC/Framework/Tests-Info.plist old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/antlr3.h b/runtime/ObjC/Framework/antlr3.h index b76ce934..9c941dc3 100644 --- a/runtime/ObjC/Framework/antlr3.h +++ b/runtime/ObjC/Framework/antlr3.h @@ -24,6 +24,9 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#import +#import +#import #import #import #import @@ -81,6 +84,7 @@ #import #import #import +#import #import #import #import @@ -107,3 +111,4 @@ //#import #import #import +#import diff --git a/runtime/ObjC/Framework/examples/LL-star/SimpleCLexer.h b/runtime/ObjC/Framework/examples/LL-star/SimpleCLexer.h index 37ef5fb6..b640542f 100644 --- a/runtime/ObjC/Framework/examples/LL-star/SimpleCLexer.h +++ b/runtime/ObjC/Framework/examples/LL-star/SimpleCLexer.h @@ -1,69 +1,67 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SimpleC.g 2010-08-24 13:53:43 +// $ANTLR ${project.version} ${buildNumber} SimpleC.g 2011-05-06 13:53:12 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ /* Start cyclicDFAInterface */ -#pragma mark Cyclic DFA interface start DFA4 -@interface DFA4 : ANTLRDFA { -} -+ newDFA4WithRecognizer:(ANTLRBaseRecognizer *)theRecognizer; -- initWithRecognizer:(ANTLRBaseRecognizer *)recognizer; -@end /* end of DFA4 interface */ - -#pragma mark Cyclic DFA interface end DFA4 #pragma mark Rule return scopes start #pragma mark Rule return scopes end #pragma mark Tokens -#define T__20 20 -#define INT 5 -#define ID 4 +#ifdef EOF +#undef EOF +#endif #define EOF -1 -#define T__9 9 -#define T__8 8 #define T__7 7 -#define T__19 19 -#define WS 6 -#define T__16 16 -#define T__15 15 -#define T__18 18 -#define T__17 17 -#define T__12 12 +#define T__8 8 +#define T__9 9 +#define T__10 10 #define T__11 11 -#define T__14 14 +#define T__12 12 #define T__13 13 -#define T__10 10 +#define T__14 14 +#define T__15 15 +#define T__16 16 +#define T__17 17 +#define T__18 18 +#define T__19 19 +#define T__20 20 +#define ID 4 +#define INT 5 +#define WS 6 +/* interface lexer class */ @interface SimpleCLexer : ANTLRLexer { // line 283 -DFA4 *dfa4; -// start of actions.lexer.memVars -// start of action-actionScope-memVars +/* ObjC start of actions.lexer.memVars */ +/* ObjC end of actions.lexer.memVars */ } ++ (void) initialize; + (SimpleCLexer *)newSimpleCLexerWithCharStream:(id)anInput; - -- (void)mT__7; -- (void)mT__8; -- (void)mT__9; -- (void)mT__10; -- (void)mT__11; -- (void)mT__12; -- (void)mT__13; -- (void)mT__14; -- (void)mT__15; -- (void)mT__16; -- (void)mT__17; -- (void)mT__18; -- (void)mT__19; -- (void)mT__20; -- (void)mID; -- (void)mINT; -- (void)mWS; -- (void)mTokens; +/* ObjC start actions.lexer.methodsDecl */ +/* ObjC end actions.lexer.methodsDecl */ +- (void) mT__7 ; +- (void) mT__8 ; +- (void) mT__9 ; +- (void) mT__10 ; +- (void) mT__11 ; +- (void) mT__12 ; +- (void) mT__13 ; +- (void) mT__14 ; +- (void) mT__15 ; +- (void) mT__16 ; +- (void) mT__17 ; +- (void) mT__18 ; +- (void) mT__19 ; +- (void) mT__20 ; +- (void) mID ; +- (void) mINT ; +- (void) mWS ; +- (void) mTokens ; @end /* end of SimpleCLexer interface */ + diff --git a/runtime/ObjC/Framework/examples/LL-star/SimpleCLexer.m b/runtime/ObjC/Framework/examples/LL-star/SimpleCLexer.m index a328a523..b4e53ae4 100644 --- a/runtime/ObjC/Framework/examples/LL-star/SimpleCLexer.m +++ b/runtime/ObjC/Framework/examples/LL-star/SimpleCLexer.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : SimpleC.g - * - On : 2010-08-24 13:53:43 - * - for the lexer : SimpleCLexerLexer * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 13:53:12 + * - for the lexer : SimpleCLexerLexer + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SimpleC.g 2010-08-24 13:53:43 +// $ANTLR ${project.version} ${buildNumber} SimpleC.g 2011-05-06 13:53:12 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -47,132 +22,10 @@ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ -#pragma mark Cyclic DFA implementation start DFA4 -@implementation DFA4 -const static NSInteger dfa4_eot[33] = - {-1,-1,-1,-1,-1,14,14,14,-1,-1,14,22,-1,-1,-1,-1,-1,14,14,14,14,-1,-1, - 27,14,14,30,-1,31,32,-1,-1,-1}; -const static NSInteger dfa4_eof[33] = - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; -const static unichar dfa4_min[33] = - {9,0,0,0,0,110,104,111,0,0,111,61,0,0,0,0,0,116,97,105,114,0,0,48,114, - 100,48,0,48,48,0,0,0}; -const static unichar dfa4_max[33] = - {125,0,0,0,0,110,104,111,0,0,111,61,0,0,0,0,0,116,97,105,114,0,0,122, - 114,100,122,0,122,122,0,0,0}; -const static NSInteger dfa4_accept[33] = - {-1,1,2,3,4,-1,-1,-1,8,9,-1,-1,13,14,15,16,17,-1,-1,-1,-1,12,11,-1,-1, - -1,-1,5,-1,-1,10,6,7}; -const static NSInteger dfa4_special[33] = - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; -const static NSInteger dfa4_transition[] = {}; -const static NSInteger dfa4_transition0[] = {14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, -1, -1, -1, -1, -1, -1, -1, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - -1, -1, -1, -1, 14, -1, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14}; -const static NSInteger dfa4_transition1[] = {21}; -const static NSInteger dfa4_transition2[] = {17}; -const static NSInteger dfa4_transition3[] = {26}; -const static NSInteger dfa4_transition4[] = {19}; -const static NSInteger dfa4_transition5[] = {29}; -const static NSInteger dfa4_transition6[] = {18}; -const static NSInteger dfa4_transition7[] = {25}; -const static NSInteger dfa4_transition8[] = {28}; -const static NSInteger dfa4_transition9[] = {24}; -const static NSInteger dfa4_transition10[] = {20}; -const static NSInteger dfa4_transition11[] = {16, 16, -1, -1, 16, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, -1, - -1, -1, -1, -1, -1, -1, 2, 4, -1, 13, 3, -1, -1, -1, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, -1, 1, 12, 11, -1, -1, -1, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, -1, -1, -1, -1, 14, -1, 14, 14, 6, 14, 14, 10, 14, 14, 5, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 14, 14, 8, -1, 9}; -const static NSInteger dfa4_transition12[] = {23}; - - -+ () newDFA4WithRecognizer:(ANTLRBaseRecognizer *)aRecognizer -{ - return [[[DFA4 alloc] initWithRecognizer:aRecognizer] retain]; -} - -- (id) initWithRecognizer:(ANTLRBaseRecognizer *) theRecognizer -{ - if ((self = [super initWithRecognizer:theRecognizer]) != nil) { - decisionNumber = 4; - eot = dfa4_eot; - eof = dfa4_eof; - min = dfa4_min; - max = dfa4_max; - accept = dfa4_accept; - special = dfa4_special; - if (!(transition = calloc(33, sizeof(void*)))) { - [self release]; - return nil; - } - len = 33; - transition[0] = dfa4_transition11; - transition[1] = dfa4_transition; - transition[2] = dfa4_transition; - transition[3] = dfa4_transition; - transition[4] = dfa4_transition; - transition[5] = dfa4_transition2; - transition[6] = dfa4_transition6; - transition[7] = dfa4_transition4; - transition[8] = dfa4_transition; - transition[9] = dfa4_transition; - transition[10] = dfa4_transition10; - transition[11] = dfa4_transition1; - transition[12] = dfa4_transition; - transition[13] = dfa4_transition; - transition[14] = dfa4_transition; - transition[15] = dfa4_transition; - transition[16] = dfa4_transition; - transition[17] = dfa4_transition12; - transition[18] = dfa4_transition9; - transition[19] = dfa4_transition7; - transition[20] = dfa4_transition3; - transition[21] = dfa4_transition; - transition[22] = dfa4_transition; - transition[23] = dfa4_transition0; - transition[24] = dfa4_transition8; - transition[25] = dfa4_transition5; - transition[26] = dfa4_transition0; - transition[27] = dfa4_transition; - transition[28] = dfa4_transition0; - transition[29] = dfa4_transition0; - transition[30] = dfa4_transition; - transition[31] = dfa4_transition; - transition[32] = dfa4_transition; - } - return self; -} - -- (void) dealloc -{ - free(transition); - [super dealloc]; -} - -- (NSString *) description -{ - return @"1:1: Tokens : ( T__7 | T__8 | T__9 | T__10 | T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | ID | INT | WS );"; -} - - -@end /* end DFA4 implementation */ - -#pragma mark Cyclic DFA implementation end DFA4 - - - /** As per Terence: No returns for lexer rules! */ @implementation SimpleCLexer // line 330 @@ -193,298 +46,328 @@ + (SimpleCLexer *)newSimpleCLexerWithCharStream:(id)anInput - (id) initWithCharStream:(id)anInput { - if ((self = [super initWithCharStream:anInput State:[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:18+1]]) != nil) { - - dfa4 = [DFA4 newDFA4WithRecognizer:self]; + self = [super initWithCharStream:anInput State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:18+1] retain]]; + if ( self != nil ) { } return self; } - (void) dealloc { - [dfa4 release]; [super dealloc]; } -/* Start of actions.lexer.methods */ -/* start methods() */ +/* ObjC Start of actions.lexer.methods */ +/* ObjC end of actions.lexer.methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ /* Start of Rules */ // $ANTLR start "T__7" - (void) mT__7 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__7; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:7:6: ( ';' ) // ruleBlockSingleAlt - // SimpleC.g:7:8: ';' // alt + // SimpleC.g:7:6: ( '(' ) // ruleBlockSingleAlt + // SimpleC.g:7:8: '(' // alt { - [self matchChar:';']; - /* element() */ - /* elements */ + [self matchChar:'(']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__7" +/* $ANTLR end "T__7" */ // $ANTLR start "T__8" - (void) mT__8 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__8; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:8:6: ( '(' ) // ruleBlockSingleAlt - // SimpleC.g:8:8: '(' // alt + // SimpleC.g:8:6: ( ')' ) // ruleBlockSingleAlt + // SimpleC.g:8:8: ')' // alt { - [self matchChar:'(']; - /* element() */ - /* elements */ + [self matchChar:')']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__8" +/* $ANTLR end "T__8" */ // $ANTLR start "T__9" - (void) mT__9 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__9; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:9:6: ( ',' ) // ruleBlockSingleAlt - // SimpleC.g:9:8: ',' // alt + // SimpleC.g:9:6: ( '+' ) // ruleBlockSingleAlt + // SimpleC.g:9:8: '+' // alt { - [self matchChar:',']; - /* element() */ - /* elements */ + [self matchChar:'+']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__9" +/* $ANTLR end "T__9" */ // $ANTLR start "T__10" - (void) mT__10 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__10; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:10:7: ( ')' ) // ruleBlockSingleAlt - // SimpleC.g:10:9: ')' // alt + // SimpleC.g:10:7: ( ',' ) // ruleBlockSingleAlt + // SimpleC.g:10:9: ',' // alt { - [self matchChar:')']; - /* element() */ - /* elements */ + [self matchChar:',']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__10" +/* $ANTLR end "T__10" */ // $ANTLR start "T__11" - (void) mT__11 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__11; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:11:7: ( 'int' ) // ruleBlockSingleAlt - // SimpleC.g:11:9: 'int' // alt + // SimpleC.g:11:7: ( ';' ) // ruleBlockSingleAlt + // SimpleC.g:11:9: ';' // alt { - [self matchString:@"int"]; - /* element() */ - /* elements */ + [self matchChar:';']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__11" +/* $ANTLR end "T__11" */ // $ANTLR start "T__12" - (void) mT__12 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__12; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:12:7: ( 'char' ) // ruleBlockSingleAlt - // SimpleC.g:12:9: 'char' // alt + // SimpleC.g:12:7: ( '<' ) // ruleBlockSingleAlt + // SimpleC.g:12:9: '<' // alt { - [self matchString:@"char"]; - /* element() */ - /* elements */ + [self matchChar:'<']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__12" +/* $ANTLR end "T__12" */ // $ANTLR start "T__13" - (void) mT__13 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__13; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:13:7: ( 'void' ) // ruleBlockSingleAlt - // SimpleC.g:13:9: 'void' // alt + // SimpleC.g:13:7: ( '=' ) // ruleBlockSingleAlt + // SimpleC.g:13:9: '=' // alt { - [self matchString:@"void"]; - /* element() */ - /* elements */ + [self matchChar:'=']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__13" +/* $ANTLR end "T__13" */ // $ANTLR start "T__14" - (void) mT__14 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__14; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:14:7: ( '{' ) // ruleBlockSingleAlt - // SimpleC.g:14:9: '{' // alt + // SimpleC.g:14:7: ( '==' ) // ruleBlockSingleAlt + // SimpleC.g:14:9: '==' // alt { - [self matchChar:'{']; - /* element() */ - /* elements */ + [self matchString:@"=="]; + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__14" +/* $ANTLR end "T__14" */ // $ANTLR start "T__15" - (void) mT__15 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__15; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:15:7: ( '}' ) // ruleBlockSingleAlt - // SimpleC.g:15:9: '}' // alt + // SimpleC.g:15:7: ( 'char' ) // ruleBlockSingleAlt + // SimpleC.g:15:9: 'char' // alt { - [self matchChar:'}']; - /* element() */ - /* elements */ + [self matchString:@"char"]; + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__15" +/* $ANTLR end "T__15" */ // $ANTLR start "T__16" - (void) mT__16 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__16; @@ -493,148 +376,166 @@ - (void) mT__16 // SimpleC.g:16:9: 'for' // alt { [self matchString:@"for"]; - /* element() */ - /* elements */ + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__16" +/* $ANTLR end "T__16" */ // $ANTLR start "T__17" - (void) mT__17 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__17; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:17:7: ( '=' ) // ruleBlockSingleAlt - // SimpleC.g:17:9: '=' // alt + // SimpleC.g:17:7: ( 'int' ) // ruleBlockSingleAlt + // SimpleC.g:17:9: 'int' // alt { - [self matchChar:'=']; - /* element() */ - /* elements */ + [self matchString:@"int"]; + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__17" +/* $ANTLR end "T__17" */ // $ANTLR start "T__18" - (void) mT__18 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__18; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:18:7: ( '==' ) // ruleBlockSingleAlt - // SimpleC.g:18:9: '==' // alt + // SimpleC.g:18:7: ( 'void' ) // ruleBlockSingleAlt + // SimpleC.g:18:9: 'void' // alt { - [self matchString:@"=="]; - /* element() */ - /* elements */ + [self matchString:@"void"]; + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__18" +/* $ANTLR end "T__18" */ // $ANTLR start "T__19" - (void) mT__19 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__19; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:19:7: ( '<' ) // ruleBlockSingleAlt - // SimpleC.g:19:9: '<' // alt + // SimpleC.g:19:7: ( '{' ) // ruleBlockSingleAlt + // SimpleC.g:19:9: '{' // alt { - [self matchChar:'<']; - /* element() */ - /* elements */ + [self matchChar:'{']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__19" +/* $ANTLR end "T__19" */ // $ANTLR start "T__20" - (void) mT__20 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__20; NSInteger _channel = ANTLRTokenChannelDefault; - // SimpleC.g:20:7: ( '+' ) // ruleBlockSingleAlt - // SimpleC.g:20:9: '+' // alt + // SimpleC.g:20:7: ( '}' ) // ruleBlockSingleAlt + // SimpleC.g:20:9: '}' // alt { - [self matchChar:'+']; - /* element() */ - /* elements */ + [self matchChar:'}']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "T__20" +/* $ANTLR end "T__20" */ // $ANTLR start "ID" - (void) mID { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = ID; @@ -644,16 +545,17 @@ - (void) mID { if ((([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ + @throw mse; + } + + do { NSInteger alt1=2; NSInteger LA1_0 = [input LA:1]; - if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')) ) { + if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||LA1_0=='_'||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) { alt1=1; } @@ -664,13 +566,13 @@ - (void) mID { if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))||(([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; + } + + } break; @@ -679,28 +581,31 @@ - (void) mID } } while (YES); loop1: ; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "ID" +/* $ANTLR end "ID" */ // $ANTLR start "INT" - (void) mINT { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = INT; @@ -709,55 +614,66 @@ - (void) mINT // SimpleC.g:97:7: ( '0' .. '9' )+ // alt { // SimpleC.g:97:7: ( '0' .. '9' )+ // positiveClosureBlock - NSInteger cnt2=0; + NSInteger cnt2 = 0; do { - NSInteger alt2=2; + NSInteger alt2 = 2; NSInteger LA2_0 = [input LA:1]; - if ( ((LA2_0>='0' && LA2_0<='9')) ) { + if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) { alt2=1; } switch (alt2) { case 1 : ; - // SimpleC.g:97:8: '0' .. '9' // alt + // SimpleC.g: // alt { - [self matchRangeFromChar:'0' to:'9']; /* element() */ - /* elements */ + if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) { + [input consume]; + } else { + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; + [self recover:mse]; + @throw mse; + } + + } break; default : if ( cnt2 >= 1 ) goto loop2; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:2]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:2]; @throw eee; } cnt2++; } while (YES); loop2: ; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "INT" +/* $ANTLR end "INT" */ // $ANTLR start "WS" - (void) mWS { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = WS; @@ -766,11 +682,11 @@ - (void) mWS // SimpleC.g:100:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // alt { // SimpleC.g:100:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // positiveClosureBlock - NSInteger cnt3=0; + NSInteger cnt3 = 0; do { - NSInteger alt3=2; + NSInteger alt3 = 2; NSInteger LA3_0 = [input LA:1]; - if ( ((LA3_0>='\t' && LA3_0<='\n')||LA3_0=='\r'||LA3_0==' ') ) { + if ( ((LA3_0 >= '\t' && LA3_0 <= '\n')||LA3_0=='\r'||LA3_0==' ') ) { alt3=1; } @@ -781,183 +697,459 @@ - (void) mWS { if ((([input LA:1] >= '\t') && ([input LA:1] <= '\n'))||[input LA:1] == '\r'||[input LA:1] == ' ') { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; + } + + } break; default : if ( cnt3 >= 1 ) goto loop3; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:3]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:3]; @throw eee; } cnt3++; } while (YES); loop3: ; - /* element() */ - _channel=99; /* element() */ - /* elements */ + + + _channel=HIDDEN; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "WS" +/* $ANTLR end "WS" */ - (void) mTokens { // SimpleC.g:1:8: ( T__7 | T__8 | T__9 | T__10 | T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | ID | INT | WS ) //ruleblock NSInteger alt4=17; - alt4 = [dfa4 predict:input]; + unichar charLA4 = [input LA:1]; + switch (charLA4) { + case '(': ; + { + alt4=1; + } + break; + case ')': ; + { + alt4=2; + } + break; + case '+': ; + { + alt4=3; + } + break; + case ',': ; + { + alt4=4; + } + break; + case ';': ; + { + alt4=5; + } + break; + case '<': ; + { + alt4=6; + } + break; + case '=': ; + { + NSInteger LA4_7 = [input LA:2]; + + if ( (LA4_7=='=') ) { + alt4=8; + } + else { + alt4 = 7; + } + } + break; + case 'c': ; + { + NSInteger LA4_8 = [input LA:2]; + + if ( (LA4_8=='h') ) { + NSInteger LA4_19 = [input LA:3]; + + if ( (LA4_19=='a') ) { + NSInteger LA4_23 = [input LA:4]; + + if ( (LA4_23=='r') ) { + NSInteger LA4_27 = [input LA:5]; + + if ( ((LA4_27 >= '0' && LA4_27 <= '9')||(LA4_27 >= 'A' && LA4_27 <= 'Z')||LA4_27=='_'||(LA4_27 >= 'a' && LA4_27 <= 'z')) ) { + alt4=15; + } + else { + alt4 = 9; + } + } + else { + alt4 = 15; + } + } + else { + alt4 = 15; + } + } + else { + alt4 = 15; + } + } + break; + case 'f': ; + { + NSInteger LA4_9 = [input LA:2]; + + if ( (LA4_9=='o') ) { + NSInteger LA4_20 = [input LA:3]; + + if ( (LA4_20=='r') ) { + NSInteger LA4_24 = [input LA:4]; + + if ( ((LA4_24 >= '0' && LA4_24 <= '9')||(LA4_24 >= 'A' && LA4_24 <= 'Z')||LA4_24=='_'||(LA4_24 >= 'a' && LA4_24 <= 'z')) ) { + alt4=15; + } + else { + alt4 = 10; + } + } + else { + alt4 = 15; + } + } + else { + alt4 = 15; + } + } + break; + case 'i': ; + { + NSInteger LA4_10 = [input LA:2]; + + if ( (LA4_10=='n') ) { + NSInteger LA4_21 = [input LA:3]; + + if ( (LA4_21=='t') ) { + NSInteger LA4_25 = [input LA:4]; + + if ( ((LA4_25 >= '0' && LA4_25 <= '9')||(LA4_25 >= 'A' && LA4_25 <= 'Z')||LA4_25=='_'||(LA4_25 >= 'a' && LA4_25 <= 'z')) ) { + alt4=15; + } + else { + alt4 = 11; + } + } + else { + alt4 = 15; + } + } + else { + alt4 = 15; + } + } + break; + case 'v': ; + { + NSInteger LA4_11 = [input LA:2]; + + if ( (LA4_11=='o') ) { + NSInteger LA4_22 = [input LA:3]; + + if ( (LA4_22=='i') ) { + NSInteger LA4_26 = [input LA:4]; + + if ( (LA4_26=='d') ) { + NSInteger LA4_30 = [input LA:5]; + + if ( ((LA4_30 >= '0' && LA4_30 <= '9')||(LA4_30 >= 'A' && LA4_30 <= 'Z')||LA4_30=='_'||(LA4_30 >= 'a' && LA4_30 <= 'z')) ) { + alt4=15; + } + else { + alt4 = 12; + } + } + else { + alt4 = 15; + } + } + else { + alt4 = 15; + } + } + else { + alt4 = 15; + } + } + break; + case '{': ; + { + alt4=13; + } + break; + case '}': ; + { + alt4=14; + } + break; + case 'A': ; + case 'B': ; + case 'C': ; + case 'D': ; + case 'E': ; + case 'F': ; + case 'G': ; + case 'H': ; + case 'I': ; + case 'J': ; + case 'K': ; + case 'L': ; + case 'M': ; + case 'N': ; + case 'O': ; + case 'P': ; + case 'Q': ; + case 'R': ; + case 'S': ; + case 'T': ; + case 'U': ; + case 'V': ; + case 'W': ; + case 'X': ; + case 'Y': ; + case 'Z': ; + case '_': ; + case 'a': ; + case 'b': ; + case 'd': ; + case 'e': ; + case 'g': ; + case 'h': ; + case 'j': ; + case 'k': ; + case 'l': ; + case 'm': ; + case 'n': ; + case 'o': ; + case 'p': ; + case 'q': ; + case 'r': ; + case 's': ; + case 't': ; + case 'u': ; + case 'w': ; + case 'x': ; + case 'y': ; + case 'z': ; + { + alt4=15; + } + break; + case '0': ; + case '1': ; + case '2': ; + case '3': ; + case '4': ; + case '5': ; + case '6': ; + case '7': ; + case '8': ; + case '9': ; + { + alt4=16; + } + break; + case '\t': ; + case '\n': ; + case '\r': ; + case ' ': ; + { + alt4=17; + } + break; + + default: ; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:4 state:0 stream:input]; + nvae.c = charLA4; + @throw nvae; + + } + switch (alt4) { case 1 : ; // SimpleC.g:1:10: T__7 // alt { - [self mT__7]; - /* element() */ - /* elements */ + [self mT__7]; + + + } break; case 2 : ; // SimpleC.g:1:15: T__8 // alt { - [self mT__8]; - /* element() */ - /* elements */ + [self mT__8]; + + + } break; case 3 : ; // SimpleC.g:1:20: T__9 // alt { - [self mT__9]; - /* element() */ - /* elements */ + [self mT__9]; + + + } break; case 4 : ; // SimpleC.g:1:25: T__10 // alt { - [self mT__10]; - /* element() */ - /* elements */ + [self mT__10]; + + + } break; case 5 : ; // SimpleC.g:1:31: T__11 // alt { - [self mT__11]; - /* element() */ - /* elements */ + [self mT__11]; + + + } break; case 6 : ; // SimpleC.g:1:37: T__12 // alt { - [self mT__12]; - /* element() */ - /* elements */ + [self mT__12]; + + + } break; case 7 : ; // SimpleC.g:1:43: T__13 // alt { - [self mT__13]; - /* element() */ - /* elements */ + [self mT__13]; + + + } break; case 8 : ; // SimpleC.g:1:49: T__14 // alt { - [self mT__14]; - /* element() */ - /* elements */ + [self mT__14]; + + + } break; case 9 : ; // SimpleC.g:1:55: T__15 // alt { - [self mT__15]; - /* element() */ - /* elements */ + [self mT__15]; + + + } break; case 10 : ; // SimpleC.g:1:61: T__16 // alt { - [self mT__16]; - /* element() */ - /* elements */ + [self mT__16]; + + + } break; case 11 : ; // SimpleC.g:1:67: T__17 // alt { - [self mT__17]; - /* element() */ - /* elements */ + [self mT__17]; + + + } break; case 12 : ; // SimpleC.g:1:73: T__18 // alt { - [self mT__18]; - /* element() */ - /* elements */ + [self mT__18]; + + + } break; case 13 : ; // SimpleC.g:1:79: T__19 // alt { - [self mT__19]; - /* element() */ - /* elements */ + [self mT__19]; + + + } break; case 14 : ; // SimpleC.g:1:85: T__20 // alt { - [self mT__20]; - /* element() */ - /* elements */ + [self mT__20]; + + + } break; case 15 : ; // SimpleC.g:1:91: ID // alt { - [self mID]; - /* element() */ - /* elements */ + [self mID]; + + + } break; case 16 : ; // SimpleC.g:1:94: INT // alt { - [self mINT]; - /* element() */ - /* elements */ + [self mINT]; + + + } break; case 17 : ; // SimpleC.g:1:98: WS // alt { - [self mWS]; - /* element() */ - /* elements */ + [self mWS]; + + + } break; @@ -965,8 +1157,4 @@ - (void) mTokens } -@end /* end of SimpleCLexer implementation line 397 */ - -/* End of code - * ============================================================================= - */ +@end /* end of SimpleCLexer implementation line 397 */ \ No newline at end of file diff --git a/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.h b/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.h index 239c0c5f..6e3b2af4 100644 --- a/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.h +++ b/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.h @@ -1,15 +1,27 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SimpleC.g 2010-08-24 13:53:43 +// $ANTLR ${project.version} ${buildNumber} SimpleC.g 2011-05-06 13:53:12 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ /* parserHeaderFile */ +#ifndef ANTLR3TokenTypeAlreadyDefined +#define ANTLR3TokenTypeAlreadyDefined +typedef enum { + ANTLR_EOF = -1, + INVALID, + EOR, + DOWN, + UP, + MIN +} ANTLR3TokenType; +#endif + #pragma mark Cyclic DFA interface start DFA2 @interface DFA2 : ANTLRDFA { } @@ -18,50 +30,69 @@ @end /* end of DFA2 interface */ #pragma mark Cyclic DFA interface end DFA2 + #pragma mark Tokens -#define T__20 20 -#define INT 5 -#define ID 4 +#ifdef EOF +#undef EOF +#endif #define EOF -1 -#define T__9 9 -#define T__8 8 #define T__7 7 -#define T__19 19 -#define WS 6 -#define T__16 16 -#define T__15 15 -#define T__18 18 -#define T__17 17 -#define T__12 12 +#define T__8 8 +#define T__9 9 +#define T__10 10 #define T__11 11 -#define T__14 14 +#define T__12 12 #define T__13 13 -#define T__10 10 +#define T__14 14 +#define T__15 15 +#define T__16 16 +#define T__17 17 +#define T__18 18 +#define T__19 19 +#define T__20 20 +#define ID 4 +#define INT 5 +#define WS 6 #pragma mark Dynamic Global Scopes #pragma mark Dynamic Rule Scopes #pragma mark Rule Return Scopes start -#pragma mark Rule return scopes end + +/* Interface grammar class */ @interface SimpleCParser : ANTLRParser { /* line 572 */ -// start of globalAttributeScopeMemVar +/* ObjC start of ruleAttributeScopeMemVar */ -// start of action-actionScope-memVars -// start of ruleAttributeScopeMemVar +/* ObjC end of ruleAttributeScopeMemVar */ +/* ObjC start of globalAttributeScopeMemVar */ -// Start of memVars +/* ObjC end of globalAttributeScopeMemVar */ +/* ObjC start of actions.(actionScope).memVars */ +/* ObjC end of actions.(actionScope).memVars */ +/* ObjC start of memVars */ +/* ObjC end of memVars */ DFA2 *dfa2; } -// start of action-actionScope-methodsDecl +/* ObjC start of actions.(actionScope).properties */ +/* ObjC end of actions.(actionScope).properties */ +/* ObjC start of properties */ +/* ObjC end of properties */ ++ (void) initialize; ++ (id) newSimpleCParser:(id)aStream; +/* ObjC start of actions.(actionScope).methodsDecl */ +/* ObjC end of actions.(actionScope).methodsDecl */ + +/* ObjC start of methodsDecl */ +/* ObjC end of methodsDecl */ - (void)program; - (void)declaration; - (void)variable; - (void)declarator; -- (NSString*)functionHeader; +- (NSString *)functionHeader; - (void)formalParameter; - (void)type; - (void)block; @@ -75,3 +106,4 @@ DFA2 *dfa2; @end /* end of SimpleCParser interface */ + diff --git a/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.m b/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.m index e8f68553..e65a1495 100644 --- a/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.m +++ b/runtime/ObjC/Framework/examples/LL-star/SimpleCParser.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : SimpleC.g - * - On : 2010-08-24 13:53:43 - * - for the parser : SimpleCParserParser * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 13:53:12 + * - for the parser : SimpleCParserParser + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SimpleC.g 2010-08-24 13:53:43 +// $ANTLR ${project.version} ${buildNumber} SimpleC.g 2011-05-06 13:53:12 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -47,12 +22,9 @@ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ - - #pragma mark Cyclic DFA implementation start DFA2 @implementation DFA2 const static NSInteger dfa2_eot[13] = @@ -60,37 +32,38 @@ @implementation DFA2 const static NSInteger dfa2_eof[13] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; const static unichar dfa2_min[13] = - {4,4,7,4,0,4,7,9,0,0,4,4,9}; + {4,4,7,4,0,4,11,8,0,0,4,4,8}; const static unichar dfa2_max[13] = - {13,4,8,13,0,4,14,10,0,0,13,4,10}; + {18,4,11,18,0,4,19,10,0,0,18,4,10}; const static NSInteger dfa2_accept[13] = {-1,-1,-1,-1,1,-1,-1,-1,2,3,-1,-1,-1}; const static NSInteger dfa2_special[13] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; const static NSInteger dfa2_transition[] = {}; -const static NSInteger dfa2_transition0[] = {4, 3}; -const static NSInteger dfa2_transition1[] = {10, 6}; +const static NSInteger dfa2_transition0[] = {3, -1, -1, -1, 4}; +const static NSInteger dfa2_transition1[] = {6, -1, 10}; const static NSInteger dfa2_transition2[] = {8, -1, -1, -1, -1, -1, -1, - 9}; + -1, 9}; const static NSInteger dfa2_transition3[] = {2}; const static NSInteger dfa2_transition4[] = {1, -1, -1, -1, -1, -1, -1, - 1, 1, 1}; + -1, -1, -1, -1, 1, -1, 1, 1}; const static NSInteger dfa2_transition5[] = {7}; const static NSInteger dfa2_transition6[] = {11, -1, -1, -1, -1, -1, -1, - 11, 11, 11}; + -1, -1, -1, -1, 11, -1, 11, 11}; const static NSInteger dfa2_transition7[] = {12}; -const static NSInteger dfa2_transition8[] = {5, -1, -1, -1, -1, -1, 6, 5, - 5, 5}; +const static NSInteger dfa2_transition8[] = {5, -1, -1, -1, 6, -1, -1, -1, + -1, -1, -1, 5, -1, 5, 5}; -+ () newDFA2WithRecognizer:(ANTLRBaseRecognizer *)aRecognizer ++ (id) newDFA2WithRecognizer:(ANTLRBaseRecognizer *)aRecognizer { return [[[DFA2 alloc] initWithRecognizer:aRecognizer] retain]; } - (id) initWithRecognizer:(ANTLRBaseRecognizer *) theRecognizer { - if ((self = [super initWithRecognizer:theRecognizer]) != nil) { + self = [super initWithRecognizer:theRecognizer]; + if ( self != nil ) { decisionNumber = 2; eot = dfa2_eot; eof = dfa2_eof; @@ -107,15 +80,15 @@ - (id) initWithRecognizer:(ANTLRBaseRecognizer *) theRecognizer transition[1] = dfa2_transition3; transition[2] = dfa2_transition0; transition[3] = dfa2_transition8; - transition[4] = dfa2_transition; - transition[5] = dfa2_transition5; - transition[6] = dfa2_transition2; - transition[7] = dfa2_transition1; - transition[8] = dfa2_transition; - transition[9] = dfa2_transition; - transition[10] = dfa2_transition6; - transition[11] = dfa2_transition7; - transition[12] = dfa2_transition1; + + transition[4] = dfa2_transition5; + transition[5] = dfa2_transition2; + transition[6] = dfa2_transition1; + + + transition[7] = dfa2_transition6; + transition[8] = dfa2_transition7; + transition[9] = dfa2_transition1; } return self; } @@ -128,7 +101,7 @@ - (void) dealloc - (NSString *) description { - return @"11:1: declaration : ( variable | functionHeader ';' | functionHeader block );"; + return @"20:1: declaration : ( variable | functionHeader ';' | functionHeader block );"; } @@ -139,234 +112,217 @@ - (NSString *) description #pragma mark Bitsets -static ANTLRBitSet *FOLLOW_declaration_in_program27; -static const unsigned long long FOLLOW_declaration_in_program27_data[] = { 0x0000000000003812LL}; -static ANTLRBitSet *FOLLOW_variable_in_declaration49; -static const unsigned long long FOLLOW_variable_in_declaration49_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_functionHeader_in_declaration59; -static const unsigned long long FOLLOW_functionHeader_in_declaration59_data[] = { 0x0000000000000080LL}; -static ANTLRBitSet *FOLLOW_7_in_declaration61; -static const unsigned long long FOLLOW_7_in_declaration61_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_functionHeader_in_declaration74; -static const unsigned long long FOLLOW_functionHeader_in_declaration74_data[] = { 0x0000000000004000LL}; -static ANTLRBitSet *FOLLOW_block_in_declaration76; -static const unsigned long long FOLLOW_block_in_declaration76_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_type_in_variable98; -static const unsigned long long FOLLOW_type_in_variable98_data[] = { 0x0000000000000010LL}; -static ANTLRBitSet *FOLLOW_declarator_in_variable100; -static const unsigned long long FOLLOW_declarator_in_variable100_data[] = { 0x0000000000000080LL}; -static ANTLRBitSet *FOLLOW_7_in_variable102; -static const unsigned long long FOLLOW_7_in_variable102_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_ID_in_declarator121; -static const unsigned long long FOLLOW_ID_in_declarator121_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_type_in_functionHeader150; -static const unsigned long long FOLLOW_type_in_functionHeader150_data[] = { 0x0000000000000010LL}; -static ANTLRBitSet *FOLLOW_ID_in_functionHeader152; -static const unsigned long long FOLLOW_ID_in_functionHeader152_data[] = { 0x0000000000000100LL}; -static ANTLRBitSet *FOLLOW_8_in_functionHeader154; -static const unsigned long long FOLLOW_8_in_functionHeader154_data[] = { 0x0000000000003C10LL}; -static ANTLRBitSet *FOLLOW_formalParameter_in_functionHeader158; -static const unsigned long long FOLLOW_formalParameter_in_functionHeader158_data[] = { 0x0000000000000600LL}; -static ANTLRBitSet *FOLLOW_9_in_functionHeader162; -static const unsigned long long FOLLOW_9_in_functionHeader162_data[] = { 0x0000000000003810LL}; -static ANTLRBitSet *FOLLOW_formalParameter_in_functionHeader164; -static const unsigned long long FOLLOW_formalParameter_in_functionHeader164_data[] = { 0x0000000000000600LL}; -static ANTLRBitSet *FOLLOW_10_in_functionHeader172; -static const unsigned long long FOLLOW_10_in_functionHeader172_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_type_in_formalParameter194; -static const unsigned long long FOLLOW_type_in_formalParameter194_data[] = { 0x0000000000000010LL}; -static ANTLRBitSet *FOLLOW_declarator_in_formalParameter196; -static const unsigned long long FOLLOW_declarator_in_formalParameter196_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_set_in_type0; -static const unsigned long long FOLLOW_set_in_type0_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_14_in_block285; -static const unsigned long long FOLLOW_14_in_block285_data[] = { 0x000000000001F9B0LL}; -static ANTLRBitSet *FOLLOW_variable_in_block299; -static const unsigned long long FOLLOW_variable_in_block299_data[] = { 0x000000000001F9B0LL}; -static ANTLRBitSet *FOLLOW_stat_in_block314; -static const unsigned long long FOLLOW_stat_in_block314_data[] = { 0x000000000001C1B0LL}; -static ANTLRBitSet *FOLLOW_15_in_block325; -static const unsigned long long FOLLOW_15_in_block325_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_forStat_in_stat337; -static const unsigned long long FOLLOW_forStat_in_stat337_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_expr_in_stat345; -static const unsigned long long FOLLOW_expr_in_stat345_data[] = { 0x0000000000000080LL}; -static ANTLRBitSet *FOLLOW_7_in_stat347; -static const unsigned long long FOLLOW_7_in_stat347_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_block_in_stat361; -static const unsigned long long FOLLOW_block_in_stat361_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_assignStat_in_stat369; -static const unsigned long long FOLLOW_assignStat_in_stat369_data[] = { 0x0000000000000080LL}; -static ANTLRBitSet *FOLLOW_7_in_stat371; -static const unsigned long long FOLLOW_7_in_stat371_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_7_in_stat379; -static const unsigned long long FOLLOW_7_in_stat379_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_16_in_forStat398; -static const unsigned long long FOLLOW_16_in_forStat398_data[] = { 0x0000000000000100LL}; -static ANTLRBitSet *FOLLOW_8_in_forStat400; -static const unsigned long long FOLLOW_8_in_forStat400_data[] = { 0x0000000000000010LL}; -static ANTLRBitSet *FOLLOW_assignStat_in_forStat402; -static const unsigned long long FOLLOW_assignStat_in_forStat402_data[] = { 0x0000000000000080LL}; -static ANTLRBitSet *FOLLOW_7_in_forStat404; -static const unsigned long long FOLLOW_7_in_forStat404_data[] = { 0x0000000000000130LL}; -static ANTLRBitSet *FOLLOW_expr_in_forStat406; -static const unsigned long long FOLLOW_expr_in_forStat406_data[] = { 0x0000000000000080LL}; -static ANTLRBitSet *FOLLOW_7_in_forStat408; -static const unsigned long long FOLLOW_7_in_forStat408_data[] = { 0x0000000000000010LL}; -static ANTLRBitSet *FOLLOW_assignStat_in_forStat410; -static const unsigned long long FOLLOW_assignStat_in_forStat410_data[] = { 0x0000000000000400LL}; -static ANTLRBitSet *FOLLOW_10_in_forStat412; -static const unsigned long long FOLLOW_10_in_forStat412_data[] = { 0x0000000000004000LL}; -static ANTLRBitSet *FOLLOW_block_in_forStat414; -static const unsigned long long FOLLOW_block_in_forStat414_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_ID_in_assignStat441; -static const unsigned long long FOLLOW_ID_in_assignStat441_data[] = { 0x0000000000020000LL}; -static ANTLRBitSet *FOLLOW_17_in_assignStat443; -static const unsigned long long FOLLOW_17_in_assignStat443_data[] = { 0x0000000000000130LL}; -static ANTLRBitSet *FOLLOW_expr_in_assignStat445; -static const unsigned long long FOLLOW_expr_in_assignStat445_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_condExpr_in_expr467; -static const unsigned long long FOLLOW_condExpr_in_expr467_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_aexpr_in_condExpr486; -static const unsigned long long FOLLOW_aexpr_in_condExpr486_data[] = { 0x00000000000C0002LL}; -static ANTLRBitSet *FOLLOW_set_in_condExpr490; -static const unsigned long long FOLLOW_set_in_condExpr490_data[] = { 0x0000000000000130LL}; -static ANTLRBitSet *FOLLOW_aexpr_in_condExpr498; -static const unsigned long long FOLLOW_aexpr_in_condExpr498_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_atom_in_aexpr520; -static const unsigned long long FOLLOW_atom_in_aexpr520_data[] = { 0x0000000000100002LL}; -static ANTLRBitSet *FOLLOW_20_in_aexpr524; -static const unsigned long long FOLLOW_20_in_aexpr524_data[] = { 0x0000000000000130LL}; -static ANTLRBitSet *FOLLOW_atom_in_aexpr526; -static const unsigned long long FOLLOW_atom_in_aexpr526_data[] = { 0x0000000000100002LL}; -static ANTLRBitSet *FOLLOW_ID_in_atom546; -static const unsigned long long FOLLOW_ID_in_atom546_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_INT_in_atom560; -static const unsigned long long FOLLOW_INT_in_atom560_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_8_in_atom574; -static const unsigned long long FOLLOW_8_in_atom574_data[] = { 0x0000000000000130LL}; -static ANTLRBitSet *FOLLOW_expr_in_atom576; -static const unsigned long long FOLLOW_expr_in_atom576_data[] = { 0x0000000000000400LL}; -static ANTLRBitSet *FOLLOW_10_in_atom578; -static const unsigned long long FOLLOW_10_in_atom578_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_declaration_in_program28; +static const unsigned long long FOLLOW_declaration_in_program28_data[] = { 0x0000000000068012LL}; +static ANTLRBitSet *FOLLOW_variable_in_declaration50; +static const unsigned long long FOLLOW_variable_in_declaration50_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_functionHeader_in_declaration60; +static const unsigned long long FOLLOW_functionHeader_in_declaration60_data[] = { 0x0000000000000800LL}; +static ANTLRBitSet *FOLLOW_11_in_declaration62; +static const unsigned long long FOLLOW_11_in_declaration62_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_functionHeader_in_declaration75; +static const unsigned long long FOLLOW_functionHeader_in_declaration75_data[] = { 0x0000000000080000LL}; +static ANTLRBitSet *FOLLOW_block_in_declaration77; +static const unsigned long long FOLLOW_block_in_declaration77_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_type_in_variable99; +static const unsigned long long FOLLOW_type_in_variable99_data[] = { 0x0000000000000010LL}; +static ANTLRBitSet *FOLLOW_declarator_in_variable101; +static const unsigned long long FOLLOW_declarator_in_variable101_data[] = { 0x0000000000000800LL}; +static ANTLRBitSet *FOLLOW_11_in_variable103; +static const unsigned long long FOLLOW_11_in_variable103_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_ID_in_declarator122; +static const unsigned long long FOLLOW_ID_in_declarator122_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_type_in_functionHeader151; +static const unsigned long long FOLLOW_type_in_functionHeader151_data[] = { 0x0000000000000010LL}; +static ANTLRBitSet *FOLLOW_ID_in_functionHeader153; +static const unsigned long long FOLLOW_ID_in_functionHeader153_data[] = { 0x0000000000000080LL}; +static ANTLRBitSet *FOLLOW_7_in_functionHeader155; +static const unsigned long long FOLLOW_7_in_functionHeader155_data[] = { 0x0000000000068110LL}; +static ANTLRBitSet *FOLLOW_formalParameter_in_functionHeader159; +static const unsigned long long FOLLOW_formalParameter_in_functionHeader159_data[] = { 0x0000000000000500LL}; +static ANTLRBitSet *FOLLOW_10_in_functionHeader163; +static const unsigned long long FOLLOW_10_in_functionHeader163_data[] = { 0x0000000000068010LL}; +static ANTLRBitSet *FOLLOW_formalParameter_in_functionHeader165; +static const unsigned long long FOLLOW_formalParameter_in_functionHeader165_data[] = { 0x0000000000000500LL}; +static ANTLRBitSet *FOLLOW_8_in_functionHeader173; +static const unsigned long long FOLLOW_8_in_functionHeader173_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_type_in_formalParameter195; +static const unsigned long long FOLLOW_type_in_formalParameter195_data[] = { 0x0000000000000010LL}; +static ANTLRBitSet *FOLLOW_declarator_in_formalParameter197; +static const unsigned long long FOLLOW_declarator_in_formalParameter197_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_19_in_block286; +static const unsigned long long FOLLOW_19_in_block286_data[] = { 0x00000000001F88B0LL}; +static ANTLRBitSet *FOLLOW_variable_in_block300; +static const unsigned long long FOLLOW_variable_in_block300_data[] = { 0x00000000001F88B0LL}; +static ANTLRBitSet *FOLLOW_stat_in_block315; +static const unsigned long long FOLLOW_stat_in_block315_data[] = { 0x00000000001908B0LL}; +static ANTLRBitSet *FOLLOW_20_in_block326; +static const unsigned long long FOLLOW_20_in_block326_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_forStat_in_stat338; +static const unsigned long long FOLLOW_forStat_in_stat338_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_expr_in_stat346; +static const unsigned long long FOLLOW_expr_in_stat346_data[] = { 0x0000000000000800LL}; +static ANTLRBitSet *FOLLOW_11_in_stat348; +static const unsigned long long FOLLOW_11_in_stat348_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_block_in_stat362; +static const unsigned long long FOLLOW_block_in_stat362_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_assignStat_in_stat370; +static const unsigned long long FOLLOW_assignStat_in_stat370_data[] = { 0x0000000000000800LL}; +static ANTLRBitSet *FOLLOW_11_in_stat372; +static const unsigned long long FOLLOW_11_in_stat372_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_11_in_stat380; +static const unsigned long long FOLLOW_11_in_stat380_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_16_in_forStat399; +static const unsigned long long FOLLOW_16_in_forStat399_data[] = { 0x0000000000000080LL}; +static ANTLRBitSet *FOLLOW_7_in_forStat401; +static const unsigned long long FOLLOW_7_in_forStat401_data[] = { 0x0000000000000010LL}; +static ANTLRBitSet *FOLLOW_assignStat_in_forStat403; +static const unsigned long long FOLLOW_assignStat_in_forStat403_data[] = { 0x0000000000000800LL}; +static ANTLRBitSet *FOLLOW_11_in_forStat405; +static const unsigned long long FOLLOW_11_in_forStat405_data[] = { 0x00000000000000B0LL}; +static ANTLRBitSet *FOLLOW_expr_in_forStat407; +static const unsigned long long FOLLOW_expr_in_forStat407_data[] = { 0x0000000000000800LL}; +static ANTLRBitSet *FOLLOW_11_in_forStat409; +static const unsigned long long FOLLOW_11_in_forStat409_data[] = { 0x0000000000000010LL}; +static ANTLRBitSet *FOLLOW_assignStat_in_forStat411; +static const unsigned long long FOLLOW_assignStat_in_forStat411_data[] = { 0x0000000000000100LL}; +static ANTLRBitSet *FOLLOW_8_in_forStat413; +static const unsigned long long FOLLOW_8_in_forStat413_data[] = { 0x0000000000080000LL}; +static ANTLRBitSet *FOLLOW_block_in_forStat415; +static const unsigned long long FOLLOW_block_in_forStat415_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_ID_in_assignStat442; +static const unsigned long long FOLLOW_ID_in_assignStat442_data[] = { 0x0000000000002000LL}; +static ANTLRBitSet *FOLLOW_13_in_assignStat444; +static const unsigned long long FOLLOW_13_in_assignStat444_data[] = { 0x00000000000000B0LL}; +static ANTLRBitSet *FOLLOW_expr_in_assignStat446; +static const unsigned long long FOLLOW_expr_in_assignStat446_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_condExpr_in_expr468; +static const unsigned long long FOLLOW_condExpr_in_expr468_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_aexpr_in_condExpr487; +static const unsigned long long FOLLOW_aexpr_in_condExpr487_data[] = { 0x0000000000005002LL}; +static ANTLRBitSet *FOLLOW_set_in_condExpr491; +static const unsigned long long FOLLOW_set_in_condExpr491_data[] = { 0x00000000000000B0LL}; +static ANTLRBitSet *FOLLOW_aexpr_in_condExpr499; +static const unsigned long long FOLLOW_aexpr_in_condExpr499_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_atom_in_aexpr521; +static const unsigned long long FOLLOW_atom_in_aexpr521_data[] = { 0x0000000000000202LL}; +static ANTLRBitSet *FOLLOW_9_in_aexpr525; +static const unsigned long long FOLLOW_9_in_aexpr525_data[] = { 0x00000000000000B0LL}; +static ANTLRBitSet *FOLLOW_atom_in_aexpr527; +static const unsigned long long FOLLOW_atom_in_aexpr527_data[] = { 0x0000000000000202LL}; +static ANTLRBitSet *FOLLOW_ID_in_atom547; +static const unsigned long long FOLLOW_ID_in_atom547_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_INT_in_atom561; +static const unsigned long long FOLLOW_INT_in_atom561_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_7_in_atom575; +static const unsigned long long FOLLOW_7_in_atom575_data[] = { 0x00000000000000B0LL}; +static ANTLRBitSet *FOLLOW_expr_in_atom577; +static const unsigned long long FOLLOW_expr_in_atom577_data[] = { 0x0000000000000100LL}; +static ANTLRBitSet *FOLLOW_8_in_atom579; +static const unsigned long long FOLLOW_8_in_atom579_data[] = { 0x0000000000000002LL}; #pragma mark Dynamic Global Scopes #pragma mark Dynamic Rule Scopes -#pragma mark Rule return scopes start -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - +#pragma mark Rule Return Scopes start +//#pragma mark Rule return scopes start +// +#pragma mark Rule return scopes start @implementation SimpleCParser // line 637 +/* ObjC start of ruleAttributeScope */ +#pragma mark Dynamic Rule Scopes +/* ObjC end of ruleAttributeScope */ +#pragma mark global Attribute Scopes +/* ObjC start globalAttributeScope */ +/* ObjC end globalAttributeScope */ +/* ObjC start actions.(actionScope).synthesize */ +/* ObjC end actions.(actionScope).synthesize */ +/* ObjC start synthesize() */ +/* ObjC end synthesize() */ + + (void) initialize { #pragma mark Bitsets - FOLLOW_declaration_in_program27 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declaration_in_program27_data Count:(NSUInteger)1] retain]; - FOLLOW_variable_in_declaration49 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_variable_in_declaration49_data Count:(NSUInteger)1] retain]; - FOLLOW_functionHeader_in_declaration59 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_functionHeader_in_declaration59_data Count:(NSUInteger)1] retain]; - FOLLOW_7_in_declaration61 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_declaration61_data Count:(NSUInteger)1] retain]; - FOLLOW_functionHeader_in_declaration74 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_functionHeader_in_declaration74_data Count:(NSUInteger)1] retain]; - FOLLOW_block_in_declaration76 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_declaration76_data Count:(NSUInteger)1] retain]; - FOLLOW_type_in_variable98 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_variable98_data Count:(NSUInteger)1] retain]; - FOLLOW_declarator_in_variable100 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_variable100_data Count:(NSUInteger)1] retain]; - FOLLOW_7_in_variable102 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_variable102_data Count:(NSUInteger)1] retain]; - FOLLOW_ID_in_declarator121 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_declarator121_data Count:(NSUInteger)1] retain]; - FOLLOW_type_in_functionHeader150 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_functionHeader150_data Count:(NSUInteger)1] retain]; - FOLLOW_ID_in_functionHeader152 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_functionHeader152_data Count:(NSUInteger)1] retain]; - FOLLOW_8_in_functionHeader154 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_8_in_functionHeader154_data Count:(NSUInteger)1] retain]; - FOLLOW_formalParameter_in_functionHeader158 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_formalParameter_in_functionHeader158_data Count:(NSUInteger)1] retain]; - FOLLOW_9_in_functionHeader162 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_9_in_functionHeader162_data Count:(NSUInteger)1] retain]; - FOLLOW_formalParameter_in_functionHeader164 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_formalParameter_in_functionHeader164_data Count:(NSUInteger)1] retain]; - FOLLOW_10_in_functionHeader172 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_10_in_functionHeader172_data Count:(NSUInteger)1] retain]; - FOLLOW_type_in_formalParameter194 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_formalParameter194_data Count:(NSUInteger)1] retain]; - FOLLOW_declarator_in_formalParameter196 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_formalParameter196_data Count:(NSUInteger)1] retain]; - FOLLOW_set_in_type0 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_set_in_type0_data Count:(NSUInteger)1] retain]; - FOLLOW_14_in_block285 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_14_in_block285_data Count:(NSUInteger)1] retain]; - FOLLOW_variable_in_block299 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_variable_in_block299_data Count:(NSUInteger)1] retain]; - FOLLOW_stat_in_block314 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_stat_in_block314_data Count:(NSUInteger)1] retain]; - FOLLOW_15_in_block325 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_15_in_block325_data Count:(NSUInteger)1] retain]; - FOLLOW_forStat_in_stat337 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_forStat_in_stat337_data Count:(NSUInteger)1] retain]; - FOLLOW_expr_in_stat345 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_stat345_data Count:(NSUInteger)1] retain]; - FOLLOW_7_in_stat347 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_stat347_data Count:(NSUInteger)1] retain]; - FOLLOW_block_in_stat361 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_stat361_data Count:(NSUInteger)1] retain]; - FOLLOW_assignStat_in_stat369 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_assignStat_in_stat369_data Count:(NSUInteger)1] retain]; - FOLLOW_7_in_stat371 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_stat371_data Count:(NSUInteger)1] retain]; - FOLLOW_7_in_stat379 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_stat379_data Count:(NSUInteger)1] retain]; - FOLLOW_16_in_forStat398 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_16_in_forStat398_data Count:(NSUInteger)1] retain]; - FOLLOW_8_in_forStat400 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_8_in_forStat400_data Count:(NSUInteger)1] retain]; - FOLLOW_assignStat_in_forStat402 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_assignStat_in_forStat402_data Count:(NSUInteger)1] retain]; - FOLLOW_7_in_forStat404 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_forStat404_data Count:(NSUInteger)1] retain]; - FOLLOW_expr_in_forStat406 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_forStat406_data Count:(NSUInteger)1] retain]; - FOLLOW_7_in_forStat408 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_forStat408_data Count:(NSUInteger)1] retain]; - FOLLOW_assignStat_in_forStat410 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_assignStat_in_forStat410_data Count:(NSUInteger)1] retain]; - FOLLOW_10_in_forStat412 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_10_in_forStat412_data Count:(NSUInteger)1] retain]; - FOLLOW_block_in_forStat414 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_forStat414_data Count:(NSUInteger)1] retain]; - FOLLOW_ID_in_assignStat441 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_assignStat441_data Count:(NSUInteger)1] retain]; - FOLLOW_17_in_assignStat443 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_17_in_assignStat443_data Count:(NSUInteger)1] retain]; - FOLLOW_expr_in_assignStat445 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_assignStat445_data Count:(NSUInteger)1] retain]; - FOLLOW_condExpr_in_expr467 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_condExpr_in_expr467_data Count:(NSUInteger)1] retain]; - FOLLOW_aexpr_in_condExpr486 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_aexpr_in_condExpr486_data Count:(NSUInteger)1] retain]; - FOLLOW_set_in_condExpr490 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_set_in_condExpr490_data Count:(NSUInteger)1] retain]; - FOLLOW_aexpr_in_condExpr498 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_aexpr_in_condExpr498_data Count:(NSUInteger)1] retain]; - FOLLOW_atom_in_aexpr520 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_atom_in_aexpr520_data Count:(NSUInteger)1] retain]; - FOLLOW_20_in_aexpr524 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_20_in_aexpr524_data Count:(NSUInteger)1] retain]; - FOLLOW_atom_in_aexpr526 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_atom_in_aexpr526_data Count:(NSUInteger)1] retain]; - FOLLOW_ID_in_atom546 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_atom546_data Count:(NSUInteger)1] retain]; - FOLLOW_INT_in_atom560 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_INT_in_atom560_data Count:(NSUInteger)1] retain]; - FOLLOW_8_in_atom574 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_8_in_atom574_data Count:(NSUInteger)1] retain]; - FOLLOW_expr_in_atom576 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_atom576_data Count:(NSUInteger)1] retain]; - FOLLOW_10_in_atom578 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_10_in_atom578_data Count:(NSUInteger)1] retain]; - - [ANTLRBaseRecognizer setTokenNames:[[[NSArray alloc] initWithObjects:@"", @"", @"", @"", - @"ID", @"INT", @"WS", @"';'", @"'('", @"','", @"')'", @"'int'", @"'char'", - @"'void'", @"'{'", @"'}'", @"'for'", @"'='", @"'=='", @"'<'", @"'+'", nil] retain]]; + FOLLOW_declaration_in_program28 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declaration_in_program28_data Count:(NSUInteger)1] retain]; + FOLLOW_variable_in_declaration50 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_variable_in_declaration50_data Count:(NSUInteger)1] retain]; + FOLLOW_functionHeader_in_declaration60 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_functionHeader_in_declaration60_data Count:(NSUInteger)1] retain]; + FOLLOW_11_in_declaration62 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_declaration62_data Count:(NSUInteger)1] retain]; + FOLLOW_functionHeader_in_declaration75 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_functionHeader_in_declaration75_data Count:(NSUInteger)1] retain]; + FOLLOW_block_in_declaration77 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_declaration77_data Count:(NSUInteger)1] retain]; + FOLLOW_type_in_variable99 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_variable99_data Count:(NSUInteger)1] retain]; + FOLLOW_declarator_in_variable101 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_variable101_data Count:(NSUInteger)1] retain]; + FOLLOW_11_in_variable103 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_variable103_data Count:(NSUInteger)1] retain]; + FOLLOW_ID_in_declarator122 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_declarator122_data Count:(NSUInteger)1] retain]; + FOLLOW_type_in_functionHeader151 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_functionHeader151_data Count:(NSUInteger)1] retain]; + FOLLOW_ID_in_functionHeader153 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_functionHeader153_data Count:(NSUInteger)1] retain]; + FOLLOW_7_in_functionHeader155 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_functionHeader155_data Count:(NSUInteger)1] retain]; + FOLLOW_formalParameter_in_functionHeader159 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_formalParameter_in_functionHeader159_data Count:(NSUInteger)1] retain]; + FOLLOW_10_in_functionHeader163 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_10_in_functionHeader163_data Count:(NSUInteger)1] retain]; + FOLLOW_formalParameter_in_functionHeader165 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_formalParameter_in_functionHeader165_data Count:(NSUInteger)1] retain]; + FOLLOW_8_in_functionHeader173 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_8_in_functionHeader173_data Count:(NSUInteger)1] retain]; + FOLLOW_type_in_formalParameter195 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_formalParameter195_data Count:(NSUInteger)1] retain]; + FOLLOW_declarator_in_formalParameter197 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_formalParameter197_data Count:(NSUInteger)1] retain]; + FOLLOW_19_in_block286 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_19_in_block286_data Count:(NSUInteger)1] retain]; + FOLLOW_variable_in_block300 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_variable_in_block300_data Count:(NSUInteger)1] retain]; + FOLLOW_stat_in_block315 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_stat_in_block315_data Count:(NSUInteger)1] retain]; + FOLLOW_20_in_block326 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_20_in_block326_data Count:(NSUInteger)1] retain]; + FOLLOW_forStat_in_stat338 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_forStat_in_stat338_data Count:(NSUInteger)1] retain]; + FOLLOW_expr_in_stat346 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_stat346_data Count:(NSUInteger)1] retain]; + FOLLOW_11_in_stat348 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_stat348_data Count:(NSUInteger)1] retain]; + FOLLOW_block_in_stat362 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_stat362_data Count:(NSUInteger)1] retain]; + FOLLOW_assignStat_in_stat370 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_assignStat_in_stat370_data Count:(NSUInteger)1] retain]; + FOLLOW_11_in_stat372 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_stat372_data Count:(NSUInteger)1] retain]; + FOLLOW_11_in_stat380 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_stat380_data Count:(NSUInteger)1] retain]; + FOLLOW_16_in_forStat399 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_16_in_forStat399_data Count:(NSUInteger)1] retain]; + FOLLOW_7_in_forStat401 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_forStat401_data Count:(NSUInteger)1] retain]; + FOLLOW_assignStat_in_forStat403 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_assignStat_in_forStat403_data Count:(NSUInteger)1] retain]; + FOLLOW_11_in_forStat405 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_forStat405_data Count:(NSUInteger)1] retain]; + FOLLOW_expr_in_forStat407 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_forStat407_data Count:(NSUInteger)1] retain]; + FOLLOW_11_in_forStat409 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_forStat409_data Count:(NSUInteger)1] retain]; + FOLLOW_assignStat_in_forStat411 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_assignStat_in_forStat411_data Count:(NSUInteger)1] retain]; + FOLLOW_8_in_forStat413 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_8_in_forStat413_data Count:(NSUInteger)1] retain]; + FOLLOW_block_in_forStat415 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_forStat415_data Count:(NSUInteger)1] retain]; + FOLLOW_ID_in_assignStat442 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_assignStat442_data Count:(NSUInteger)1] retain]; + FOLLOW_13_in_assignStat444 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_13_in_assignStat444_data Count:(NSUInteger)1] retain]; + FOLLOW_expr_in_assignStat446 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_assignStat446_data Count:(NSUInteger)1] retain]; + FOLLOW_condExpr_in_expr468 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_condExpr_in_expr468_data Count:(NSUInteger)1] retain]; + FOLLOW_aexpr_in_condExpr487 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_aexpr_in_condExpr487_data Count:(NSUInteger)1] retain]; + FOLLOW_set_in_condExpr491 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_set_in_condExpr491_data Count:(NSUInteger)1] retain]; + FOLLOW_aexpr_in_condExpr499 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_aexpr_in_condExpr499_data Count:(NSUInteger)1] retain]; + FOLLOW_atom_in_aexpr521 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_atom_in_aexpr521_data Count:(NSUInteger)1] retain]; + FOLLOW_9_in_aexpr525 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_9_in_aexpr525_data Count:(NSUInteger)1] retain]; + FOLLOW_atom_in_aexpr527 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_atom_in_aexpr527_data Count:(NSUInteger)1] retain]; + FOLLOW_ID_in_atom547 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_atom547_data Count:(NSUInteger)1] retain]; + FOLLOW_INT_in_atom561 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_INT_in_atom561_data Count:(NSUInteger)1] retain]; + FOLLOW_7_in_atom575 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_atom575_data Count:(NSUInteger)1] retain]; + FOLLOW_expr_in_atom577 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_atom577_data Count:(NSUInteger)1] retain]; + FOLLOW_8_in_atom579 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_8_in_atom579_data Count:(NSUInteger)1] retain]; + + [ANTLRBaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"", @"", @"", @"", + @"ID", @"INT", @"WS", @"'('", @"')'", @"'+'", @"','", @"';'", @"'<'", @"'='", + @"'=='", @"'char'", @"'for'", @"'int'", @"'void'", @"'{'", @"'}'", nil] retain]]; + [ANTLRBaseRecognizer setGrammarFileName:@"SimpleC.g"]; } + (SimpleCParser *)newSimpleCParser:(id)aStream { return [[SimpleCParser alloc] initWithTokenStream:aStream]; + } - (id) initWithTokenStream:(id)aStream { - if ((self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:15+1] retain]]) != nil) { + self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:15+1] retain]]; + if ( self != nil ) { dfa2 = [DFA2 newDFA2WithRecognizer:self]; - /* start of actions-actionScope-init */ /* start of init */ } @@ -378,27 +334,33 @@ - (void) dealloc [dfa2 release]; [super dealloc]; } -// start actions.actionScope.methods -// start methods() -// start rules + +/* ObjC start members */ +/* ObjC end members */ +/* ObjC start actions.(actionScope).methods */ +/* ObjC end actions.(actionScope).methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ +/* ObjC start rules */ /* * $ANTLR start program * SimpleC.g:7:1: program : ( declaration )+ ; */ - (void) program { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:8:5: ( ( declaration )+ ) // ruleBlockSingleAlt // SimpleC.g:8:9: ( declaration )+ // alt { // SimpleC.g:8:9: ( declaration )+ // positiveClosureBlock - NSInteger cnt1=0; + NSInteger cnt1 = 0; do { - NSInteger alt1=2; + NSInteger alt1 = 2; NSInteger LA1_0 = [input LA:1]; - if ( (LA1_0==ID||(LA1_0>=11 && LA1_0<=13)) ) { + if ( (LA1_0==ID||LA1_0==15||(LA1_0 >= 17 && LA1_0 <= 18)) ) { alt1=1; } @@ -407,26 +369,29 @@ - (void) program case 1 : ; // SimpleC.g:8:9: declaration // alt { - [self pushFollow:FOLLOW_declaration_in_program27]; + /* ruleRef */ + [self pushFollow:FOLLOW_declaration_in_program28]; [self declaration]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; default : if ( cnt1 >= 1 ) goto loop1; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:1]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:1]; @throw eee; } cnt1++; } while (YES); loop1: ; - /* element() */ - /* elements */ + + } // token+rule list labels @@ -435,24 +400,31 @@ - (void) program @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end program */ + /* * $ANTLR start declaration - * SimpleC.g:11:1: declaration : ( variable | functionHeader ';' | functionHeader block ); + * SimpleC.g:20:1: declaration : ( variable | functionHeader ';' | functionHeader block ); */ - (void) declaration { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { - NSString* functionHeader1 = nil; - - NSString* functionHeader2 = nil; - + NSString * functionHeader1 = nil ; + + NSString * functionHeader2 = nil ; + // SimpleC.g:21:5: ( variable | functionHeader ';' | functionHeader block ) //ruleblock NSInteger alt2=3; @@ -461,42 +433,58 @@ - (void) declaration case 1 : ; // SimpleC.g:21:9: variable // alt { - [self pushFollow:FOLLOW_variable_in_declaration49]; + /* ruleRef */ + [self pushFollow:FOLLOW_variable_in_declaration50]; [self variable]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; case 2 : ; // SimpleC.g:22:9: functionHeader ';' // alt { - [self pushFollow:FOLLOW_functionHeader_in_declaration59]; + /* ruleRef */ + [self pushFollow:FOLLOW_functionHeader_in_declaration60]; functionHeader1 = [self functionHeader]; + [self popFollow]; - /* element() */ - [self match:input TokenType:7 Follow:FOLLOW_7_in_declaration61]; /* element() */ - NSLog(@"%@ is a declaration", functionHeader1); /* element() */ - /* elements */ + + + [self match:input TokenType:11 Follow:FOLLOW_11_in_declaration62]; + + NSLog(@"%@ is a declaration\n", functionHeader1 + ); + + } break; case 3 : ; // SimpleC.g:24:9: functionHeader block // alt { - [self pushFollow:FOLLOW_functionHeader_in_declaration74]; + /* ruleRef */ + [self pushFollow:FOLLOW_functionHeader_in_declaration75]; functionHeader2 = [self functionHeader]; + [self popFollow]; - /* element() */ - [self pushFollow:FOLLOW_block_in_declaration76]; + + + /* ruleRef */ + [self pushFollow:FOLLOW_block_in_declaration77]; [self block]; + [self popFollow]; - /* element() */ - NSLog(@"%@ is a definition", functionHeader2); /* element() */ - /* elements */ + + + NSLog(@"%@ is a definition\n", functionHeader2 + ); + + } break; @@ -507,35 +495,48 @@ - (void) declaration @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end declaration */ + /* * $ANTLR start variable * SimpleC.g:28:1: variable : type declarator ';' ; */ - (void) variable { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:29:5: ( type declarator ';' ) // ruleBlockSingleAlt // SimpleC.g:29:9: type declarator ';' // alt { - [self pushFollow:FOLLOW_type_in_variable98]; + /* ruleRef */ + [self pushFollow:FOLLOW_type_in_variable99]; [self type]; + [self popFollow]; - /* element() */ - [self pushFollow:FOLLOW_declarator_in_variable100]; + + + /* ruleRef */ + [self pushFollow:FOLLOW_declarator_in_variable101]; [self declarator]; + [self popFollow]; - /* element() */ - [self match:input TokenType:7 Follow:FOLLOW_7_in_variable102]; /* element() */ - /* elements */ + + + [self match:input TokenType:11 Follow:FOLLOW_11_in_variable103]; + } // token+rule list labels @@ -544,25 +545,32 @@ - (void) variable @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end variable */ + /* * $ANTLR start declarator * SimpleC.g:32:1: declarator : ID ; */ - (void) declarator { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:33:5: ( ID ) // ruleBlockSingleAlt // SimpleC.g:33:9: ID // alt { - [self match:input TokenType:ID Follow:FOLLOW_ID_in_declarator121]; /* element() */ - /* elements */ + [self match:input TokenType:ID Follow:FOLLOW_ID_in_declarator122]; + } // token+rule list labels @@ -571,23 +579,31 @@ - (void) declarator @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end declarator */ + /* * $ANTLR start functionHeader - * SimpleC.g:36:1: functionHeader returns [NSString* name] : type ID '(' ( formalParameter ( ',' formalParameter )* )? ')' ; + * SimpleC.g:36:1: functionHeader returns [NSString *name] : type ID '(' ( formalParameter ( ',' formalParameter )* )? ')' ; */ -- (NSString*) functionHeader +- (NSString *) functionHeader { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ - NSString* name = nil; + NSString * name = nil ; - name = nil; // for now you must init here rather than in 'returns' + + name=nil; // for now you must init here rather than in 'returns' @try { ANTLRCommonToken *ID3 = nil; @@ -595,33 +611,41 @@ - (NSString*) functionHeader // SimpleC.g:40:5: ( type ID '(' ( formalParameter ( ',' formalParameter )* )? ')' ) // ruleBlockSingleAlt // SimpleC.g:40:9: type ID '(' ( formalParameter ( ',' formalParameter )* )? ')' // alt { - [self pushFollow:FOLLOW_type_in_functionHeader150]; + /* ruleRef */ + [self pushFollow:FOLLOW_type_in_functionHeader151]; [self type]; + [self popFollow]; - /* element() */ - ID3=(ANTLRCommonToken *)[self match:input TokenType:ID Follow:FOLLOW_ID_in_functionHeader152]; /* element() */ - [self match:input TokenType:8 Follow:FOLLOW_8_in_functionHeader154]; /* element() */ + + + ID3=(ANTLRCommonToken *)[self match:input TokenType:ID Follow:FOLLOW_ID_in_functionHeader153]; + + [self match:input TokenType:7 Follow:FOLLOW_7_in_functionHeader155]; + // SimpleC.g:40:21: ( formalParameter ( ',' formalParameter )* )? // block NSInteger alt4=2; NSInteger LA4_0 = [input LA:1]; - if ( (LA4_0==ID||(LA4_0>=11 && LA4_0<=13)) ) { + if ( (LA4_0==ID||LA4_0==15||(LA4_0 >= 17 && LA4_0 <= 18)) ) { alt4=1; } switch (alt4) { case 1 : ; // SimpleC.g:40:23: formalParameter ( ',' formalParameter )* // alt { - [self pushFollow:FOLLOW_formalParameter_in_functionHeader158]; + /* ruleRef */ + [self pushFollow:FOLLOW_formalParameter_in_functionHeader159]; [self formalParameter]; + [self popFollow]; - /* element() */ + + do { NSInteger alt3=2; NSInteger LA3_0 = [input LA:1]; - if ( (LA3_0==9) ) { + if ( (LA3_0==10) ) { alt3=1; } @@ -630,13 +654,16 @@ - (NSString*) functionHeader case 1 : ; // SimpleC.g:40:41: ',' formalParameter // alt { - [self match:input TokenType:9 Follow:FOLLOW_9_in_functionHeader162]; /* element() */ - [self pushFollow:FOLLOW_formalParameter_in_functionHeader164]; + [self match:input TokenType:10 Follow:FOLLOW_10_in_functionHeader163]; + + /* ruleRef */ + [self pushFollow:FOLLOW_formalParameter_in_functionHeader165]; [self formalParameter]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -645,16 +672,20 @@ - (NSString*) functionHeader } } while (YES); loop3: ; - /* element() */ - /* elements */ + + } break; } - /* element() */ - [self match:input TokenType:10 Follow:FOLLOW_10_in_functionHeader172]; /* element() */ - name = (ID3!=nil?[ID3 getText]:0); /* element() */ - /* elements */ + + + [self match:input TokenType:8 Follow:FOLLOW_8_in_functionHeader173]; + + name = (ID3!=nil?ID3.text:nil); + + + } // token+rule list labels @@ -663,34 +694,46 @@ - (NSString*) functionHeader @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return name; } /* $ANTLR end functionHeader */ + /* * $ANTLR start formalParameter * SimpleC.g:44:1: formalParameter : type declarator ; */ - (void) formalParameter { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:45:5: ( type declarator ) // ruleBlockSingleAlt // SimpleC.g:45:9: type declarator // alt { - [self pushFollow:FOLLOW_type_in_formalParameter194]; + /* ruleRef */ + [self pushFollow:FOLLOW_type_in_formalParameter195]; [self type]; + [self popFollow]; - /* element() */ - [self pushFollow:FOLLOW_declarator_in_formalParameter196]; + + + /* ruleRef */ + [self pushFollow:FOLLOW_declarator_in_formalParameter197]; [self declarator]; + [self popFollow]; - /* element() */ - /* elements */ + + } // token+rule list labels @@ -699,32 +742,39 @@ - (void) formalParameter @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end formalParameter */ + /* * $ANTLR start type * SimpleC.g:48:1: type : ( 'int' | 'char' | 'void' | ID ); */ - (void) type { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:49:5: ( 'int' | 'char' | 'void' | ID ) // ruleBlockSingleAlt // SimpleC.g: // alt { - if ([input LA:1] == ID||(([input LA:1] >= 11) && ([input LA:1] <= 13))) { + if ([input LA:1] == ID||[input LA:1] == 15||(([input LA:1] >= 17) && ([input LA:1] <= 18))) { [input consume]; [state setIsErrorRecovery:NO]; } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; @throw mse; } - /* element() */ - /* elements */ + + } // token+rule list labels @@ -733,24 +783,32 @@ - (void) type @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end type */ + /* * $ANTLR start block * SimpleC.g:55:1: block : '{' ( variable )* ( stat )* '}' ; */ - (void) block { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:56:5: ( '{' ( variable )* ( stat )* '}' ) // ruleBlockSingleAlt // SimpleC.g:56:9: '{' ( variable )* ( stat )* '}' // alt { - [self match:input TokenType:14 Follow:FOLLOW_14_in_block285]; /* element() */ + [self match:input TokenType:19 Follow:FOLLOW_19_in_block286]; + do { NSInteger alt5=2; NSInteger LA5_0 = [input LA:1]; @@ -762,7 +820,7 @@ - (void) block } - else if ( ((LA5_0>=11 && LA5_0<=13)) ) { + else if ( (LA5_0==15||(LA5_0 >= 17 && LA5_0 <= 18)) ) { alt5=1; } @@ -771,12 +829,14 @@ - (void) block case 1 : ; // SimpleC.g:57:13: variable // alt { - [self pushFollow:FOLLOW_variable_in_block299]; + /* ruleRef */ + [self pushFollow:FOLLOW_variable_in_block300]; [self variable]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -785,11 +845,12 @@ - (void) block } } while (YES); loop5: ; - /* element() */ + + do { NSInteger alt6=2; NSInteger LA6_0 = [input LA:1]; - if ( ((LA6_0>=ID && LA6_0<=INT)||(LA6_0>=7 && LA6_0<=8)||LA6_0==14||LA6_0==16) ) { + if ( ((LA6_0 >= ID && LA6_0 <= INT)||LA6_0==7||LA6_0==11||LA6_0==16||LA6_0==19) ) { alt6=1; } @@ -798,12 +859,14 @@ - (void) block case 1 : ; // SimpleC.g:58:13: stat // alt { - [self pushFollow:FOLLOW_stat_in_block314]; + /* ruleRef */ + [self pushFollow:FOLLOW_stat_in_block315]; [self stat]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -812,9 +875,10 @@ - (void) block } } while (YES); loop6: ; - /* element() */ - [self match:input TokenType:15 Follow:FOLLOW_15_in_block325]; /* element() */ - /* elements */ + + + [self match:input TokenType:20 Follow:FOLLOW_20_in_block326]; + } // token+rule list labels @@ -823,23 +887,31 @@ - (void) block @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end block */ + /* * $ANTLR start stat * SimpleC.g:62:1: stat : ( forStat | expr ';' | block | assignStat ';' | ';' ); */ - (void) stat { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:62:5: ( forStat | expr ';' | block | assignStat ';' | ';' ) //ruleblock NSInteger alt7=5; - switch ([input LA:1]) { + unichar charLA7 = [input LA:1]; + switch (charLA7) { case 16: ; { alt7=1; @@ -849,92 +921,106 @@ - (void) stat { NSInteger LA7_2 = [input LA:2]; - if ( (LA7_2==17) ) { + if ( (LA7_2==13) ) { alt7=4; } - else if ( (LA7_2==7||(LA7_2>=18 && LA7_2<=20)) ) { + else if ( (LA7_2==9||(LA7_2 >= 11 && LA7_2 <= 12)||LA7_2==14) ) { alt7=2; } else { - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:7 state:2 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:7 state:2 stream:input]; + nvae.c = LA7_2; @throw nvae; + } } break; case INT: ; - case 8: ; + case 7: ; { alt7=2; } break; - case 14: ; + case 19: ; { alt7=3; } break; - case 7: ; + case 11: ; { alt7=5; } break; default: ; - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:7 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:7 state:0 stream:input]; + nvae.c = charLA7; @throw nvae; + } switch (alt7) { case 1 : ; // SimpleC.g:62:7: forStat // alt { - [self pushFollow:FOLLOW_forStat_in_stat337]; + /* ruleRef */ + [self pushFollow:FOLLOW_forStat_in_stat338]; [self forStat]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; case 2 : ; // SimpleC.g:63:7: expr ';' // alt { - [self pushFollow:FOLLOW_expr_in_stat345]; + /* ruleRef */ + [self pushFollow:FOLLOW_expr_in_stat346]; [self expr]; + [self popFollow]; - /* element() */ - [self match:input TokenType:7 Follow:FOLLOW_7_in_stat347]; /* element() */ - /* elements */ + + + [self match:input TokenType:11 Follow:FOLLOW_11_in_stat348]; + } break; case 3 : ; // SimpleC.g:64:7: block // alt { - [self pushFollow:FOLLOW_block_in_stat361]; + /* ruleRef */ + [self pushFollow:FOLLOW_block_in_stat362]; [self block]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; case 4 : ; // SimpleC.g:65:7: assignStat ';' // alt { - [self pushFollow:FOLLOW_assignStat_in_stat369]; + /* ruleRef */ + [self pushFollow:FOLLOW_assignStat_in_stat370]; [self assignStat]; + [self popFollow]; - /* element() */ - [self match:input TokenType:7 Follow:FOLLOW_7_in_stat371]; /* element() */ - /* elements */ + + + [self match:input TokenType:11 Follow:FOLLOW_11_in_stat372]; + } break; case 5 : ; // SimpleC.g:66:7: ';' // alt { - [self match:input TokenType:7 Follow:FOLLOW_7_in_stat379]; /* element() */ - /* elements */ + [self match:input TokenType:11 Follow:FOLLOW_11_in_stat380]; + } break; @@ -945,49 +1031,72 @@ - (void) stat @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end stat */ + /* * $ANTLR start forStat * SimpleC.g:69:1: forStat : 'for' '(' assignStat ';' expr ';' assignStat ')' block ; */ - (void) forStat { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:70:5: ( 'for' '(' assignStat ';' expr ';' assignStat ')' block ) // ruleBlockSingleAlt // SimpleC.g:70:9: 'for' '(' assignStat ';' expr ';' assignStat ')' block // alt { - [self match:input TokenType:16 Follow:FOLLOW_16_in_forStat398]; /* element() */ - [self match:input TokenType:8 Follow:FOLLOW_8_in_forStat400]; /* element() */ - [self pushFollow:FOLLOW_assignStat_in_forStat402]; + [self match:input TokenType:16 Follow:FOLLOW_16_in_forStat399]; + + [self match:input TokenType:7 Follow:FOLLOW_7_in_forStat401]; + + /* ruleRef */ + [self pushFollow:FOLLOW_assignStat_in_forStat403]; [self assignStat]; + [self popFollow]; - /* element() */ - [self match:input TokenType:7 Follow:FOLLOW_7_in_forStat404]; /* element() */ - [self pushFollow:FOLLOW_expr_in_forStat406]; + + + [self match:input TokenType:11 Follow:FOLLOW_11_in_forStat405]; + + /* ruleRef */ + [self pushFollow:FOLLOW_expr_in_forStat407]; [self expr]; + [self popFollow]; - /* element() */ - [self match:input TokenType:7 Follow:FOLLOW_7_in_forStat408]; /* element() */ - [self pushFollow:FOLLOW_assignStat_in_forStat410]; + + + [self match:input TokenType:11 Follow:FOLLOW_11_in_forStat409]; + + /* ruleRef */ + [self pushFollow:FOLLOW_assignStat_in_forStat411]; [self assignStat]; + [self popFollow]; - /* element() */ - [self match:input TokenType:10 Follow:FOLLOW_10_in_forStat412]; /* element() */ - [self pushFollow:FOLLOW_block_in_forStat414]; + + + [self match:input TokenType:8 Follow:FOLLOW_8_in_forStat413]; + + /* ruleRef */ + [self pushFollow:FOLLOW_block_in_forStat415]; [self block]; + [self popFollow]; - /* element() */ - /* elements */ + + } // token+rule list labels @@ -996,31 +1105,42 @@ - (void) forStat @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end forStat */ + /* * $ANTLR start assignStat * SimpleC.g:73:1: assignStat : ID '=' expr ; */ - (void) assignStat { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:74:5: ( ID '=' expr ) // ruleBlockSingleAlt // SimpleC.g:74:9: ID '=' expr // alt { - [self match:input TokenType:ID Follow:FOLLOW_ID_in_assignStat441]; /* element() */ - [self match:input TokenType:17 Follow:FOLLOW_17_in_assignStat443]; /* element() */ - [self pushFollow:FOLLOW_expr_in_assignStat445]; + [self match:input TokenType:ID Follow:FOLLOW_ID_in_assignStat442]; + + [self match:input TokenType:13 Follow:FOLLOW_13_in_assignStat444]; + + /* ruleRef */ + [self pushFollow:FOLLOW_expr_in_assignStat446]; [self expr]; + [self popFollow]; - /* element() */ - /* elements */ + + } // token+rule list labels @@ -1029,29 +1149,38 @@ - (void) assignStat @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end assignStat */ + /* * $ANTLR start expr * SimpleC.g:77:1: expr : condExpr ; */ - (void) expr { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:77:5: ( condExpr ) // ruleBlockSingleAlt // SimpleC.g:77:9: condExpr // alt { - [self pushFollow:FOLLOW_condExpr_in_expr467]; + /* ruleRef */ + [self pushFollow:FOLLOW_condExpr_in_expr468]; [self condExpr]; + [self popFollow]; - /* element() */ - /* elements */ + + } // token+rule list labels @@ -1060,59 +1189,72 @@ - (void) expr @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end expr */ + /* * $ANTLR start condExpr * SimpleC.g:80:1: condExpr : aexpr ( ( '==' | '<' ) aexpr )? ; */ - (void) condExpr { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:81:5: ( aexpr ( ( '==' | '<' ) aexpr )? ) // ruleBlockSingleAlt // SimpleC.g:81:9: aexpr ( ( '==' | '<' ) aexpr )? // alt { - [self pushFollow:FOLLOW_aexpr_in_condExpr486]; + /* ruleRef */ + [self pushFollow:FOLLOW_aexpr_in_condExpr487]; [self aexpr]; + [self popFollow]; - /* element() */ + + // SimpleC.g:81:15: ( ( '==' | '<' ) aexpr )? // block NSInteger alt8=2; NSInteger LA8_0 = [input LA:1]; - if ( ((LA8_0>=18 && LA8_0<=19)) ) { + if ( (LA8_0==12||LA8_0==14) ) { alt8=1; } switch (alt8) { case 1 : ; // SimpleC.g:81:17: ( '==' | '<' ) aexpr // alt { - if ((([input LA:1] >= 18) && ([input LA:1] <= 19))) { + if ([input LA:1] == 12||[input LA:1] == 14) { [input consume]; [state setIsErrorRecovery:NO]; } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; @throw mse; } - /* element() */ - [self pushFollow:FOLLOW_aexpr_in_condExpr498]; + + + /* ruleRef */ + [self pushFollow:FOLLOW_aexpr_in_condExpr499]; [self aexpr]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; } - /* element() */ - /* elements */ + + } // token+rule list labels @@ -1121,32 +1263,42 @@ - (void) condExpr @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end condExpr */ + /* * $ANTLR start aexpr * SimpleC.g:84:1: aexpr : atom ( '+' atom )* ; */ - (void) aexpr { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:85:5: ( atom ( '+' atom )* ) // ruleBlockSingleAlt // SimpleC.g:85:9: atom ( '+' atom )* // alt { - [self pushFollow:FOLLOW_atom_in_aexpr520]; + /* ruleRef */ + [self pushFollow:FOLLOW_atom_in_aexpr521]; [self atom]; + [self popFollow]; - /* element() */ + + do { NSInteger alt9=2; NSInteger LA9_0 = [input LA:1]; - if ( (LA9_0==20) ) { + if ( (LA9_0==9) ) { alt9=1; } @@ -1155,13 +1307,16 @@ - (void) aexpr case 1 : ; // SimpleC.g:85:16: '+' atom // alt { - [self match:input TokenType:20 Follow:FOLLOW_20_in_aexpr524]; /* element() */ - [self pushFollow:FOLLOW_atom_in_aexpr526]; + [self match:input TokenType:9 Follow:FOLLOW_9_in_aexpr525]; + + /* ruleRef */ + [self pushFollow:FOLLOW_atom_in_aexpr527]; [self atom]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -1170,8 +1325,8 @@ - (void) aexpr } } while (YES); loop9: ; - /* element() */ - /* elements */ + + } // token+rule list labels @@ -1180,23 +1335,31 @@ - (void) aexpr @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end aexpr */ + /* * $ANTLR start atom * SimpleC.g:88:1: atom : ( ID | INT | '(' expr ')' ); */ - (void) atom { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleC.g:89:5: ( ID | INT | '(' expr ')' ) //ruleblock NSInteger alt10=3; - switch ([input LA:1]) { + unichar charLA10 = [input LA:1]; + switch (charLA10) { case ID: ; { alt10=1; @@ -1207,43 +1370,49 @@ - (void) atom alt10=2; } break; - case 8: ; + case 7: ; { alt10=3; } break; default: ; - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:10 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:10 state:0 stream:input]; + nvae.c = charLA10; @throw nvae; + } switch (alt10) { case 1 : ; // SimpleC.g:89:7: ID // alt { - [self match:input TokenType:ID Follow:FOLLOW_ID_in_atom546]; /* element() */ - /* elements */ + [self match:input TokenType:ID Follow:FOLLOW_ID_in_atom547]; + } break; case 2 : ; // SimpleC.g:90:7: INT // alt { - [self match:input TokenType:INT Follow:FOLLOW_INT_in_atom560]; /* element() */ - /* elements */ + [self match:input TokenType:INT Follow:FOLLOW_INT_in_atom561]; + } break; case 3 : ; // SimpleC.g:91:7: '(' expr ')' // alt { - [self match:input TokenType:8 Follow:FOLLOW_8_in_atom574]; /* element() */ - [self pushFollow:FOLLOW_expr_in_atom576]; + [self match:input TokenType:7 Follow:FOLLOW_7_in_atom575]; + + /* ruleRef */ + [self pushFollow:FOLLOW_expr_in_atom577]; [self expr]; + [self popFollow]; - /* element() */ - [self match:input TokenType:10 Follow:FOLLOW_10_in_atom578]; /* element() */ - /* elements */ + + + [self match:input TokenType:8 Follow:FOLLOW_8_in_atom579]; + } break; @@ -1254,15 +1423,16 @@ - (void) atom @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* my stuff */ + /* Terence's stuff */ + } return ; } /* $ANTLR end atom */ +/* ObjC end rules */ @end /* end of SimpleCParser implementation line 692 */ - - -/* End of code - * ============================================================================= - */ diff --git a/runtime/ObjC/Framework/examples/LL-star/main.m b/runtime/ObjC/Framework/examples/LL-star/main.m index ee28d11f..0a645bee 100644 --- a/runtime/ObjC/Framework/examples/LL-star/main.m +++ b/runtime/ObjC/Framework/examples/LL-star/main.m @@ -6,7 +6,7 @@ int main() { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - NSString *string = [NSString stringWithContentsOfFile:@"../../examples/LL-star/input"]; + NSString *string = [NSString stringWithContentsOfFile:@"/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/examples/LL-star/input"]; NSLog(@"input is: %@", string); ANTLRStringStream *stream = [[ANTLRStringStream alloc] initWithStringNoCopy:string]; SimpleCLexer *lexer = [[SimpleCLexer alloc] initWithCharStream:stream]; diff --git a/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.g b/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.g index e13b50f8..742f9834 100644 --- a/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.g +++ b/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.g @@ -36,12 +36,12 @@ CALL COMMENT : '/*' (options {greedy=false;} : . )* '*/' - {NSLog(@"found comment \%@", [self getText]);} + {NSLog(@"found comment \%@", [self text]);} ; SL_COMMENT : '//' (options {greedy=false;} : . )* '\n' - {NSLog(@"found // comment \%@", [self getText]);} + {NSLog(@"found // comment \%@", [self text]);} ; STRING diff --git a/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.h b/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.h new file mode 100644 index 00000000..2b255a6a --- /dev/null +++ b/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.h @@ -0,0 +1,87 @@ +// $ANTLR ${project.version} ${buildNumber} /Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.g 2011-05-05 22:05:01 + +/* ============================================================================= + * Standard antlr3 OBJC runtime definitions + */ +#import +#import +/* End of standard antlr3 runtime definitions + * ============================================================================= + */ + +/* Start cyclicDFAInterface */ + +#pragma mark Rule return scopes start +#pragma mark Rule return scopes end +#pragma mark Tokens +#ifdef EOF +#undef EOF +#endif +#define EOF -1 +#define ARG 4 +#define CALL 5 +#define CHAR 6 +#define CLASS 7 +#define COMMENT 8 +#define ESC 9 +#define FIELD 10 +#define ID 11 +#define IMPORT 12 +#define METHOD 13 +#define QID 14 +#define QIDStar 15 +#define RETURN 16 +#define SL_COMMENT 17 +#define STAT 18 +#define STRING 19 +#define TYPE 20 +#define WS 21 +/* interface lexer class */ +@interface Fuzzy : ANTLRLexer { // line 283 +SEL synpred9_FuzzySelector; +SEL synpred2_FuzzySelector; +SEL synpred7_FuzzySelector; +SEL synpred4_FuzzySelector; +SEL synpred8_FuzzySelector; +SEL synpred6_FuzzySelector; +SEL synpred5_FuzzySelector; +SEL synpred3_FuzzySelector; +SEL synpred1_FuzzySelector; +/* ObjC start of actions.lexer.memVars */ +/* ObjC end of actions.lexer.memVars */ +} ++ (void) initialize; ++ (Fuzzy *)newFuzzyWithCharStream:(id)anInput; +/* ObjC start actions.lexer.methodsDecl */ +/* ObjC end actions.lexer.methodsDecl */ +- (void) mIMPORT ; +- (void) mRETURN ; +- (void) mCLASS ; +- (void) mMETHOD ; +- (void) mFIELD ; +- (void) mSTAT ; +- (void) mCALL ; +- (void) mCOMMENT ; +- (void) mSL_COMMENT ; +- (void) mSTRING ; +- (void) mCHAR ; +- (void) mWS ; +- (void) mQID ; +- (void) mQIDStar ; +- (void) mTYPE ; +- (void) mARG ; +- (void) mID ; +- (void) mESC ; +- (void) mTokens ; +- (void) synpred1_Fuzzy_fragment ; +- (void) synpred2_Fuzzy_fragment ; +- (void) synpred3_Fuzzy_fragment ; +- (void) synpred4_Fuzzy_fragment ; +- (void) synpred5_Fuzzy_fragment ; +- (void) synpred6_Fuzzy_fragment ; +- (void) synpred7_Fuzzy_fragment ; +- (void) synpred8_Fuzzy_fragment ; +- (void) synpred9_Fuzzy_fragment ; + +@end /* end of Fuzzy interface */ + diff --git a/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.m b/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.m index bc173bfd..665f4126 100644 --- a/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.m +++ b/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.m @@ -1,300 +1,31 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : Fuzzy.g - * - On : 2010-08-24 13:53:40 - * - for the lexer : FuzzyLexer * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 11:47:46 + * - for the lexer : FuzzyLexer + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 Fuzzy.g 2010-08-24 13:53:40 +// $ANTLR ${project.version} ${buildNumber} Fuzzy.g 2011-05-06 11:47:46 + /* ----------------------------------------- * Include the ANTLR3 generated header file. */ -#import "FuzzyLexer.h" +#import "Fuzzy.h" /* ----------------------------------------- */ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ -#pragma mark Cyclic DFA implementation start DFA38 -@implementation DFA38 -const static NSInteger dfa38_eot[19] = - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; -const static NSInteger dfa38_eof[19] = - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; -const static unichar dfa38_min[19] = - {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; -const static unichar dfa38_max[19] = - {122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; -const static NSInteger dfa38_accept[19] = - {-1,10,-1,2,4,5,7,-1,8,9,-1,6,-1,-1,1,12,11,-1,3}; -const static NSInteger dfa38_special[19] = - {-1,-1,0,-1,-1,-1,-1,1,-1,-1,2,-1,3,4,-1,-1,-1,5,-1}; -const static NSInteger dfa38_transition[] = {}; -const static NSInteger dfa38_transition0[] = {15, 15, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, -1, - 1, -1, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, -1, -1, -1, -1, 12, -1, 12, 12, 17, 12, 12, 10, 12, 12, 13, 12, - 12, 12, 12, 12, 12, 12, 12, 2, 10, 12, 12, 12, 10, 12, 12, 12}; -const static NSInteger dfa38_transition1[] = {-1}; - - -+ () newDFA38WithRecognizer:(ANTLRBaseRecognizer *)aRecognizer -{ - return [[[DFA38 alloc] initWithRecognizer:aRecognizer] retain]; -} - -- (id) initWithRecognizer:(ANTLRBaseRecognizer *) theRecognizer -{ - if ((self = [super initWithRecognizer:theRecognizer]) != nil) { - decisionNumber = 38; - eot = dfa38_eot; - eof = dfa38_eof; - min = dfa38_min; - max = dfa38_max; - accept = dfa38_accept; - special = dfa38_special; - if (!(transition = calloc(19, sizeof(void*)))) { - [self release]; - return nil; - } - len = 19; - transition[0] = dfa38_transition0; - transition[1] = dfa38_transition; - transition[2] = dfa38_transition1; - transition[3] = dfa38_transition; - transition[4] = dfa38_transition; - transition[5] = dfa38_transition; - transition[6] = dfa38_transition; - transition[7] = dfa38_transition1; - transition[8] = dfa38_transition; - transition[9] = dfa38_transition; - transition[10] = dfa38_transition1; - transition[11] = dfa38_transition; - transition[12] = dfa38_transition1; - transition[13] = dfa38_transition1; - transition[14] = dfa38_transition; - transition[15] = dfa38_transition; - transition[16] = dfa38_transition; - transition[17] = dfa38_transition1; - transition[18] = dfa38_transition; - } - return self; -} - -/* start dfa.specialStateSTs */ -- (NSInteger) specialStateTransition:(NSInteger)s Stream:(id)anInput -{ - id input = anInput; - switch (s) { - case 0 : ; - /* cyclicDFAState */ - NSInteger LA38_2 = [input LA:1]; - - - NSInteger index38_2 = [input getIndex]; - [input rewind]; - s = -1; - /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred2_Fuzzy_fragment)]) { s = 3;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) { s = 4;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) { s = 5;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) { s = 6;} - - - [input seek:index38_2]; - if ( s >= 0 ) - return s; - break; - case 1 : ; - /* cyclicDFAState */ - NSInteger LA38_7 = [input LA:1]; - - - NSInteger index38_7 = [input getIndex]; - [input rewind]; - s = -1; - /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred8_Fuzzy_fragment)]) { s = 8;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred9_Fuzzy_fragment)]) { s = 9;} - - - [input seek:index38_7]; - if ( s >= 0 ) - return s; - break; - case 2 : ; - /* cyclicDFAState */ - NSInteger LA38_10 = [input LA:1]; - - - NSInteger index38_10 = [input getIndex]; - [input rewind]; - s = -1; - /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) { s = 4;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) { s = 5;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred6_Fuzzy_fragment)]) { s = 11;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) { s = 6;} - - - [input seek:index38_10]; - if ( s >= 0 ) - return s; - break; - case 3 : ; - /* cyclicDFAState */ - NSInteger LA38_12 = [input LA:1]; - - - NSInteger index38_12 = [input getIndex]; - [input rewind]; - s = -1; - /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) { s = 4;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) { s = 5;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) { s = 6;} - - - [input seek:index38_12]; - if ( s >= 0 ) - return s; - break; - case 4 : ; - /* cyclicDFAState */ - NSInteger LA38_13 = [input LA:1]; - - - NSInteger index38_13 = [input getIndex]; - [input rewind]; - s = -1; - /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred1_Fuzzy_fragment)]) { s = 14;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) { s = 4;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) { s = 5;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred6_Fuzzy_fragment)]) { s = 11;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) { s = 6;} - - - [input seek:index38_13]; - if ( s >= 0 ) - return s; - break; - case 5 : ; - /* cyclicDFAState */ - NSInteger LA38_17 = [input LA:1]; - - - NSInteger index38_17 = [input getIndex]; - [input rewind]; - s = -1; - /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred3_Fuzzy_fragment)]) { s = 18;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) { s = 4;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) { s = 5;} - - else /* cyclicDFAEdge */ - if ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) { s = 6;} - - - [input seek:index38_17]; - if ( s >= 0 ) - return s; - break; - } - if ( [recognizer getBacktrackingLevel] > 0 ) { [recognizer setFailed:YES]; return -1; } - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:38 state:s stream:[recognizer getInput]]; - /* [self error:nvae]; */ - @throw nvae; -} - -/* end dfa.specialStateSTs */ -- (void) dealloc -{ - free(transition); - [super dealloc]; -} - -- (NSString *) description -{ - return @"1:1: Tokens options {k=1; backtrack=true; } : ( IMPORT | RETURN | CLASS | METHOD | FIELD | STAT | CALL | COMMENT | SL_COMMENT | STRING | CHAR | WS );"; -} - - -@end /* end DFA38 implementation */ - -#pragma mark Cyclic DFA implementation end DFA38 - - - /** As per Terence: No returns for lexer rules! */ @implementation Fuzzy // line 330 @@ -315,13 +46,14 @@ + (Fuzzy *)newFuzzyWithCharStream:(id)anInput - (id) initWithCharStream:(id)anInput { - if ((self = [super initWithCharStream:anInput State:[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:30+1]]) != nil) { + self = [super initWithCharStream:anInput State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:30+1] retain]]; + if ( self != nil ) { SEL synpred9_FuzzySelector = @selector(synpred9_Fuzzy_fragment); - SEL synpred7_FuzzySelector = @selector(synpred7_Fuzzy_fragment); - SEL synpred2_FuzzySelector = @selector(synpred2_Fuzzy_fragment); + SEL synpred7_FuzzySelector = @selector(synpred7_Fuzzy_fragment); + SEL synpred4_FuzzySelector = @selector(synpred4_Fuzzy_fragment); SEL synpred8_FuzzySelector = @selector(synpred8_Fuzzy_fragment); @@ -334,19 +66,19 @@ - (id) initWithCharStream:(id)anInput SEL synpred1_FuzzySelector = @selector(synpred1_Fuzzy_fragment); - dfa38 = [DFA38 newDFA38WithRecognizer:self]; } return self; } - (void) dealloc { - [dfa38 release]; [super dealloc]; } -/* Start of actions.lexer.methods */ -/* start methods() */ +/* ObjC Start of actions.lexer.methods */ +/* ObjC end of actions.lexer.methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ - (id) nextToken { @@ -356,9 +88,9 @@ - (void) dealloc } state.token = nil; state.channel = ANTLRTokenChannelDefault; - state.tokenStartCharIndex = [input getIndex]; - state.tokenStartCharPositionInLine = [input getCharPositionInLine]; - state.tokenStartLine = [input getLine]; + state.tokenStartCharIndex = input.index; + state.tokenStartCharPositionInLine = input.charPositionInLine; + state.tokenStartLine = input.line; state.text = nil; @try { NSInteger m = [input mark]; @@ -368,7 +100,7 @@ - (void) dealloc state.backtracking = 0; /* mTokens backtracks with synpred at backtracking==2 and we set the synpredgate to allow actions at level 1. */ - if ( state.failed == YES ) { + if ( state.failed ) { [input rewind:m]; [input consume]; /* advance one char and try again */ } else { @@ -395,72 +127,85 @@ - (BOOL)alreadyParsedRule:(id)anInput RuleIndex:(NSInteger)ruleI { if ( state.backtracking > 1 ) return [super alreadyParsedRule:anInput RuleIndex:ruleIndex]; return NO; -}/* Start of Rules */ +} +/* Start of Rules */ // $ANTLR start "IMPORT" - (void) mIMPORT { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = IMPORT; NSInteger _channel = ANTLRTokenChannelDefault; - id *name=nil; + ANTLRCommonToken *name=nil; // Fuzzy.g:5:2: ( 'import' WS name= QIDStar ( WS )? ';' ) // ruleBlockSingleAlt // Fuzzy.g:5:4: 'import' WS name= QIDStar ( WS )? ';' // alt { - [self matchString:@"import"]; if ( state.failed == YES ) return ; - /* element() */ - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - NSInteger nameStart31 = [self getIndex]; - [self mQIDStar]; if ( state.failed == YES ) return ; - - name = [[ANTLRCommonToken newANTLRCommonToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart31 Stop:[self getIndex]-1] retain]; - [name setLine:[self getLine]]; /* element() */ + [self matchString:@"import"]; if ( state.failed ) return ; + + + + [self mWS]; if ( state.failed ) return ; + + + + NSInteger nameStart31 = input.index; + [self mQIDStar]; if ( state.failed ) return ; + + name = [[ANTLRCommonToken newToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart31 Stop:input.index-1] retain]; + name.line = self.line; + + // Fuzzy.g:5:29: ( WS )? // block NSInteger alt1=2; NSInteger LA1_0 = [input LA:1]; - if ( ((LA1_0>='\t' && LA1_0<='\n')||LA1_0==' ') ) { + if ( ((LA1_0 >= '\t' && LA1_0 <= '\n')||LA1_0==' ') ) { alt1=1; } switch (alt1) { case 1 : ; // Fuzzy.g:5:29: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ - [self matchChar:';']; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + + + [self matchChar:';']; if ( state.failed ) return ; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "IMPORT" +/* $ANTLR end "IMPORT" */ // $ANTLR start "RETURN" - (void) mRETURN { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = RETURN; @@ -468,15 +213,17 @@ - (void) mRETURN // Fuzzy.g:10:2: ( 'return' ( options {greedy=false; } : . )* ';' ) // ruleBlockSingleAlt // Fuzzy.g:10:4: 'return' ( options {greedy=false; } : . )* ';' // alt { - [self matchString:@"return"]; if ( state.failed == YES ) return ; - /* element() */ + [self matchString:@"return"]; if ( state.failed ) return ; + + + do { NSInteger alt2=2; NSInteger LA2_0 = [input LA:1]; if ( (LA2_0==';') ) { alt2=2; } - else if ( ((LA2_0>=0x0000 && LA2_0<=':')||(LA2_0>='<' && LA2_0<=0xFFFF)) ) { + else if ( ((LA2_0 >= 0x0000 && LA2_0 <= ':')||(LA2_0 >= '<' && LA2_0 <= 0xFFFF)) ) { alt2=1; } @@ -485,9 +232,9 @@ - (void) mRETURN case 1 : ; // Fuzzy.g:10:38: . // alt { - [self matchAny]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchAny]; if ( state.failed ) return ; + + } break; @@ -496,67 +243,79 @@ - (void) mRETURN } } while (YES); loop2: ; - /* element() */ - [self matchChar:';']; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + + + [self matchChar:';']; if ( state.failed ) return ; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "RETURN" +/* $ANTLR end "RETURN" */ // $ANTLR start "CLASS" - (void) mCLASS { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = CLASS; NSInteger _channel = ANTLRTokenChannelDefault; - id *name=nil; + ANTLRCommonToken *name=nil; // Fuzzy.g:14:2: ( 'class' WS name= ID ( WS )? ( 'extends' WS QID ( WS )? )? ( 'implements' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? '{' ) // ruleBlockSingleAlt // Fuzzy.g:14:4: 'class' WS name= ID ( WS )? ( 'extends' WS QID ( WS )? )? ( 'implements' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? '{' // alt { - [self matchString:@"class"]; if ( state.failed == YES ) return ; - /* element() */ - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - NSInteger nameStart81 = [self getIndex]; - [self mID]; if ( state.failed == YES ) return ; - - name = [[ANTLRCommonToken newANTLRCommonToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart81 Stop:[self getIndex]-1] retain]; - [name setLine:[self getLine]]; /* element() */ + [self matchString:@"class"]; if ( state.failed ) return ; + + + + [self mWS]; if ( state.failed ) return ; + + + + NSInteger nameStart81 = input.index; + [self mID]; if ( state.failed ) return ; + + name = [[ANTLRCommonToken newToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart81 Stop:input.index-1] retain]; + name.line = self.line; + + // Fuzzy.g:14:23: ( WS )? // block NSInteger alt3=2; NSInteger LA3_0 = [input LA:1]; - if ( ((LA3_0>='\t' && LA3_0<='\n')||LA3_0==' ') ) { + if ( ((LA3_0 >= '\t' && LA3_0 <= '\n')||LA3_0==' ') ) { alt3=1; } switch (alt3) { case 1 : ; // Fuzzy.g:14:23: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ + + // Fuzzy.g:14:27: ( 'extends' WS QID ( WS )? )? // block NSInteger alt5=2; NSInteger LA5_0 = [input LA:1]; @@ -568,37 +327,45 @@ - (void) mCLASS case 1 : ; // Fuzzy.g:14:28: 'extends' WS QID ( WS )? // alt { - [self matchString:@"extends"]; if ( state.failed == YES ) return ; - /* element() */ - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - [self mQID]; if ( state.failed == YES ) return ; - /* element() */ + [self matchString:@"extends"]; if ( state.failed ) return ; + + + + [self mWS]; if ( state.failed ) return ; + + + + [self mQID]; if ( state.failed ) return ; + + + // Fuzzy.g:14:45: ( WS )? // block NSInteger alt4=2; NSInteger LA4_0 = [input LA:1]; - if ( ((LA4_0>='\t' && LA4_0<='\n')||LA4_0==' ') ) { + if ( ((LA4_0 >= '\t' && LA4_0 <= '\n')||LA4_0==' ') ) { alt4=1; } switch (alt4) { case 1 : ; // Fuzzy.g:14:45: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ - /* elements */ + + } break; } - /* element() */ + + // Fuzzy.g:15:3: ( 'implements' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? // block NSInteger alt10=2; NSInteger LA10_0 = [input LA:1]; @@ -610,31 +377,39 @@ - (void) mCLASS case 1 : ; // Fuzzy.g:15:4: 'implements' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* // alt { - [self matchString:@"implements"]; if ( state.failed == YES ) return ; - /* element() */ - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - [self mQID]; if ( state.failed == YES ) return ; - /* element() */ + [self matchString:@"implements"]; if ( state.failed ) return ; + + + + [self mWS]; if ( state.failed ) return ; + + + + [self mQID]; if ( state.failed ) return ; + + + // Fuzzy.g:15:24: ( WS )? // block NSInteger alt6=2; NSInteger LA6_0 = [input LA:1]; - if ( ((LA6_0>='\t' && LA6_0<='\n')||LA6_0==' ') ) { + if ( ((LA6_0 >= '\t' && LA6_0 <= '\n')||LA6_0==' ') ) { alt6=1; } switch (alt6) { case 1 : ; // Fuzzy.g:15:24: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ + + do { NSInteger alt9=2; NSInteger LA9_0 = [input LA:1]; @@ -647,49 +422,55 @@ - (void) mCLASS case 1 : ; // Fuzzy.g:15:29: ',' ( WS )? QID ( WS )? // alt { - [self matchChar:',']; if ( state.failed == YES ) return ; - /* element() */ + [self matchChar:',']; if ( state.failed ) return ; + + // Fuzzy.g:15:33: ( WS )? // block NSInteger alt7=2; NSInteger LA7_0 = [input LA:1]; - if ( ((LA7_0>='\t' && LA7_0<='\n')||LA7_0==' ') ) { + if ( ((LA7_0 >= '\t' && LA7_0 <= '\n')||LA7_0==' ') ) { alt7=1; } switch (alt7) { case 1 : ; // Fuzzy.g:15:33: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ - [self mQID]; if ( state.failed == YES ) return ; - /* element() */ + + + [self mQID]; if ( state.failed ) return ; + + + // Fuzzy.g:15:41: ( WS )? // block NSInteger alt8=2; NSInteger LA8_0 = [input LA:1]; - if ( ((LA8_0>='\t' && LA8_0<='\n')||LA8_0==' ') ) { + if ( ((LA8_0 >= '\t' && LA8_0 <= '\n')||LA8_0==' ') ) { alt8=1; } switch (alt8) { case 1 : ; // Fuzzy.g:15:41: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ - /* elements */ + + } break; @@ -698,110 +479,129 @@ - (void) mCLASS } } while (YES); loop9: ; - /* element() */ - /* elements */ + + } break; } - /* element() */ - [self matchChar:'{']; if ( state.failed == YES ) return ; - /* element() */ + + + [self matchChar:'{']; if ( state.failed ) return ; + + if ( state.backtracking == 1 ) { - NSLog(@"found class %@", (name!=nil?[name getText]:0)); - } /* element() */ - /* elements */ + NSLog(@"found class %@", (name!=nil?name.text:nil)); } - // token+rule list labels - [state setType:_type]; + } + + // token+rule list labels + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "CLASS" +/* $ANTLR end "CLASS" */ // $ANTLR start "METHOD" - (void) mMETHOD { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = METHOD; NSInteger _channel = ANTLRTokenChannelDefault; - id *name=nil; + ANTLRCommonToken *name=nil; // Fuzzy.g:20:5: ( TYPE WS name= ID ( WS )? '(' ( ARG ( WS )? ( ',' ( WS )? ARG ( WS )? )* )? ')' ( WS )? ( 'throws' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? '{' ) // ruleBlockSingleAlt // Fuzzy.g:20:9: TYPE WS name= ID ( WS )? '(' ( ARG ( WS )? ( ',' ( WS )? ARG ( WS )? )* )? ')' ( WS )? ( 'throws' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? '{' // alt { - [self mTYPE]; if ( state.failed == YES ) return ; - /* element() */ - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - NSInteger nameStart158 = [self getIndex]; - [self mID]; if ( state.failed == YES ) return ; - - name = [[ANTLRCommonToken newANTLRCommonToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart158 Stop:[self getIndex]-1] retain]; - [name setLine:[self getLine]]; /* element() */ + [self mTYPE]; if ( state.failed ) return ; + + + + [self mWS]; if ( state.failed ) return ; + + + + NSInteger nameStart158 = input.index; + [self mID]; if ( state.failed ) return ; + + name = [[ANTLRCommonToken newToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart158 Stop:input.index-1] retain]; + name.line = self.line; + + // Fuzzy.g:20:25: ( WS )? // block NSInteger alt11=2; NSInteger LA11_0 = [input LA:1]; - if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0==' ') ) { + if ( ((LA11_0 >= '\t' && LA11_0 <= '\n')||LA11_0==' ') ) { alt11=1; } switch (alt11) { case 1 : ; // Fuzzy.g:20:25: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ - [self matchChar:'(']; if ( state.failed == YES ) return ; - /* element() */ + + + [self matchChar:'(']; if ( state.failed ) return ; + + // Fuzzy.g:20:33: ( ARG ( WS )? ( ',' ( WS )? ARG ( WS )? )* )? // block NSInteger alt16=2; NSInteger LA16_0 = [input LA:1]; - if ( ((LA16_0>='A' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='a' && LA16_0<='z')) ) { + if ( ((LA16_0 >= 'A' && LA16_0 <= 'Z')||LA16_0=='_'||(LA16_0 >= 'a' && LA16_0 <= 'z')) ) { alt16=1; } switch (alt16) { case 1 : ; // Fuzzy.g:20:35: ARG ( WS )? ( ',' ( WS )? ARG ( WS )? )* // alt { - [self mARG]; if ( state.failed == YES ) return ; - /* element() */ + [self mARG]; if ( state.failed ) return ; + + + // Fuzzy.g:20:39: ( WS )? // block NSInteger alt12=2; NSInteger LA12_0 = [input LA:1]; - if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0==' ') ) { + if ( ((LA12_0 >= '\t' && LA12_0 <= '\n')||LA12_0==' ') ) { alt12=1; } switch (alt12) { case 1 : ; // Fuzzy.g:20:39: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ + + do { NSInteger alt15=2; NSInteger LA15_0 = [input LA:1]; @@ -814,49 +614,55 @@ - (void) mMETHOD case 1 : ; // Fuzzy.g:20:44: ',' ( WS )? ARG ( WS )? // alt { - [self matchChar:',']; if ( state.failed == YES ) return ; - /* element() */ + [self matchChar:',']; if ( state.failed ) return ; + + // Fuzzy.g:20:48: ( WS )? // block NSInteger alt13=2; NSInteger LA13_0 = [input LA:1]; - if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0==' ') ) { + if ( ((LA13_0 >= '\t' && LA13_0 <= '\n')||LA13_0==' ') ) { alt13=1; } switch (alt13) { case 1 : ; // Fuzzy.g:20:48: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ - [self mARG]; if ( state.failed == YES ) return ; - /* element() */ + + + [self mARG]; if ( state.failed ) return ; + + + // Fuzzy.g:20:56: ( WS )? // block NSInteger alt14=2; NSInteger LA14_0 = [input LA:1]; - if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0==' ') ) { + if ( ((LA14_0 >= '\t' && LA14_0 <= '\n')||LA14_0==' ') ) { alt14=1; } switch (alt14) { case 1 : ; // Fuzzy.g:20:56: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ - /* elements */ + + } break; @@ -865,34 +671,38 @@ - (void) mMETHOD } } while (YES); loop15: ; - /* element() */ - /* elements */ + + } break; } - /* element() */ - [self matchChar:')']; if ( state.failed == YES ) return ; - /* element() */ + + + [self matchChar:')']; if ( state.failed ) return ; + + // Fuzzy.g:20:69: ( WS )? // block NSInteger alt17=2; NSInteger LA17_0 = [input LA:1]; - if ( ((LA17_0>='\t' && LA17_0<='\n')||LA17_0==' ') ) { + if ( ((LA17_0 >= '\t' && LA17_0 <= '\n')||LA17_0==' ') ) { alt17=1; } switch (alt17) { case 1 : ; // Fuzzy.g:20:69: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ + + // Fuzzy.g:21:8: ( 'throws' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? // block NSInteger alt22=2; NSInteger LA22_0 = [input LA:1]; @@ -904,31 +714,39 @@ - (void) mMETHOD case 1 : ; // Fuzzy.g:21:9: 'throws' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* // alt { - [self matchString:@"throws"]; if ( state.failed == YES ) return ; - /* element() */ - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - [self mQID]; if ( state.failed == YES ) return ; - /* element() */ + [self matchString:@"throws"]; if ( state.failed ) return ; + + + + [self mWS]; if ( state.failed ) return ; + + + + [self mQID]; if ( state.failed ) return ; + + + // Fuzzy.g:21:25: ( WS )? // block NSInteger alt18=2; NSInteger LA18_0 = [input LA:1]; - if ( ((LA18_0>='\t' && LA18_0<='\n')||LA18_0==' ') ) { + if ( ((LA18_0 >= '\t' && LA18_0 <= '\n')||LA18_0==' ') ) { alt18=1; } switch (alt18) { case 1 : ; // Fuzzy.g:21:25: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ + + do { NSInteger alt21=2; NSInteger LA21_0 = [input LA:1]; @@ -941,49 +759,55 @@ - (void) mMETHOD case 1 : ; // Fuzzy.g:21:30: ',' ( WS )? QID ( WS )? // alt { - [self matchChar:',']; if ( state.failed == YES ) return ; - /* element() */ + [self matchChar:',']; if ( state.failed ) return ; + + // Fuzzy.g:21:34: ( WS )? // block NSInteger alt19=2; NSInteger LA19_0 = [input LA:1]; - if ( ((LA19_0>='\t' && LA19_0<='\n')||LA19_0==' ') ) { + if ( ((LA19_0 >= '\t' && LA19_0 <= '\n')||LA19_0==' ') ) { alt19=1; } switch (alt19) { case 1 : ; // Fuzzy.g:21:34: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ - [self mQID]; if ( state.failed == YES ) return ; - /* element() */ + + + [self mQID]; if ( state.failed ) return ; + + + // Fuzzy.g:21:42: ( WS )? // block NSInteger alt20=2; NSInteger LA20_0 = [input LA:1]; - if ( ((LA20_0>='\t' && LA20_0<='\n')||LA20_0==' ') ) { + if ( ((LA20_0 >= '\t' && LA20_0 <= '\n')||LA20_0==' ') ) { alt20=1; } switch (alt20) { case 1 : ; // Fuzzy.g:21:42: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ - /* elements */ + + } break; @@ -992,57 +816,69 @@ - (void) mMETHOD } } while (YES); loop21: ; - /* element() */ - /* elements */ + + } break; } - /* element() */ - [self matchChar:'{']; if ( state.failed == YES ) return ; - /* element() */ + + + [self matchChar:'{']; if ( state.failed ) return ; + + if ( state.backtracking == 1 ) { - NSLog(@"found method %@", (name!=nil?[name getText]:0)); - } /* element() */ - /* elements */ + NSLog(@"found method %@", (name!=nil?name.text:nil)); } - // token+rule list labels - [state setType:_type]; + } + + // token+rule list labels + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "METHOD" +/* $ANTLR end "METHOD" */ // $ANTLR start "FIELD" - (void) mFIELD { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = FIELD; NSInteger _channel = ANTLRTokenChannelDefault; - id *name=nil; + ANTLRCommonToken *name=nil; // Fuzzy.g:26:5: ( TYPE WS name= ID ( '[]' )? ( WS )? ( ';' | '=' ) ) // ruleBlockSingleAlt // Fuzzy.g:26:9: TYPE WS name= ID ( '[]' )? ( WS )? ( ';' | '=' ) // alt { - [self mTYPE]; if ( state.failed == YES ) return ; - /* element() */ - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - NSInteger nameStart261 = [self getIndex]; - [self mID]; if ( state.failed == YES ) return ; - - name = [[ANTLRCommonToken newANTLRCommonToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart261 Stop:[self getIndex]-1] retain]; - [name setLine:[self getLine]]; /* element() */ + [self mTYPE]; if ( state.failed ) return ; + + + + [self mWS]; if ( state.failed ) return ; + + + + NSInteger nameStart261 = input.index; + [self mID]; if ( state.failed ) return ; + + name = [[ANTLRCommonToken newToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart261 Stop:input.index-1] retain]; + name.line = self.line; + + // Fuzzy.g:26:25: ( '[]' )? // block NSInteger alt23=2; NSInteger LA23_0 = [input LA:1]; @@ -1054,67 +890,78 @@ - (void) mFIELD case 1 : ; // Fuzzy.g:26:25: '[]' // alt { - [self matchString:@"[]"]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchString:@"[]"]; if ( state.failed ) return ; + + + } break; } - /* element() */ + + // Fuzzy.g:26:31: ( WS )? // block NSInteger alt24=2; NSInteger LA24_0 = [input LA:1]; - if ( ((LA24_0>='\t' && LA24_0<='\n')||LA24_0==' ') ) { + if ( ((LA24_0 >= '\t' && LA24_0 <= '\n')||LA24_0==' ') ) { alt24=1; } switch (alt24) { case 1 : ; // Fuzzy.g:26:31: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ + + if ([input LA:1] == ';'||[input LA:1] == '=') { [input consume]; - state.failed = NO; + state.failed = NO; } else { if ( state.backtracking > 0 ) { state.failed = YES; return ; } - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ + @throw mse; + } + + if ( state.backtracking == 1 ) { - NSLog(@"found var %@", (name!=nil?[name getText]:0)); - } /* element() */ - /* elements */ + NSLog(@"found var %@", (name!=nil?name.text:nil)); } - // token+rule list labels - [state setType:_type]; + } + + // token+rule list labels + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "FIELD" +/* $ANTLR end "FIELD" */ // $ANTLR start "STAT" - (void) mSTAT { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = STAT; @@ -1124,7 +971,8 @@ - (void) mSTAT { // Fuzzy.g:30:7: ( 'if' | 'while' | 'switch' | 'for' ) // block NSInteger alt25=4; - switch ([input LA:1]) { + unichar charLA25 = [input LA:1]; + switch (charLA25) { case 'i': ; { alt25=1; @@ -1148,147 +996,169 @@ - (void) mSTAT default: ; if ( state.backtracking > 0 ) { state.failed = YES; return ; } - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:25 state:0 stream:input]; + + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:25 state:0 stream:input]; + nvae.c = charLA25; @throw nvae; + } switch (alt25) { case 1 : ; // Fuzzy.g:30:8: 'if' // alt { - [self matchString:@"if"]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchString:@"if"]; if ( state.failed ) return ; + + + } break; case 2 : ; // Fuzzy.g:30:13: 'while' // alt { - [self matchString:@"while"]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchString:@"while"]; if ( state.failed ) return ; + + + } break; case 3 : ; // Fuzzy.g:30:21: 'switch' // alt { - [self matchString:@"switch"]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchString:@"switch"]; if ( state.failed ) return ; + + + } break; case 4 : ; // Fuzzy.g:30:30: 'for' // alt { - [self matchString:@"for"]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchString:@"for"]; if ( state.failed ) return ; + + + } break; } - /* element() */ + + // Fuzzy.g:30:37: ( WS )? // block NSInteger alt26=2; NSInteger LA26_0 = [input LA:1]; - if ( ((LA26_0>='\t' && LA26_0<='\n')||LA26_0==' ') ) { + if ( ((LA26_0 >= '\t' && LA26_0 <= '\n')||LA26_0==' ') ) { alt26=1; } switch (alt26) { case 1 : ; // Fuzzy.g:30:37: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ - [self matchChar:'(']; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + + + [self matchChar:'(']; if ( state.failed ) return ; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "STAT" +/* $ANTLR end "STAT" */ // $ANTLR start "CALL" - (void) mCALL { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = CALL; NSInteger _channel = ANTLRTokenChannelDefault; - id *name=nil; + ANTLRCommonToken *name=nil; // Fuzzy.g:33:5: (name= QID ( WS )? '(' ) // ruleBlockSingleAlt // Fuzzy.g:33:9: name= QID ( WS )? '(' // alt { - NSInteger nameStart326 = [self getIndex]; - [self mQID]; if ( state.failed == YES ) return ; + NSInteger nameStart326 = input.index; + [self mQID]; if ( state.failed ) return ; + + name = [[ANTLRCommonToken newToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart326 Stop:input.index-1] retain]; + name.line = self.line; + - name = [[ANTLRCommonToken newANTLRCommonToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart326 Stop:[self getIndex]-1] retain]; - [name setLine:[self getLine]]; /* element() */ // Fuzzy.g:33:18: ( WS )? // block NSInteger alt27=2; NSInteger LA27_0 = [input LA:1]; - if ( ((LA27_0>='\t' && LA27_0<='\n')||LA27_0==' ') ) { + if ( ((LA27_0 >= '\t' && LA27_0 <= '\n')||LA27_0==' ') ) { alt27=1; } switch (alt27) { case 1 : ; // Fuzzy.g:33:18: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; } - /* element() */ - [self matchChar:'(']; if ( state.failed == YES ) return ; - /* element() */ + + + [self matchChar:'(']; if ( state.failed ) return ; + + if ( state.backtracking == 1 ) { - /*ignore if this/super */ NSLog(@"found call %@",(name!=nil?[name getText]:0)); - } /* element() */ - /* elements */ + /*ignore if this/super */ NSLog(@"found call %@",(name!=nil?name.text:nil)); } - // token+rule list labels - [state setType:_type]; + } + + // token+rule list labels + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "CALL" +/* $ANTLR end "CALL" */ // $ANTLR start "COMMENT" - (void) mCOMMENT { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = COMMENT; @@ -1296,8 +1166,10 @@ - (void) mCOMMENT // Fuzzy.g:38:5: ( '/*' ( options {greedy=false; } : . )* '*/' ) // ruleBlockSingleAlt // Fuzzy.g:38:9: '/*' ( options {greedy=false; } : . )* '*/' // alt { - [self matchString:@"/*"]; if ( state.failed == YES ) return ; - /* element() */ + [self matchString:@"/*"]; if ( state.failed ) return ; + + + do { NSInteger alt28=2; NSInteger LA28_0 = [input LA:1]; @@ -1306,13 +1178,13 @@ - (void) mCOMMENT if ( (LA28_1=='/') ) { alt28=2; } - else if ( ((LA28_1>=0x0000 && LA28_1<='.')||(LA28_1>='0' && LA28_1<=0xFFFF)) ) { + else if ( ((LA28_1 >= 0x0000 && LA28_1 <= '.')||(LA28_1 >= '0' && LA28_1 <= 0xFFFF)) ) { alt28=1; } } - else if ( ((LA28_0>=0x0000 && LA28_0<=')')||(LA28_0>='+' && LA28_0<=0xFFFF)) ) { + else if ( ((LA28_0 >= 0x0000 && LA28_0 <= ')')||(LA28_0 >= '+' && LA28_0 <= 0xFFFF)) ) { alt28=1; } @@ -1321,9 +1193,9 @@ - (void) mCOMMENT case 1 : ; // Fuzzy.g:38:41: . // alt { - [self matchAny]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchAny]; if ( state.failed ) return ; + + } break; @@ -1332,33 +1204,40 @@ - (void) mCOMMENT } } while (YES); loop28: ; - /* element() */ - [self matchString:@"*/"]; if ( state.failed == YES ) return ; - /* element() */ + + + [self matchString:@"*/"]; if ( state.failed ) return ; + + + if ( state.backtracking == 1 ) { - NSLog(@"found comment %@", [self getText]); - } /* element() */ - /* elements */ + NSLog(@"found comment %@", [self text]); } - // token+rule list labels - [state setType:_type]; + } + // token+rule list labels + + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "COMMENT" +/* $ANTLR end "COMMENT" */ // $ANTLR start "SL_COMMENT" - (void) mSL_COMMENT { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = SL_COMMENT; @@ -1366,15 +1245,17 @@ - (void) mSL_COMMENT // Fuzzy.g:43:5: ( '//' ( options {greedy=false; } : . )* '\\n' ) // ruleBlockSingleAlt // Fuzzy.g:43:9: '//' ( options {greedy=false; } : . )* '\\n' // alt { - [self matchString:@"//"]; if ( state.failed == YES ) return ; - /* element() */ + [self matchString:@"//"]; if ( state.failed ) return ; + + + do { NSInteger alt29=2; NSInteger LA29_0 = [input LA:1]; if ( (LA29_0=='\n') ) { alt29=2; } - else if ( ((LA29_0>=0x0000 && LA29_0<='\t')||(LA29_0>=0x000B && LA29_0<=0xFFFF)) ) { + else if ( ((LA29_0 >= 0x0000 && LA29_0 <= '\t')||(LA29_0 >= 0x000B && LA29_0 <= 0xFFFF)) ) { alt29=1; } @@ -1383,9 +1264,9 @@ - (void) mSL_COMMENT case 1 : ; // Fuzzy.g:43:41: . // alt { - [self matchAny]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchAny]; if ( state.failed ) return ; + + } break; @@ -1394,33 +1275,39 @@ - (void) mSL_COMMENT } } while (YES); loop29: ; - /* element() */ - [self matchChar:'\n']; if ( state.failed == YES ) return ; - /* element() */ + + + [self matchChar:'\n']; if ( state.failed ) return ; + + if ( state.backtracking == 1 ) { - NSLog(@"found // comment %@", [self getText]); - } /* element() */ - /* elements */ + NSLog(@"found // comment %@", [self text]); } - // token+rule list labels - [state setType:_type]; + } + + // token+rule list labels + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "SL_COMMENT" +/* $ANTLR end "SL_COMMENT" */ // $ANTLR start "STRING" - (void) mSTRING { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = STRING; @@ -1428,8 +1315,9 @@ - (void) mSTRING // Fuzzy.g:48:2: ( '\"' ( options {greedy=false; } : ESC | . )* '\"' ) // ruleBlockSingleAlt // Fuzzy.g:48:4: '\"' ( options {greedy=false; } : ESC | . )* '\"' // alt { - [self matchChar:'"']; if ( state.failed == YES ) return ; - /* element() */ + [self matchChar:'"']; if ( state.failed ) return ; + + do { NSInteger alt30=3; NSInteger LA30_0 = [input LA:1]; @@ -1447,13 +1335,13 @@ - (void) mSTRING else if ( (LA30_2=='\'') ) { alt30=1; } - else if ( ((LA30_2>=0x0000 && LA30_2<='!')||(LA30_2>='#' && LA30_2<='&')||(LA30_2>='(' && LA30_2<='[')||(LA30_2>=']' && LA30_2<=0xFFFF)) ) { + else if ( ((LA30_2 >= 0x0000 && LA30_2 <= '!')||(LA30_2 >= '#' && LA30_2 <= '&')||(LA30_2 >= '(' && LA30_2 <= '[')||(LA30_2 >= ']' && LA30_2 <= 0xFFFF)) ) { alt30=2; } } - else if ( ((LA30_0>=0x0000 && LA30_0<='!')||(LA30_0>='#' && LA30_0<='[')||(LA30_0>=']' && LA30_0<=0xFFFF)) ) { + else if ( ((LA30_0 >= 0x0000 && LA30_0 <= '!')||(LA30_0 >= '#' && LA30_0 <= '[')||(LA30_0 >= ']' && LA30_0 <= 0xFFFF)) ) { alt30=2; } @@ -1462,17 +1350,18 @@ - (void) mSTRING case 1 : ; // Fuzzy.g:48:34: ESC // alt { - [self mESC]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mESC]; if ( state.failed ) return ; + + + } break; case 2 : ; // Fuzzy.g:48:40: . // alt { - [self matchAny]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchAny]; if ( state.failed ) return ; + + } break; @@ -1481,30 +1370,34 @@ - (void) mSTRING } } while (YES); loop30: ; - /* element() */ - [self matchChar:'"']; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + + + [self matchChar:'"']; if ( state.failed ) return ; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "STRING" +/* $ANTLR end "STRING" */ // $ANTLR start "CHAR" - (void) mCHAR { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = CHAR; @@ -1512,8 +1405,9 @@ - (void) mCHAR // Fuzzy.g:52:2: ( '\\'' ( options {greedy=false; } : ESC | . )* '\\'' ) // ruleBlockSingleAlt // Fuzzy.g:52:4: '\\'' ( options {greedy=false; } : ESC | . )* '\\'' // alt { - [self matchChar:'\'']; if ( state.failed == YES ) return ; - /* element() */ + [self matchChar:'\'']; if ( state.failed ) return ; + + do { NSInteger alt31=3; NSInteger LA31_0 = [input LA:1]; @@ -1531,13 +1425,13 @@ - (void) mCHAR else if ( (LA31_2=='"') ) { alt31=1; } - else if ( ((LA31_2>=0x0000 && LA31_2<='!')||(LA31_2>='#' && LA31_2<='&')||(LA31_2>='(' && LA31_2<='[')||(LA31_2>=']' && LA31_2<=0xFFFF)) ) { + else if ( ((LA31_2 >= 0x0000 && LA31_2 <= '!')||(LA31_2 >= '#' && LA31_2 <= '&')||(LA31_2 >= '(' && LA31_2 <= '[')||(LA31_2 >= ']' && LA31_2 <= 0xFFFF)) ) { alt31=2; } } - else if ( ((LA31_0>=0x0000 && LA31_0<='&')||(LA31_0>='(' && LA31_0<='[')||(LA31_0>=']' && LA31_0<=0xFFFF)) ) { + else if ( ((LA31_0 >= 0x0000 && LA31_0 <= '&')||(LA31_0 >= '(' && LA31_0 <= '[')||(LA31_0 >= ']' && LA31_0 <= 0xFFFF)) ) { alt31=2; } @@ -1546,17 +1440,18 @@ - (void) mCHAR case 1 : ; // Fuzzy.g:52:35: ESC // alt { - [self mESC]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mESC]; if ( state.failed ) return ; + + + } break; case 2 : ; // Fuzzy.g:52:41: . // alt { - [self matchAny]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchAny]; if ( state.failed ) return ; + + } break; @@ -1565,30 +1460,34 @@ - (void) mCHAR } } while (YES); loop31: ; - /* element() */ - [self matchChar:'\'']; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + + + [self matchChar:'\'']; if ( state.failed ) return ; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "CHAR" +/* $ANTLR end "CHAR" */ // $ANTLR start "WS" - (void) mWS { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = WS; @@ -1597,11 +1496,11 @@ - (void) mWS // Fuzzy.g:55:9: ( ' ' | '\\t' | '\\n' )+ // alt { // Fuzzy.g:55:9: ( ' ' | '\\t' | '\\n' )+ // positiveClosureBlock - NSInteger cnt32=0; + NSInteger cnt32 = 0; do { - NSInteger alt32=2; + NSInteger alt32 = 2; NSInteger LA32_0 = [input LA:1]; - if ( ((LA32_0>='\t' && LA32_0<='\n')||LA32_0==' ') ) { + if ( ((LA32_0 >= '\t' && LA32_0 <= '\n')||LA32_0==' ') ) { alt32=1; } @@ -1612,56 +1511,66 @@ - (void) mWS { if ((([input LA:1] >= '\t') && ([input LA:1] <= '\n'))||[input LA:1] == ' ') { [input consume]; - state.failed = NO; + state.failed = NO; } else { if ( state.backtracking > 0 ) { state.failed = YES; return ; } - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; + } + + } break; default : if ( cnt32 >= 1 ) goto loop32; - if ( state.backtracking > 0 ) { state.failed = YES; return ; } ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:32]; + if ( state.backtracking > 0 ) { state.failed = YES; return ; } + + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:32]; @throw eee; } cnt32++; } while (YES); loop32: ; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "WS" +/* $ANTLR end "WS" */ // $ANTLR start "QID" - (void) mQID { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // Fuzzy.g:59:5: ( ID ( '.' ID )* ) // ruleBlockSingleAlt // Fuzzy.g:59:7: ID ( '.' ID )* // alt { - [self mID]; if ( state.failed == YES ) return ; - /* element() */ + [self mID]; if ( state.failed ) return ; + + + do { NSInteger alt33=2; NSInteger LA33_0 = [input LA:1]; @@ -1674,11 +1583,13 @@ - (void) mQID case 1 : ; // Fuzzy.g:59:11: '.' ID // alt { - [self matchChar:'.']; if ( state.failed == YES ) return ; - /* element() */ - [self mID]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchChar:'.']; if ( state.failed ) return ; + + + [self mID]; if ( state.failed ) return ; + + + } break; @@ -1687,36 +1598,43 @@ - (void) mQID } } while (YES); loop33: ; - /* element() */ - /* elements */ + + } + } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "QID" +/* $ANTLR end "QID" */ // $ANTLR start "QIDStar" - (void) mQIDStar { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // Fuzzy.g:68:2: ( ID ( '.' ID )* ( '.*' )? ) // ruleBlockSingleAlt // Fuzzy.g:68:4: ID ( '.' ID )* ( '.*' )? // alt { - [self mID]; if ( state.failed == YES ) return ; - /* element() */ + [self mID]; if ( state.failed ) return ; + + + do { NSInteger alt34=2; NSInteger LA34_0 = [input LA:1]; if ( (LA34_0=='.') ) { NSInteger LA34_1 = [input LA:2]; - if ( ((LA34_1>='A' && LA34_1<='Z')||LA34_1=='_'||(LA34_1>='a' && LA34_1<='z')) ) { + if ( ((LA34_1 >= 'A' && LA34_1 <= 'Z')||LA34_1=='_'||(LA34_1 >= 'a' && LA34_1 <= 'z')) ) { alt34=1; } @@ -1728,11 +1646,13 @@ - (void) mQIDStar case 1 : ; // Fuzzy.g:68:8: '.' ID // alt { - [self matchChar:'.']; if ( state.failed == YES ) return ; - /* element() */ - [self mID]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchChar:'.']; if ( state.failed ) return ; + + + [self mID]; if ( state.failed ) return ; + + + } break; @@ -1741,7 +1661,8 @@ - (void) mQIDStar } } while (YES); loop34: ; - /* element() */ + + // Fuzzy.g:68:17: ( '.*' )? // block NSInteger alt35=2; NSInteger LA35_0 = [input LA:1]; @@ -1753,37 +1674,45 @@ - (void) mQIDStar case 1 : ; // Fuzzy.g:68:17: '.*' // alt { - [self matchString:@".*"]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchString:@".*"]; if ( state.failed ) return ; + + + } break; } - /* element() */ - /* elements */ + + } + } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "QIDStar" +/* $ANTLR end "QIDStar" */ // $ANTLR start "TYPE" - (void) mTYPE { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // Fuzzy.g:72:5: ( QID ( '[]' )? ) // ruleBlockSingleAlt // Fuzzy.g:72:9: QID ( '[]' )? // alt { - [self mQID]; if ( state.failed == YES ) return ; - /* element() */ + [self mQID]; if ( state.failed ) return ; + + + // Fuzzy.g:72:13: ( '[]' )? // block NSInteger alt36=2; NSInteger LA36_0 = [input LA:1]; @@ -1795,57 +1724,73 @@ - (void) mTYPE case 1 : ; // Fuzzy.g:72:13: '[]' // alt { - [self matchString:@"[]"]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self matchString:@"[]"]; if ( state.failed ) return ; + + + } break; } - /* element() */ - /* elements */ + + } + } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "TYPE" +/* $ANTLR end "TYPE" */ // $ANTLR start "ARG" - (void) mARG { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // Fuzzy.g:76:5: ( TYPE WS ID ) // ruleBlockSingleAlt // Fuzzy.g:76:9: TYPE WS ID // alt { - [self mTYPE]; if ( state.failed == YES ) return ; - /* element() */ - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - [self mID]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mTYPE]; if ( state.failed ) return ; + + + + [self mWS]; if ( state.failed ) return ; + + + + [self mID]; if ( state.failed ) return ; + + + } + } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "ARG" +/* $ANTLR end "ARG" */ // $ANTLR start "ID" - (void) mID { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // Fuzzy.g:80:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) // ruleBlockSingleAlt @@ -1853,18 +1798,21 @@ - (void) mID { if ((([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { [input consume]; - state.failed = NO; + state.failed = NO; } else { if ( state.backtracking > 0 ) { state.failed = YES; return ; } - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ + @throw mse; + } + + do { NSInteger alt37=2; NSInteger LA37_0 = [input LA:1]; - if ( ((LA37_0>='0' && LA37_0<='9')||(LA37_0>='A' && LA37_0<='Z')||LA37_0=='_'||(LA37_0>='a' && LA37_0<='z')) ) { + if ( ((LA37_0 >= '0' && LA37_0 <= '9')||(LA37_0 >= 'A' && LA37_0 <= 'Z')||LA37_0=='_'||(LA37_0 >= 'a' && LA37_0 <= 'z')) ) { alt37=1; } @@ -1875,15 +1823,17 @@ - (void) mID { if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))||(([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { [input consume]; - state.failed = NO; + state.failed = NO; } else { if ( state.backtracking > 0 ) { state.failed = YES; return ; } - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; + } + + } break; @@ -1892,151 +1842,401 @@ - (void) mID } } while (YES); loop37: ; - /* element() */ - /* elements */ + + } + } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "ID" +/* $ANTLR end "ID" */ // $ANTLR start "ESC" - (void) mESC { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // Fuzzy.g:84:5: ( '\\\\' ( '\"' | '\\'' | '\\\\' ) ) // ruleBlockSingleAlt // Fuzzy.g:84:7: '\\\\' ( '\"' | '\\'' | '\\\\' ) // alt { - [self matchChar:'\\']; if ( state.failed == YES ) return ; - /* element() */ + [self matchChar:'\\']; if ( state.failed ) return ; + + if ([input LA:1] == '"'||[input LA:1] == '\''||[input LA:1] == '\\') { [input consume]; - state.failed = NO; + state.failed = NO; } else { if ( state.backtracking > 0 ) { state.failed = YES; return ; } - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; } + + } + + } @finally { // + /* my stuff */ + /* Terence's stuff */ + } return; } -// $ANTLR end "ESC" +/* $ANTLR end "ESC" */ - (void) mTokens { // Fuzzy.g:1:39: ( IMPORT | RETURN | CLASS | METHOD | FIELD | STAT | CALL | COMMENT | SL_COMMENT | STRING | CHAR | WS ) //ruleblock NSInteger alt38=12; - alt38 = [dfa38 predict:input]; + unichar charLA38 = [input LA:1]; + switch (charLA38) { + case 'i': ; + { + NSInteger LA38_1 = [input LA:2]; + + if ( ([self evaluateSyntacticPredicate:@selector(synpred1_Fuzzy_fragment)]) ) { + alt38=1; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) ) { + alt38=4; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) ) { + alt38=5; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred6_Fuzzy_fragment)]) ) { + alt38=6; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) ) { + alt38=7; + } + else { + if ( state.backtracking > 0 ) { state.failed = YES; return ; } + + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:38 state:1 stream:input]; + nvae.c = LA38_1; + @throw nvae; + + } + } + break; + case 'r': ; + { + NSInteger LA38_7 = [input LA:2]; + + if ( ([self evaluateSyntacticPredicate:@selector(synpred2_Fuzzy_fragment)]) ) { + alt38=2; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) ) { + alt38=4; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) ) { + alt38=5; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) ) { + alt38=7; + } + else { + if ( state.backtracking > 0 ) { state.failed = YES; return ; } + + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:38 state:7 stream:input]; + nvae.c = LA38_7; + @throw nvae; + + } + } + break; + case 'c': ; + { + NSInteger LA38_9 = [input LA:2]; + + if ( ([self evaluateSyntacticPredicate:@selector(synpred3_Fuzzy_fragment)]) ) { + alt38=3; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) ) { + alt38=4; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) ) { + alt38=5; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) ) { + alt38=7; + } + else { + if ( state.backtracking > 0 ) { state.failed = YES; return ; } + + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:38 state:9 stream:input]; + nvae.c = LA38_9; + @throw nvae; + + } + } + break; + case 'f': ; + case 's': ; + case 'w': ; + { + NSInteger LA38_11 = [input LA:2]; + + if ( ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) ) { + alt38=4; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) ) { + alt38=5; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred6_Fuzzy_fragment)]) ) { + alt38=6; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) ) { + alt38=7; + } + else { + if ( state.backtracking > 0 ) { state.failed = YES; return ; } + + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:38 state:11 stream:input]; + nvae.c = LA38_11; + @throw nvae; + + } + } + break; + case 'A': ; + case 'B': ; + case 'C': ; + case 'D': ; + case 'E': ; + case 'F': ; + case 'G': ; + case 'H': ; + case 'I': ; + case 'J': ; + case 'K': ; + case 'L': ; + case 'M': ; + case 'N': ; + case 'O': ; + case 'P': ; + case 'Q': ; + case 'R': ; + case 'S': ; + case 'T': ; + case 'U': ; + case 'V': ; + case 'W': ; + case 'X': ; + case 'Y': ; + case 'Z': ; + case '_': ; + case 'a': ; + case 'b': ; + case 'd': ; + case 'e': ; + case 'g': ; + case 'h': ; + case 'j': ; + case 'k': ; + case 'l': ; + case 'm': ; + case 'n': ; + case 'o': ; + case 'p': ; + case 'q': ; + case 't': ; + case 'u': ; + case 'v': ; + case 'x': ; + case 'y': ; + case 'z': ; + { + NSInteger LA38_12 = [input LA:2]; + + if ( ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) ) { + alt38=4; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) ) { + alt38=5; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) ) { + alt38=7; + } + else { + if ( state.backtracking > 0 ) { state.failed = YES; return ; } + + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:38 state:12 stream:input]; + nvae.c = LA38_12; + @throw nvae; + + } + } + break; + case '/': ; + { + NSInteger LA38_13 = [input LA:2]; + + if ( ([self evaluateSyntacticPredicate:@selector(synpred8_Fuzzy_fragment)]) ) { + alt38=8; + } + else if ( ([self evaluateSyntacticPredicate:@selector(synpred9_Fuzzy_fragment)]) ) { + alt38=9; + } + else { + if ( state.backtracking > 0 ) { state.failed = YES; return ; } + + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:38 state:13 stream:input]; + nvae.c = LA38_13; + @throw nvae; + + } + } + break; + case '"': ; + { + alt38=10; + } + break; + case '\'': ; + { + alt38=11; + } + break; + case '\t': ; + case '\n': ; + case ' ': ; + { + alt38=12; + } + break; + + default: ; + if ( state.backtracking > 0 ) { state.failed = YES; return ; } + + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:38 state:0 stream:input]; + nvae.c = charLA38; + @throw nvae; + + } + switch (alt38) { case 1 : ; // Fuzzy.g:1:41: IMPORT // alt { - [self mIMPORT]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mIMPORT]; if ( state.failed ) return ; + + + } break; case 2 : ; // Fuzzy.g:1:48: RETURN // alt { - [self mRETURN]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mRETURN]; if ( state.failed ) return ; + + + } break; case 3 : ; // Fuzzy.g:1:55: CLASS // alt { - [self mCLASS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mCLASS]; if ( state.failed ) return ; + + + } break; case 4 : ; // Fuzzy.g:1:61: METHOD // alt { - [self mMETHOD]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mMETHOD]; if ( state.failed ) return ; + + + } break; case 5 : ; // Fuzzy.g:1:68: FIELD // alt { - [self mFIELD]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mFIELD]; if ( state.failed ) return ; + + + } break; case 6 : ; // Fuzzy.g:1:74: STAT // alt { - [self mSTAT]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mSTAT]; if ( state.failed ) return ; + + + } break; case 7 : ; // Fuzzy.g:1:79: CALL // alt { - [self mCALL]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mCALL]; if ( state.failed ) return ; + + + } break; case 8 : ; // Fuzzy.g:1:84: COMMENT // alt { - [self mCOMMENT]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mCOMMENT]; if ( state.failed ) return ; + + + } break; case 9 : ; // Fuzzy.g:1:92: SL_COMMENT // alt { - [self mSL_COMMENT]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mSL_COMMENT]; if ( state.failed ) return ; + + + } break; case 10 : ; // Fuzzy.g:1:103: STRING // alt { - [self mSTRING]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mSTRING]; if ( state.failed ) return ; + + + } break; case 11 : ; // Fuzzy.g:1:110: CHAR // alt { - [self mCHAR]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mCHAR]; if ( state.failed ) return ; + + + } break; case 12 : ; // Fuzzy.g:1:115: WS // alt { - [self mWS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mWS]; if ( state.failed ) return ; + + + } break; @@ -2050,10 +2250,12 @@ - (void) synpred1_Fuzzy_fragment // Fuzzy.g:1:41: ( IMPORT ) // ruleBlockSingleAlt // Fuzzy.g:1:41: IMPORT // alt { - [self mIMPORT]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mIMPORT]; if ( state.failed ) return ; + + + } + } // $ANTLR end synpred1_Fuzzy_fragment // $ANTLR start synpred2_Fuzzy_fragment @@ -2062,10 +2264,12 @@ - (void) synpred2_Fuzzy_fragment // Fuzzy.g:1:48: ( RETURN ) // ruleBlockSingleAlt // Fuzzy.g:1:48: RETURN // alt { - [self mRETURN]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mRETURN]; if ( state.failed ) return ; + + + } + } // $ANTLR end synpred2_Fuzzy_fragment // $ANTLR start synpred3_Fuzzy_fragment @@ -2074,10 +2278,12 @@ - (void) synpred3_Fuzzy_fragment // Fuzzy.g:1:55: ( CLASS ) // ruleBlockSingleAlt // Fuzzy.g:1:55: CLASS // alt { - [self mCLASS]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mCLASS]; if ( state.failed ) return ; + + + } + } // $ANTLR end synpred3_Fuzzy_fragment // $ANTLR start synpred4_Fuzzy_fragment @@ -2086,10 +2292,12 @@ - (void) synpred4_Fuzzy_fragment // Fuzzy.g:1:61: ( METHOD ) // ruleBlockSingleAlt // Fuzzy.g:1:61: METHOD // alt { - [self mMETHOD]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mMETHOD]; if ( state.failed ) return ; + + + } + } // $ANTLR end synpred4_Fuzzy_fragment // $ANTLR start synpred5_Fuzzy_fragment @@ -2098,10 +2306,12 @@ - (void) synpred5_Fuzzy_fragment // Fuzzy.g:1:68: ( FIELD ) // ruleBlockSingleAlt // Fuzzy.g:1:68: FIELD // alt { - [self mFIELD]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mFIELD]; if ( state.failed ) return ; + + + } + } // $ANTLR end synpred5_Fuzzy_fragment // $ANTLR start synpred6_Fuzzy_fragment @@ -2110,10 +2320,12 @@ - (void) synpred6_Fuzzy_fragment // Fuzzy.g:1:74: ( STAT ) // ruleBlockSingleAlt // Fuzzy.g:1:74: STAT // alt { - [self mSTAT]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mSTAT]; if ( state.failed ) return ; + + + } + } // $ANTLR end synpred6_Fuzzy_fragment // $ANTLR start synpred7_Fuzzy_fragment @@ -2122,10 +2334,12 @@ - (void) synpred7_Fuzzy_fragment // Fuzzy.g:1:79: ( CALL ) // ruleBlockSingleAlt // Fuzzy.g:1:79: CALL // alt { - [self mCALL]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mCALL]; if ( state.failed ) return ; + + + } + } // $ANTLR end synpred7_Fuzzy_fragment // $ANTLR start synpred8_Fuzzy_fragment @@ -2134,10 +2348,12 @@ - (void) synpred8_Fuzzy_fragment // Fuzzy.g:1:84: ( COMMENT ) // ruleBlockSingleAlt // Fuzzy.g:1:84: COMMENT // alt { - [self mCOMMENT]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mCOMMENT]; if ( state.failed ) return ; + + + } + } // $ANTLR end synpred8_Fuzzy_fragment // $ANTLR start synpred9_Fuzzy_fragment @@ -2146,14 +2362,12 @@ - (void) synpred9_Fuzzy_fragment // Fuzzy.g:1:92: ( SL_COMMENT ) // ruleBlockSingleAlt // Fuzzy.g:1:92: SL_COMMENT // alt { - [self mSL_COMMENT]; if ( state.failed == YES ) return ; - /* element() */ - /* elements */ + [self mSL_COMMENT]; if ( state.failed ) return ; + + + } -} // $ANTLR end synpred9_Fuzzy_fragment -@end /* end of Fuzzy implementation line 397 */ +} // $ANTLR end synpred9_Fuzzy_fragment -/* End of code - * ============================================================================= - */ +@end /* end of Fuzzy implementation line 397 */ \ No newline at end of file diff --git a/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.tokens b/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.tokens index 3a7034c3..7f37cc58 100644 --- a/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.tokens +++ b/runtime/ObjC/Framework/examples/fuzzy/Fuzzy.tokens @@ -1,18 +1,18 @@ -STAT=15 -CLASS=10 -ESC=19 -CHAR=21 -ID=8 -QID=9 -TYPE=11 -IMPORT=6 -WS=4 -ARG=12 -QIDStar=5 -SL_COMMENT=18 -RETURN=7 -FIELD=14 -CALL=16 -COMMENT=17 +ARG=4 +CALL=5 +CHAR=6 +CLASS=7 +COMMENT=8 +ESC=9 +FIELD=10 +ID=11 +IMPORT=12 METHOD=13 -STRING=20 +QID=14 +QIDStar=15 +RETURN=16 +SL_COMMENT=17 +STAT=18 +STRING=19 +TYPE=20 +WS=21 diff --git a/runtime/ObjC/Framework/examples/fuzzy/main.m b/runtime/ObjC/Framework/examples/fuzzy/main.m index a6b4e2fd..379a519a 100644 --- a/runtime/ObjC/Framework/examples/fuzzy/main.m +++ b/runtime/ObjC/Framework/examples/fuzzy/main.m @@ -1,21 +1,21 @@ #import -#import "FuzzyLexer.h" +#import "Fuzzy.h" #import "antlr3.h" int main(int argc, const char * argv[]) { NSError *error; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - NSString *input = [NSString stringWithContentsOfFile:@"../../examples/fuzzy/input" encoding:NSASCIIStringEncoding error:&error]; + NSString *input = [NSString stringWithContentsOfFile:@"/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/examples/fuzzy/input" encoding:NSASCIIStringEncoding error:&error]; NSLog(@"%@", input); ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:input]; Fuzzy *lex = [Fuzzy newFuzzyWithCharStream:stream]; ANTLRCommonTokenStream *tokens = [ANTLRCommonTokenStream newANTLRCommonTokenStreamWithTokenSource:lex]; -// NSLog( [tokens toString] ); + NSLog( [tokens toString] ); id currentToken; while ((currentToken = [lex nextToken]) && [currentToken getType] != ANTLRTokenTypeEOF) { -// NSLog(@"### %@", [currentToken toString]); + NSLog(@"### %@", [currentToken toString]); } [lex release]; diff --git a/runtime/ObjC/Framework/examples/hoistedPredicates/T.tokens b/runtime/ObjC/Framework/examples/hoistedPredicates/T.tokens index 04386deb..fa101738 100644 --- a/runtime/ObjC/Framework/examples/hoistedPredicates/T.tokens +++ b/runtime/ObjC/Framework/examples/hoistedPredicates/T.tokens @@ -1,5 +1,5 @@ -WS=6 -INT=5 -ID=4 T__7=7 +ID=4 +INT=5 +WS=6 'enum'=7 diff --git a/runtime/ObjC/Framework/examples/hoistedPredicates/TLexer.h b/runtime/ObjC/Framework/examples/hoistedPredicates/TLexer.h index 47e26b14..9f5067d2 100644 --- a/runtime/ObjC/Framework/examples/hoistedPredicates/TLexer.h +++ b/runtime/ObjC/Framework/examples/hoistedPredicates/TLexer.h @@ -1,10 +1,10 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 T.g 2010-08-24 13:53:45 +// $ANTLR ${project.version} ${buildNumber} T.g 2011-05-06 19:14:23 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ @@ -14,21 +14,28 @@ #pragma mark Rule return scopes start #pragma mark Rule return scopes end #pragma mark Tokens -#define WS 6 -#define INT 5 -#define ID 4 +#ifdef EOF +#undef EOF +#endif #define EOF -1 #define T__7 7 +#define ID 4 +#define INT 5 +#define WS 6 +/* interface lexer class */ @interface TLexer : ANTLRLexer { // line 283 -// start of actions.lexer.memVars -// start of action-actionScope-memVars +/* ObjC start of actions.lexer.memVars */ +/* ObjC end of actions.lexer.memVars */ } ++ (void) initialize; + (TLexer *)newTLexerWithCharStream:(id)anInput; - -- (void)mT__7; -- (void)mID; -- (void)mINT; -- (void)mWS; -- (void)mTokens; +/* ObjC start actions.lexer.methodsDecl */ +/* ObjC end actions.lexer.methodsDecl */ +- (void) mT__7 ; +- (void) mID ; +- (void) mINT ; +- (void) mWS ; +- (void) mTokens ; @end /* end of TLexer interface */ + diff --git a/runtime/ObjC/Framework/examples/hoistedPredicates/TLexer.m b/runtime/ObjC/Framework/examples/hoistedPredicates/TLexer.m index c7d010b5..b55e5399 100644 --- a/runtime/ObjC/Framework/examples/hoistedPredicates/TLexer.m +++ b/runtime/ObjC/Framework/examples/hoistedPredicates/TLexer.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : T.g - * - On : 2010-08-24 13:53:45 - * - for the lexer : TLexerLexer * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 19:14:23 + * - for the lexer : TLexerLexer + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 T.g 2010-08-24 13:53:45 +// $ANTLR ${project.version} ${buildNumber} T.g 2011-05-06 19:14:23 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -47,12 +22,10 @@ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ - /** As per Terence: No returns for lexer rules! */ @implementation TLexer // line 330 @@ -73,8 +46,8 @@ + (TLexer *)newTLexerWithCharStream:(id)anInput - (id) initWithCharStream:(id)anInput { - if ((self = [super initWithCharStream:anInput State:[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:5+1]]) != nil) { - + self = [super initWithCharStream:anInput State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:5+1] retain]]; + if ( self != nil ) { } return self; } @@ -84,15 +57,18 @@ - (void) dealloc [super dealloc]; } -/* Start of actions.lexer.methods */ -/* start methods() */ +/* ObjC Start of actions.lexer.methods */ +/* ObjC end of actions.lexer.methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ /* Start of Rules */ // $ANTLR start "T__7" - (void) mT__7 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__7; @@ -101,28 +77,31 @@ - (void) mT__7 // T.g:7:8: 'enum' // alt { [self matchString:@"enum"]; - /* element() */ - /* elements */ + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "T__7" +/* $ANTLR end "T__7" */ // $ANTLR start "ID" - (void) mID { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = ID; @@ -132,16 +111,17 @@ - (void) mID { if ((([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ + @throw mse; + } + + do { NSInteger alt1=2; NSInteger LA1_0 = [input LA:1]; - if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')) ) { + if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||LA1_0=='_'||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) { alt1=1; } @@ -152,13 +132,13 @@ - (void) mID { if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))||(([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; + } + + } break; @@ -167,28 +147,30 @@ - (void) mID } } while (YES); loop1: ; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "ID" +/* $ANTLR end "ID" */ // $ANTLR start "INT" - (void) mINT { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = INT; @@ -197,55 +179,65 @@ - (void) mINT // T.g:40:7: ( '0' .. '9' )+ // alt { // T.g:40:7: ( '0' .. '9' )+ // positiveClosureBlock - NSInteger cnt2=0; + NSInteger cnt2 = 0; do { - NSInteger alt2=2; + NSInteger alt2 = 2; NSInteger LA2_0 = [input LA:1]; - if ( ((LA2_0>='0' && LA2_0<='9')) ) { + if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) { alt2=1; } switch (alt2) { case 1 : ; - // T.g:40:8: '0' .. '9' // alt + // T.g: // alt { - [self matchRangeFromChar:'0' to:'9']; /* element() */ - /* elements */ + if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) { + [input consume]; + } else { + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; + [self recover:mse]; + @throw mse; + } + + } break; default : if ( cnt2 >= 1 ) goto loop2; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:2]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:2]; @throw eee; } cnt2++; } while (YES); loop2: ; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "INT" +/* $ANTLR end "INT" */ // $ANTLR start "WS" - (void) mWS { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = WS; @@ -254,11 +246,11 @@ - (void) mWS // T.g:43:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // alt { // T.g:43:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // positiveClosureBlock - NSInteger cnt3=0; + NSInteger cnt3 = 0; do { - NSInteger alt3=2; + NSInteger alt3 = 2; NSInteger LA3_0 = [input LA:1]; - if ( ((LA3_0>='\t' && LA3_0<='\n')||LA3_0=='\r'||LA3_0==' ') ) { + if ( ((LA3_0 >= '\t' && LA3_0 <= '\n')||LA3_0=='\r'||LA3_0==' ') ) { alt3=1; } @@ -269,48 +261,53 @@ - (void) mWS { if ((([input LA:1] >= '\t') && ([input LA:1] <= '\n'))||[input LA:1] == '\r'||[input LA:1] == ' ') { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; + } + + } break; default : if ( cnt3 >= 1 ) goto loop3; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:3]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:3]; @throw eee; } cnt3++; } while (YES); loop3: ; - /* element() */ - _channel=99; /* element() */ - /* elements */ + + + _channel=99; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "WS" +/* $ANTLR end "WS" */ - (void) mTokens { // T.g:1:8: ( T__7 | ID | INT | WS ) //ruleblock NSInteger alt4=4; - switch ([input LA:1]) { + unichar charLA4 = [input LA:1]; + switch (charLA4) { case 'e': ; { NSInteger LA4_1 = [input LA:2]; @@ -324,20 +321,24 @@ - (void) mTokens if ( (LA4_6=='m') ) { NSInteger LA4_7 = [input LA:5]; - if ( ((LA4_7>='0' && LA4_7<='9')||(LA4_7>='A' && LA4_7<='Z')||LA4_7=='_'||(LA4_7>='a' && LA4_7<='z')) ) { + if ( ((LA4_7 >= '0' && LA4_7 <= '9')||(LA4_7 >= 'A' && LA4_7 <= 'Z')||LA4_7=='_'||(LA4_7 >= 'a' && LA4_7 <= 'z')) ) { alt4=2; } else { - alt4 = 1;} + alt4 = 1; + } } else { - alt4 = 2;} + alt4 = 2; + } } else { - alt4 = 2;} + alt4 = 2; + } } else { - alt4 = 2;} + alt4 = 2; + } } break; case 'A': ; @@ -420,41 +421,47 @@ - (void) mTokens break; default: ; - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:4 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:4 state:0 stream:input]; + nvae.c = charLA4; @throw nvae; + } switch (alt4) { case 1 : ; // T.g:1:10: T__7 // alt { - [self mT__7]; - /* element() */ - /* elements */ + [self mT__7]; + + + } break; case 2 : ; // T.g:1:15: ID // alt { - [self mID]; - /* element() */ - /* elements */ + [self mID]; + + + } break; case 3 : ; // T.g:1:18: INT // alt { - [self mINT]; - /* element() */ - /* elements */ + [self mINT]; + + + } break; case 4 : ; // T.g:1:22: WS // alt { - [self mWS]; - /* element() */ - /* elements */ + [self mWS]; + + + } break; @@ -462,8 +469,4 @@ - (void) mTokens } -@end /* end of TLexer implementation line 397 */ - -/* End of code - * ============================================================================= - */ +@end /* end of TLexer implementation line 397 */ \ No newline at end of file diff --git a/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.h b/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.h index d46867ec..898d0de1 100644 --- a/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.h +++ b/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.h @@ -1,43 +1,73 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 T.g 2010-08-24 13:53:44 +// $ANTLR ${project.version} ${buildNumber} T.g 2011-05-06 19:14:23 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ /* parserHeaderFile */ +#ifndef ANTLR3TokenTypeAlreadyDefined +#define ANTLR3TokenTypeAlreadyDefined +typedef enum { + ANTLR_EOF = -1, + INVALID, + EOR, + DOWN, + UP, + MIN +} ANTLR3TokenType; +#endif + #pragma mark Tokens -#define WS 6 -#define INT 5 -#define ID 4 +#ifdef EOF +#undef EOF +#endif #define EOF -1 #define T__7 7 +#define ID 4 +#define INT 5 +#define WS 6 #pragma mark Dynamic Global Scopes #pragma mark Dynamic Rule Scopes #pragma mark Rule Return Scopes start -#pragma mark Rule return scopes end + +/* Interface grammar class */ @interface TParser : ANTLRParser { /* line 572 */ -// start of globalAttributeScopeMemVar +/* ObjC start of ruleAttributeScopeMemVar */ -// start of action-actionScope-memVars +/* ObjC end of ruleAttributeScopeMemVar */ +/* ObjC start of globalAttributeScopeMemVar */ -/* With this true, enum is seen as a keyword. False, it's an identifier */ -BOOL enableEnum; -// start of ruleAttributeScopeMemVar +/* ObjC end of globalAttributeScopeMemVar */ +/* ObjC start of actions.(actionScope).memVars */ +/* With this true, enum is seen as a keyword. False, it's an identifier */ +BOOL enableEnum; -// Start of memVars +/* ObjC end of actions.(actionScope).memVars */ +/* ObjC start of memVars */ +/* ObjC end of memVars */ } -// start of action-actionScope-methodsDecl +/* ObjC start of actions.(actionScope).properties */ +/* ObjC end of actions.(actionScope).properties */ +/* ObjC start of properties */ +/* ObjC end of properties */ + ++ (void) initialize; ++ (id) newTParser:(id)aStream; +/* ObjC start of actions.(actionScope).methodsDecl */ +/* ObjC end of actions.(actionScope).methodsDecl */ +/* ObjC start of methodsDecl */ +/* ObjC end of methodsDecl */ - (void)stat; - (void)identifier; @@ -46,6 +76,7 @@ BOOL enableEnum; @end /* end of TParser interface */ + /** Demonstrates how semantic predicates get hoisted out of the rule in * which they are found and used in other decisions. This grammar illustrates * how predicates can be used to distinguish between enum as a keyword and diff --git a/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.m b/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.m index d638971c..e4402906 100644 --- a/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.m +++ b/runtime/ObjC/Framework/examples/hoistedPredicates/TParser.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : T.g - * - On : 2010-08-24 13:53:44 - * - for the parser : TParserParser * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 19:14:23 + * - for the parser : TParserParser + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 T.g 2010-08-24 13:53:44 +// $ANTLR ${project.version} ${buildNumber} T.g 2011-05-06 19:14:23 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -55,13 +30,10 @@ */ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ - - #pragma mark Bitsets static ANTLRBitSet *FOLLOW_identifier_in_stat34; static const unsigned long long FOLLOW_identifier_in_stat34_data[] = { 0x0000000000000002LL}; @@ -81,19 +53,25 @@ #pragma mark Dynamic Rule Scopes -#pragma mark Rule return scopes start -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - +#pragma mark Rule Return Scopes start +//#pragma mark Rule return scopes start +// +#pragma mark Rule return scopes start @implementation TParser // line 637 +/* ObjC start of ruleAttributeScope */ +#pragma mark Dynamic Rule Scopes +/* ObjC end of ruleAttributeScope */ +#pragma mark global Attribute Scopes +/* ObjC start globalAttributeScope */ +/* ObjC end globalAttributeScope */ +/* ObjC start actions.(actionScope).synthesize */ +/* ObjC end actions.(actionScope).synthesize */ +/* ObjC start synthesize() */ +/* ObjC end synthesize() */ + + (void) initialize { #pragma mark Bitsets @@ -104,20 +82,22 @@ + (void) initialize FOLLOW_7_in_enumAsKeyword89 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_enumAsKeyword89_data Count:(NSUInteger)1] retain]; FOLLOW_7_in_enumAsID100 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_enumAsID100_data Count:(NSUInteger)1] retain]; - [ANTLRBaseRecognizer setTokenNames:[[[NSArray alloc] initWithObjects:@"", @"", @"", @"", + [ANTLRBaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"", @"", @"", @"", @"ID", @"INT", @"WS", @"'enum'", nil] retain]]; + [ANTLRBaseRecognizer setGrammarFileName:@"T.g"]; } + (TParser *)newTParser:(id)aStream { return [[TParser alloc] initWithTokenStream:aStream]; + } - (id) initWithTokenStream:(id)aStream { - if ((self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:4+1] retain]]) != nil) { - + self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:4+1] retain]]; + if ( self != nil ) { /* start of actions-actionScope-init */ @@ -133,16 +113,22 @@ - (void) dealloc { [super dealloc]; } -// start actions.actionScope.methods -// start methods() -// start rules + +/* ObjC start members */ +/* ObjC end members */ +/* ObjC start actions.(actionScope).methods */ +/* ObjC end actions.(actionScope).methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ +/* ObjC start rules */ /* * $ANTLR start stat * T.g:24:1: stat : ( identifier | enumAsKeyword ); */ - (void) stat { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // T.g:24:5: ( identifier | enumAsKeyword ) //ruleblock @@ -162,37 +148,49 @@ - (void) stat alt1=2; } else { - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:1 state:2 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:1 state:2 stream:input]; + nvae.c = LA1_2; @throw nvae; + } } else { - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:1 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:1 state:0 stream:input]; + nvae.c = LA1_0; @throw nvae; + } switch (alt1) { case 1 : ; // T.g:24:7: identifier // alt { + /* ruleRef */ [self pushFollow:FOLLOW_identifier_in_stat34]; [self identifier]; + [self popFollow]; - /* element() */ - NSLog(@"enum is an ID"); /* element() */ - /* elements */ + + + NSLog(@"enum is an ID"); + + } break; case 2 : ; // T.g:25:7: enumAsKeyword // alt { + /* ruleRef */ [self pushFollow:FOLLOW_enumAsKeyword_in_stat47]; [self enumAsKeyword]; + [self popFollow]; - /* element() */ - NSLog(@"enum is a keyword"); /* element() */ - /* elements */ + + + NSLog(@"enum is a keyword"); + + } break; @@ -203,18 +201,24 @@ - (void) stat @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end stat */ + /* * $ANTLR start identifier * T.g:28:1: identifier : ( ID | enumAsID ); */ - (void) identifier { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // T.g:29:5: ( ID | enumAsID ) //ruleblock @@ -228,26 +232,30 @@ - (void) identifier alt2=2; } else { - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:2 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:2 state:0 stream:input]; + nvae.c = LA2_0; @throw nvae; + } switch (alt2) { case 1 : ; // T.g:29:7: ID // alt { - [self match:input TokenType:ID Follow:FOLLOW_ID_in_identifier66]; /* element() */ - /* elements */ + [self match:input TokenType:ID Follow:FOLLOW_ID_in_identifier66]; + } break; case 2 : ; // T.g:30:7: enumAsID // alt { + /* ruleRef */ [self pushFollow:FOLLOW_enumAsID_in_identifier74]; [self enumAsID]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -258,28 +266,35 @@ - (void) identifier @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end identifier */ + /* * $ANTLR start enumAsKeyword - * T.g:33:1: enumAsKeyword : {...}? 'enum' ; + * T.g:33:1: enumAsKeyword :{...}? 'enum' ; */ - (void) enumAsKeyword { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // T.g:33:15: ({...}? 'enum' ) // ruleBlockSingleAlt // T.g:33:17: {...}? 'enum' // alt { if ( !((enableEnum)) ) { - @throw [ANTLRFailedPredicateException exceptionWithRuleName:@"enumAsKeyword" predicate:@"enableEnum" stream:input]; - } /* element() */ - [self match:input TokenType:7 Follow:FOLLOW_7_in_enumAsKeyword89]; /* element() */ - /* elements */ + @throw [ANTLRFailedPredicateException newException:@"enumAsKeyword" predicate:@"enableEnum" stream:input]; + } + + [self match:input TokenType:7 Follow:FOLLOW_7_in_enumAsKeyword89]; + } // token+rule list labels @@ -288,28 +303,35 @@ - (void) enumAsKeyword @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end enumAsKeyword */ + /* * $ANTLR start enumAsID - * T.g:35:1: enumAsID : {...}? 'enum' ; + * T.g:35:1: enumAsID :{...}? 'enum' ; */ - (void) enumAsID { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // T.g:35:10: ({...}? 'enum' ) // ruleBlockSingleAlt // T.g:35:12: {...}? 'enum' // alt { if ( !((!enableEnum)) ) { - @throw [ANTLRFailedPredicateException exceptionWithRuleName:@"enumAsID" predicate:@"!enableEnum" stream:input]; - } /* element() */ - [self match:input TokenType:7 Follow:FOLLOW_7_in_enumAsID100]; /* element() */ - /* elements */ + @throw [ANTLRFailedPredicateException newException:@"enumAsID" predicate:@"!enableEnum" stream:input]; + } + + [self match:input TokenType:7 Follow:FOLLOW_7_in_enumAsID100]; + } // token+rule list labels @@ -318,15 +340,15 @@ - (void) enumAsID @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end enumAsID */ +/* ObjC end rules */ @end /* end of TParser implementation line 692 */ - - -/* End of code - * ============================================================================= - */ diff --git a/runtime/ObjC/Framework/examples/hoistedPredicates/main.m b/runtime/ObjC/Framework/examples/hoistedPredicates/main.m index f124a5b7..747bdb82 100644 --- a/runtime/ObjC/Framework/examples/hoistedPredicates/main.m +++ b/runtime/ObjC/Framework/examples/hoistedPredicates/main.m @@ -1,5 +1,5 @@ #import -#import +#import #import "TLexer.h" #import "TParser.h" @@ -7,7 +7,7 @@ int main() { NSError *error; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - NSString *string = [NSString stringWithContentsOfFile:@"../../examples/hoistedPredicates/input" encoding:NSASCIIStringEncoding error:&error]; + NSString *string = [NSString stringWithContentsOfFile:@"/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/examples/hoistedPredicates/input" encoding:NSASCIIStringEncoding error:&error]; NSLog(@"input is : %@", string); ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:string]; TLexer *lexer = [TLexer newTLexerWithCharStream:stream]; diff --git a/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.h.old b/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.h.old old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.m b/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.m index 8e1bf20d..bb95f66b 100644 --- a/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.m +++ b/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : TestLexer.g - * - On : 2010-08-24 13:53:39 - * - for the lexer : TestLexerLexer * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 19:16:22 + * - for the lexer : TestLexerLexer + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 TestLexer.g 2010-08-24 13:53:39 +// $ANTLR ${project.version} ${buildNumber} TestLexer.g 2011-05-06 19:16:22 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -47,12 +22,10 @@ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ - /** As per Terence: No returns for lexer rules! */ @implementation TestLexer // line 330 @@ -73,8 +46,8 @@ + (TestLexer *)newTestLexerWithCharStream:(id)anInput - (id) initWithCharStream:(id)anInput { - if ((self = [super initWithCharStream:anInput State:[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:4+1]]) != nil) { - + self = [super initWithCharStream:anInput State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:4+1] retain]]; + if ( self != nil ) { } return self; } @@ -84,15 +57,18 @@ - (void) dealloc [super dealloc]; } -/* Start of actions.lexer.methods */ -/* start methods() */ +/* ObjC Start of actions.lexer.methods */ +/* ObjC end of actions.lexer.methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ /* Start of Rules */ // $ANTLR start "ID" - (void) mID { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = ID; @@ -100,12 +76,14 @@ - (void) mID // TestLexer.g:8:4: ( LETTER ( LETTER | DIGIT )* ) // ruleBlockSingleAlt // TestLexer.g:8:6: LETTER ( LETTER | DIGIT )* // alt { - [self mLETTER]; - /* element() */ + [self mLETTER]; + + + do { NSInteger alt1=2; NSInteger LA1_0 = [input LA:1]; - if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||(LA1_0>='a' && LA1_0<='z')) ) { + if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) { alt1=1; } @@ -116,13 +94,13 @@ - (void) mID { if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))||(([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; + } + + } break; @@ -131,50 +109,63 @@ - (void) mID } } while (YES); loop1: ; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "ID" +/* $ANTLR end "ID" */ // $ANTLR start "DIGIT" - (void) mDIGIT { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // TestLexer.g:11:16: ( '0' .. '9' ) // ruleBlockSingleAlt - // TestLexer.g:11:18: '0' .. '9' // alt + // TestLexer.g: // alt { - [self matchRangeFromChar:'0' to:'9']; /* element() */ - /* elements */ + if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) { + [input consume]; + } else { + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; + [self recover:mse]; + @throw mse; + } + + } + } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "DIGIT" +/* $ANTLR end "DIGIT" */ // $ANTLR start "LETTER" - (void) mLETTER { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // TestLexer.g:15:2: ( 'a' .. 'z' | 'A' .. 'Z' ) // ruleBlockSingleAlt @@ -182,38 +173,38 @@ - (void) mLETTER { if ((([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; + } + + } + } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "LETTER" +/* $ANTLR end "LETTER" */ - (void) mTokens { // TestLexer.g:1:8: ( ID ) // ruleBlockSingleAlt // TestLexer.g:1:10: ID // alt { - [self mID]; - /* element() */ - /* elements */ + [self mID]; + + + } } -@end /* end of TestLexer implementation line 397 */ - -/* End of code - * ============================================================================= - */ +@end /* end of TestLexer implementation line 397 */ \ No newline at end of file diff --git a/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.m.old b/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.m.old old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.tokens b/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.tokens index 2100fc55..000c0408 100644 --- a/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.tokens +++ b/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.tokens @@ -1,3 +1,3 @@ -DIGIT=5 -ID=6 -LETTER=4 +DIGIT=4 +ID=5 +LETTER=6 diff --git a/runtime/ObjC/Framework/examples/lexertest-simple/TestLexerLexer.h b/runtime/ObjC/Framework/examples/lexertest-simple/TestLexerLexer.h index 68396e4f..cdd1cee3 100644 --- a/runtime/ObjC/Framework/examples/lexertest-simple/TestLexerLexer.h +++ b/runtime/ObjC/Framework/examples/lexertest-simple/TestLexerLexer.h @@ -1,10 +1,10 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 TestLexer.g 2010-08-24 13:53:39 +// $ANTLR ${project.version} ${buildNumber} TestLexer.g 2011-05-06 19:16:22 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ @@ -14,19 +14,26 @@ #pragma mark Rule return scopes start #pragma mark Rule return scopes end #pragma mark Tokens -#define DIGIT 5 -#define ID 6 +#ifdef EOF +#undef EOF +#endif #define EOF -1 -#define LETTER 4 +#define DIGIT 4 +#define ID 5 +#define LETTER 6 +/* interface lexer class */ @interface TestLexer : ANTLRLexer { // line 283 -// start of actions.lexer.memVars -// start of action-actionScope-memVars +/* ObjC start of actions.lexer.memVars */ +/* ObjC end of actions.lexer.memVars */ } ++ (void) initialize; + (TestLexer *)newTestLexerWithCharStream:(id)anInput; - -- (void)mID; -- (void)mDIGIT; -- (void)mLETTER; -- (void)mTokens; +/* ObjC start actions.lexer.methodsDecl */ +/* ObjC end actions.lexer.methodsDecl */ +- (void) mID ; +- (void) mDIGIT ; +- (void) mLETTER ; +- (void) mTokens ; @end /* end of TestLexer interface */ + diff --git a/runtime/ObjC/Framework/examples/scopes/SymbolTable.tokens b/runtime/ObjC/Framework/examples/scopes/SymbolTable.tokens index 67409017..75e43e35 100644 --- a/runtime/ObjC/Framework/examples/scopes/SymbolTable.tokens +++ b/runtime/ObjC/Framework/examples/scopes/SymbolTable.tokens @@ -1,19 +1,19 @@ -WS=6 -T__12=12 +T__7=7 +T__8=8 +T__9=9 +T__10=10 T__11=11 -T__14=14 +T__12=12 T__13=13 -T__10=10 -INT=5 +T__14=14 ID=4 -T__9=9 -T__8=8 -T__7=7 -';'=13 -'}'=11 -'='=12 -'int'=14 -'('=8 -'method'=7 -')'=9 -'{'=10 +INT=5 +WS=6 +'('=7 +')'=8 +';'=9 +'='=10 +'int'=11 +'method'=12 +'{'=13 +'}'=14 diff --git a/runtime/ObjC/Framework/examples/scopes/SymbolTableLexer.h b/runtime/ObjC/Framework/examples/scopes/SymbolTableLexer.h index f1460f32..26895218 100644 --- a/runtime/ObjC/Framework/examples/scopes/SymbolTableLexer.h +++ b/runtime/ObjC/Framework/examples/scopes/SymbolTableLexer.h @@ -1,57 +1,55 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SymbolTable.g 2010-08-24 13:53:46 +// $ANTLR ${project.version} ${buildNumber} SymbolTable.g 2011-05-06 15:04:43 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ /* Start cyclicDFAInterface */ -#pragma mark Cyclic DFA interface start DFA4 -@interface DFA4 : ANTLRDFA { -} -+ newDFA4WithRecognizer:(ANTLRBaseRecognizer *)theRecognizer; -- initWithRecognizer:(ANTLRBaseRecognizer *)recognizer; -@end /* end of DFA4 interface */ - -#pragma mark Cyclic DFA interface end DFA4 #pragma mark Rule return scopes start #pragma mark Rule return scopes end #pragma mark Tokens -#define WS 6 -#define T__12 12 +#ifdef EOF +#undef EOF +#endif +#define EOF -1 +#define T__7 7 +#define T__8 8 +#define T__9 9 +#define T__10 10 #define T__11 11 -#define T__14 14 +#define T__12 12 #define T__13 13 -#define T__10 10 -#define INT 5 +#define T__14 14 #define ID 4 -#define EOF -1 -#define T__9 9 -#define T__8 8 -#define T__7 7 +#define INT 5 +#define WS 6 +/* interface lexer class */ @interface SymbolTableLexer : ANTLRLexer { // line 283 -DFA4 *dfa4; -// start of actions.lexer.memVars -// start of action-actionScope-memVars +/* ObjC start of actions.lexer.memVars */ +/* ObjC end of actions.lexer.memVars */ } ++ (void) initialize; + (SymbolTableLexer *)newSymbolTableLexerWithCharStream:(id)anInput; - -- (void)mT__7; -- (void)mT__8; -- (void)mT__9; -- (void)mT__10; -- (void)mT__11; -- (void)mT__12; -- (void)mT__13; -- (void)mT__14; -- (void)mID; -- (void)mINT; -- (void)mWS; -- (void)mTokens; +/* ObjC start actions.lexer.methodsDecl */ +/* ObjC end actions.lexer.methodsDecl */ +- (void) mT__7 ; +- (void) mT__8 ; +- (void) mT__9 ; +- (void) mT__10 ; +- (void) mT__11 ; +- (void) mT__12 ; +- (void) mT__13 ; +- (void) mT__14 ; +- (void) mID ; +- (void) mINT ; +- (void) mWS ; +- (void) mTokens ; @end /* end of SymbolTableLexer interface */ + diff --git a/runtime/ObjC/Framework/examples/scopes/SymbolTableLexer.m b/runtime/ObjC/Framework/examples/scopes/SymbolTableLexer.m index 0d36201b..9daf5476 100644 --- a/runtime/ObjC/Framework/examples/scopes/SymbolTableLexer.m +++ b/runtime/ObjC/Framework/examples/scopes/SymbolTableLexer.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : SymbolTable.g - * - On : 2010-08-24 13:53:46 - * - for the lexer : SymbolTableLexerLexer * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 15:04:43 + * - for the lexer : SymbolTableLexerLexer + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SymbolTable.g 2010-08-24 13:53:46 +// $ANTLR ${project.version} ${buildNumber} SymbolTable.g 2011-05-06 15:04:43 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -47,107 +22,10 @@ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ -#pragma mark Cyclic DFA implementation start DFA4 -@implementation DFA4 -const static NSInteger dfa4_eot[21] = - {-1,9,-1,-1,-1,-1,-1,-1,9,-1,-1,-1,9,9,9,17,9,-1,9,20,-1}; -const static NSInteger dfa4_eof[21] = - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; -const static unichar dfa4_min[21] = - {10,101,0,0,0,0,0,0,110,0,0,0,116,116,104,97,111,0,100,97,0}; -const static unichar dfa4_max[21] = - {125,101,0,0,0,0,0,0,110,0,0,0,116,116,104,122,111,0,100,122,0}; -const static NSInteger dfa4_accept[21] = - {-1,-1,2,3,4,5,6,7,-1,9,10,11,-1,-1,-1,-1,-1,8,-1,-1,1}; -const static NSInteger dfa4_special[21] = - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; -const static NSInteger dfa4_transition[] = {}; -const static NSInteger dfa4_transition0[] = {11, -1, -1, 11, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, -1, -1, - -1, -1, -1, -1, -1, 2, 3, -1, -1, -1, -1, -1, -1, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, -1, 7, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 9, 1, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4, -1, 5}; -const static NSInteger dfa4_transition1[] = {19}; -const static NSInteger dfa4_transition2[] = {16}; -const static NSInteger dfa4_transition3[] = {18}; -const static NSInteger dfa4_transition4[] = {13}; -const static NSInteger dfa4_transition5[] = {15}; -const static NSInteger dfa4_transition6[] = {12}; -const static NSInteger dfa4_transition7[] = {14}; -const static NSInteger dfa4_transition8[] = {9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}; - - -+ () newDFA4WithRecognizer:(ANTLRBaseRecognizer *)aRecognizer -{ - return [[[DFA4 alloc] initWithRecognizer:aRecognizer] retain]; -} - -- (id) initWithRecognizer:(ANTLRBaseRecognizer *) theRecognizer -{ - if ((self = [super initWithRecognizer:theRecognizer]) != nil) { - decisionNumber = 4; - eot = dfa4_eot; - eof = dfa4_eof; - min = dfa4_min; - max = dfa4_max; - accept = dfa4_accept; - special = dfa4_special; - if (!(transition = calloc(21, sizeof(void*)))) { - [self release]; - return nil; - } - len = 21; - transition[0] = dfa4_transition0; - transition[1] = dfa4_transition6; - transition[2] = dfa4_transition; - transition[3] = dfa4_transition; - transition[4] = dfa4_transition; - transition[5] = dfa4_transition; - transition[6] = dfa4_transition; - transition[7] = dfa4_transition; - transition[8] = dfa4_transition4; - transition[9] = dfa4_transition; - transition[10] = dfa4_transition; - transition[11] = dfa4_transition; - transition[12] = dfa4_transition7; - transition[13] = dfa4_transition5; - transition[14] = dfa4_transition2; - transition[15] = dfa4_transition8; - transition[16] = dfa4_transition3; - transition[17] = dfa4_transition; - transition[18] = dfa4_transition1; - transition[19] = dfa4_transition8; - transition[20] = dfa4_transition; - } - return self; -} - -- (void) dealloc -{ - free(transition); - [super dealloc]; -} - -- (NSString *) description -{ - return @"1:1: Tokens : ( T__7 | T__8 | T__9 | T__10 | T__11 | T__12 | T__13 | T__14 | ID | INT | WS );"; -} - - -@end /* end DFA4 implementation */ - -#pragma mark Cyclic DFA implementation end DFA4 - - - /** As per Terence: No returns for lexer rules! */ @implementation SymbolTableLexer // line 330 @@ -168,393 +46,432 @@ + (SymbolTableLexer *)newSymbolTableLexerWithCharStream:(id)anI - (id) initWithCharStream:(id)anInput { - if ((self = [super initWithCharStream:anInput State:[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:12+1]]) != nil) { - - dfa4 = [DFA4 newDFA4WithRecognizer:self]; + self = [super initWithCharStream:anInput State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:12+1] retain]]; + if ( self != nil ) { } return self; } - (void) dealloc { - [dfa4 release]; [super dealloc]; } -/* Start of actions.lexer.methods */ -/* start methods() */ +/* ObjC Start of actions.lexer.methods */ +/* ObjC end of actions.lexer.methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ /* Start of Rules */ // $ANTLR start "T__7" - (void) mT__7 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__7; NSInteger _channel = ANTLRTokenChannelDefault; - // SymbolTable.g:7:6: ( 'method' ) // ruleBlockSingleAlt - // SymbolTable.g:7:8: 'method' // alt + // SymbolTable.g:7:6: ( '(' ) // ruleBlockSingleAlt + // SymbolTable.g:7:8: '(' // alt { - [self matchString:@"method"]; - /* element() */ - /* elements */ + [self matchChar:'(']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "T__7" +/* $ANTLR end "T__7" */ // $ANTLR start "T__8" - (void) mT__8 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__8; NSInteger _channel = ANTLRTokenChannelDefault; - // SymbolTable.g:8:6: ( '(' ) // ruleBlockSingleAlt - // SymbolTable.g:8:8: '(' // alt + // SymbolTable.g:8:6: ( ')' ) // ruleBlockSingleAlt + // SymbolTable.g:8:8: ')' // alt { - [self matchChar:'(']; - /* element() */ - /* elements */ + [self matchChar:')']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "T__8" +/* $ANTLR end "T__8" */ // $ANTLR start "T__9" - (void) mT__9 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__9; NSInteger _channel = ANTLRTokenChannelDefault; - // SymbolTable.g:9:6: ( ')' ) // ruleBlockSingleAlt - // SymbolTable.g:9:8: ')' // alt + // SymbolTable.g:9:6: ( ';' ) // ruleBlockSingleAlt + // SymbolTable.g:9:8: ';' // alt { - [self matchChar:')']; - /* element() */ - /* elements */ + [self matchChar:';']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "T__9" +/* $ANTLR end "T__9" */ // $ANTLR start "T__10" - (void) mT__10 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__10; NSInteger _channel = ANTLRTokenChannelDefault; - // SymbolTable.g:10:7: ( '{' ) // ruleBlockSingleAlt - // SymbolTable.g:10:9: '{' // alt + // SymbolTable.g:10:7: ( '=' ) // ruleBlockSingleAlt + // SymbolTable.g:10:9: '=' // alt { - [self matchChar:'{']; - /* element() */ - /* elements */ + [self matchChar:'=']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "T__10" +/* $ANTLR end "T__10" */ // $ANTLR start "T__11" - (void) mT__11 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__11; NSInteger _channel = ANTLRTokenChannelDefault; - // SymbolTable.g:11:7: ( '}' ) // ruleBlockSingleAlt - // SymbolTable.g:11:9: '}' // alt + // SymbolTable.g:11:7: ( 'int' ) // ruleBlockSingleAlt + // SymbolTable.g:11:9: 'int' // alt { - [self matchChar:'}']; - /* element() */ - /* elements */ + [self matchString:@"int"]; + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "T__11" +/* $ANTLR end "T__11" */ // $ANTLR start "T__12" - (void) mT__12 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__12; NSInteger _channel = ANTLRTokenChannelDefault; - // SymbolTable.g:12:7: ( '=' ) // ruleBlockSingleAlt - // SymbolTable.g:12:9: '=' // alt + // SymbolTable.g:12:7: ( 'method' ) // ruleBlockSingleAlt + // SymbolTable.g:12:9: 'method' // alt { - [self matchChar:'=']; - /* element() */ - /* elements */ + [self matchString:@"method"]; + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "T__12" +/* $ANTLR end "T__12" */ // $ANTLR start "T__13" - (void) mT__13 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__13; NSInteger _channel = ANTLRTokenChannelDefault; - // SymbolTable.g:13:7: ( ';' ) // ruleBlockSingleAlt - // SymbolTable.g:13:9: ';' // alt + // SymbolTable.g:13:7: ( '{' ) // ruleBlockSingleAlt + // SymbolTable.g:13:9: '{' // alt { - [self matchChar:';']; - /* element() */ - /* elements */ + [self matchChar:'{']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "T__13" +/* $ANTLR end "T__13" */ // $ANTLR start "T__14" - (void) mT__14 { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = T__14; NSInteger _channel = ANTLRTokenChannelDefault; - // SymbolTable.g:14:7: ( 'int' ) // ruleBlockSingleAlt - // SymbolTable.g:14:9: 'int' // alt + // SymbolTable.g:14:7: ( '}' ) // ruleBlockSingleAlt + // SymbolTable.g:14:9: '}' // alt { - [self matchString:@"int"]; - /* element() */ - /* elements */ + [self matchChar:'}']; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "T__14" +/* $ANTLR end "T__14" */ // $ANTLR start "ID" - (void) mID { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = ID; NSInteger _channel = ANTLRTokenChannelDefault; - // SymbolTable.g:66:5: ( ( 'a' .. 'z' )+ ) // ruleBlockSingleAlt - // SymbolTable.g:66:9: ( 'a' .. 'z' )+ // alt + // SymbolTable.g:68:5: ( ( 'a' .. 'z' )+ ) // ruleBlockSingleAlt + // SymbolTable.g:68:9: ( 'a' .. 'z' )+ // alt { - // SymbolTable.g:66:9: ( 'a' .. 'z' )+ // positiveClosureBlock - NSInteger cnt1=0; + // SymbolTable.g:68:9: ( 'a' .. 'z' )+ // positiveClosureBlock + NSInteger cnt1 = 0; do { - NSInteger alt1=2; + NSInteger alt1 = 2; NSInteger LA1_0 = [input LA:1]; - if ( ((LA1_0>='a' && LA1_0<='z')) ) { + if ( ((LA1_0 >= 'a' && LA1_0 <= 'z')) ) { alt1=1; } switch (alt1) { case 1 : ; - // SymbolTable.g:66:10: 'a' .. 'z' // alt + // SymbolTable.g: // alt { - [self matchRangeFromChar:'a' to:'z']; /* element() */ - /* elements */ + if ((([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { + [input consume]; + } else { + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; + [self recover:mse]; + @throw mse; + } + + } break; default : if ( cnt1 >= 1 ) goto loop1; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:1]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:1]; @throw eee; } cnt1++; } while (YES); loop1: ; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "ID" +/* $ANTLR end "ID" */ // $ANTLR start "INT" - (void) mINT { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = INT; NSInteger _channel = ANTLRTokenChannelDefault; - // SymbolTable.g:69:5: ( ( '0' .. '9' )+ ) // ruleBlockSingleAlt - // SymbolTable.g:69:9: ( '0' .. '9' )+ // alt + // SymbolTable.g:71:5: ( ( '0' .. '9' )+ ) // ruleBlockSingleAlt + // SymbolTable.g:71:9: ( '0' .. '9' )+ // alt { - // SymbolTable.g:69:9: ( '0' .. '9' )+ // positiveClosureBlock - NSInteger cnt2=0; + // SymbolTable.g:71:9: ( '0' .. '9' )+ // positiveClosureBlock + NSInteger cnt2 = 0; do { - NSInteger alt2=2; + NSInteger alt2 = 2; NSInteger LA2_0 = [input LA:1]; - if ( ((LA2_0>='0' && LA2_0<='9')) ) { + if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) { alt2=1; } switch (alt2) { case 1 : ; - // SymbolTable.g:69:10: '0' .. '9' // alt + // SymbolTable.g: // alt { - [self matchRangeFromChar:'0' to:'9']; /* element() */ - /* elements */ + if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) { + [input consume]; + } else { + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; + [self recover:mse]; + @throw mse; + } + + } break; default : if ( cnt2 >= 1 ) goto loop2; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:2]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:2]; @throw eee; } cnt2++; } while (YES); loop2: ; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "INT" +/* $ANTLR end "INT" */ // $ANTLR start "WS" - (void) mWS { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = WS; NSInteger _channel = ANTLRTokenChannelDefault; - // SymbolTable.g:72:5: ( ( ' ' | '\\n' | '\\r' )+ ) // ruleBlockSingleAlt - // SymbolTable.g:72:9: ( ' ' | '\\n' | '\\r' )+ // alt + // SymbolTable.g:74:5: ( ( ' ' | '\\n' | '\\r' )+ ) // ruleBlockSingleAlt + // SymbolTable.g:74:9: ( ' ' | '\\n' | '\\r' )+ // alt { - // SymbolTable.g:72:9: ( ' ' | '\\n' | '\\r' )+ // positiveClosureBlock - NSInteger cnt3=0; + // SymbolTable.g:74:9: ( ' ' | '\\n' | '\\r' )+ // positiveClosureBlock + NSInteger cnt3 = 0; do { - NSInteger alt3=2; + NSInteger alt3 = 2; NSInteger LA3_0 = [input LA:1]; if ( (LA3_0=='\n'||LA3_0=='\r'||LA3_0==' ') ) { alt3=1; @@ -567,135 +484,311 @@ - (void) mWS { if ([input LA:1] == '\n'||[input LA:1] == '\r'||[input LA:1] == ' ') { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; + } + + } break; default : if ( cnt3 >= 1 ) goto loop3; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:3]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:3]; @throw eee; } cnt3++; } while (YES); loop3: ; - /* element() */ - _channel=99; /* element() */ - /* elements */ + + + _channel=HIDDEN; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "WS" +/* $ANTLR end "WS" */ - (void) mTokens { // SymbolTable.g:1:8: ( T__7 | T__8 | T__9 | T__10 | T__11 | T__12 | T__13 | T__14 | ID | INT | WS ) //ruleblock NSInteger alt4=11; - alt4 = [dfa4 predict:input]; + unichar charLA4 = [input LA:1]; + switch (charLA4) { + case '(': ; + { + alt4=1; + } + break; + case ')': ; + { + alt4=2; + } + break; + case ';': ; + { + alt4=3; + } + break; + case '=': ; + { + alt4=4; + } + break; + case 'i': ; + { + NSInteger LA4_5 = [input LA:2]; + + if ( (LA4_5=='n') ) { + NSInteger LA4_12 = [input LA:3]; + + if ( (LA4_12=='t') ) { + NSInteger LA4_14 = [input LA:4]; + + if ( ((LA4_14 >= 'a' && LA4_14 <= 'z')) ) { + alt4=9; + } + else { + alt4 = 5; + } + } + else { + alt4 = 9; + } + } + else { + alt4 = 9; + } + } + break; + case 'm': ; + { + NSInteger LA4_6 = [input LA:2]; + + if ( (LA4_6=='e') ) { + NSInteger LA4_13 = [input LA:3]; + + if ( (LA4_13=='t') ) { + NSInteger LA4_15 = [input LA:4]; + + if ( (LA4_15=='h') ) { + NSInteger LA4_17 = [input LA:5]; + + if ( (LA4_17=='o') ) { + NSInteger LA4_18 = [input LA:6]; + + if ( (LA4_18=='d') ) { + NSInteger LA4_19 = [input LA:7]; + + if ( ((LA4_19 >= 'a' && LA4_19 <= 'z')) ) { + alt4=9; + } + else { + alt4 = 6; + } + } + else { + alt4 = 9; + } + } + else { + alt4 = 9; + } + } + else { + alt4 = 9; + } + } + else { + alt4 = 9; + } + } + else { + alt4 = 9; + } + } + break; + case '{': ; + { + alt4=7; + } + break; + case '}': ; + { + alt4=8; + } + break; + case 'a': ; + case 'b': ; + case 'c': ; + case 'd': ; + case 'e': ; + case 'f': ; + case 'g': ; + case 'h': ; + case 'j': ; + case 'k': ; + case 'l': ; + case 'n': ; + case 'o': ; + case 'p': ; + case 'q': ; + case 'r': ; + case 's': ; + case 't': ; + case 'u': ; + case 'v': ; + case 'w': ; + case 'x': ; + case 'y': ; + case 'z': ; + { + alt4=9; + } + break; + case '0': ; + case '1': ; + case '2': ; + case '3': ; + case '4': ; + case '5': ; + case '6': ; + case '7': ; + case '8': ; + case '9': ; + { + alt4=10; + } + break; + case '\n': ; + case '\r': ; + case ' ': ; + { + alt4=11; + } + break; + + default: ; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:4 state:0 stream:input]; + nvae.c = charLA4; + @throw nvae; + + } + switch (alt4) { case 1 : ; // SymbolTable.g:1:10: T__7 // alt { - [self mT__7]; - /* element() */ - /* elements */ + [self mT__7]; + + + } break; case 2 : ; // SymbolTable.g:1:15: T__8 // alt { - [self mT__8]; - /* element() */ - /* elements */ + [self mT__8]; + + + } break; case 3 : ; // SymbolTable.g:1:20: T__9 // alt { - [self mT__9]; - /* element() */ - /* elements */ + [self mT__9]; + + + } break; case 4 : ; // SymbolTable.g:1:25: T__10 // alt { - [self mT__10]; - /* element() */ - /* elements */ + [self mT__10]; + + + } break; case 5 : ; // SymbolTable.g:1:31: T__11 // alt { - [self mT__11]; - /* element() */ - /* elements */ + [self mT__11]; + + + } break; case 6 : ; // SymbolTable.g:1:37: T__12 // alt { - [self mT__12]; - /* element() */ - /* elements */ + [self mT__12]; + + + } break; case 7 : ; // SymbolTable.g:1:43: T__13 // alt { - [self mT__13]; - /* element() */ - /* elements */ + [self mT__13]; + + + } break; case 8 : ; // SymbolTable.g:1:49: T__14 // alt { - [self mT__14]; - /* element() */ - /* elements */ + [self mT__14]; + + + } break; case 9 : ; // SymbolTable.g:1:55: ID // alt { - [self mID]; - /* element() */ - /* elements */ + [self mID]; + + + } break; case 10 : ; // SymbolTable.g:1:58: INT // alt { - [self mINT]; - /* element() */ - /* elements */ + [self mINT]; + + + } break; case 11 : ; // SymbolTable.g:1:62: WS // alt { - [self mWS]; - /* element() */ - /* elements */ + [self mWS]; + + + } break; @@ -703,8 +796,4 @@ - (void) mTokens } -@end /* end of SymbolTableLexer implementation line 397 */ - -/* End of code - * ============================================================================= - */ +@end /* end of SymbolTableLexer implementation line 397 */ \ No newline at end of file diff --git a/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.h b/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.h index 75139007..e67094bc 100644 --- a/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.h +++ b/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.h @@ -1,70 +1,105 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SymbolTable.g 2010-08-24 13:53:46 +// $ANTLR ${project.version} ${buildNumber} SymbolTable.g 2011-05-06 15:04:42 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ /* parserHeaderFile */ +#ifndef ANTLR3TokenTypeAlreadyDefined +#define ANTLR3TokenTypeAlreadyDefined +typedef enum { + ANTLR_EOF = -1, + INVALID, + EOR, + DOWN, + UP, + MIN +} ANTLR3TokenType; +#endif + #pragma mark Tokens -#define WS 6 -#define T__12 12 +#ifdef EOF +#undef EOF +#endif +#define EOF -1 +#define T__7 7 +#define T__8 8 +#define T__9 9 +#define T__10 10 #define T__11 11 -#define T__14 14 +#define T__12 12 #define T__13 13 -#define T__10 10 -#define INT 5 +#define T__14 14 #define ID 4 -#define EOF -1 -#define T__9 9 -#define T__8 8 -#define T__7 7 +#define INT 5 +#define WS 6 #pragma mark Dynamic Global Scopes -@interface Symbols_Scope : ANTLRSymbolsScope { /* globalAttributeScopeDecl */ -ANTLRHashMap * names; +/* globalAttributeScopeInterface */ +@interface Symbols_Scope : ANTLRSymbolsScope { +ANTLRPtrBuffer * names; + } -/* start of properties */ +/* start of globalAttributeScopeInterface properties */ + +@property (assign, getter=getnames, setter=setnames:) ANTLRPtrBuffer * names; -@property (retain, getter=getnames, setter=setnames:) ANTLRHashMap * names; +/* end globalAttributeScopeInterface properties */ -/* end properties */ + (Symbols_Scope *)newSymbols_Scope; -/* start of iterated get and set functions */ +- (id) init; +/* start of globalAttributeScopeInterface methodsDecl */ -- (ANTLRHashMap *)getnames; -- (void)setnames:(ANTLRHashMap *)aVal; +- (ANTLRPtrBuffer *)getnames; +- (void)setnames:(ANTLRPtrBuffer *)aVal; -/* End of iterated get and set functions */ +/* End of globalAttributeScopeInterface methodsDecl */ @end /* end of Symbols_Scope interface */ #pragma mark Dynamic Rule Scopes #pragma mark Rule Return Scopes start -#pragma mark Rule return scopes end + +/* Interface grammar class */ @interface SymbolTableParser : ANTLRParser { /* line 572 */ -// start of globalAttributeScopeMemVar +/* ObjC start of ruleAttributeScopeMemVar */ + + +/* ObjC end of ruleAttributeScopeMemVar */ +/* ObjC start of globalAttributeScopeMemVar */ /* globalAttributeScopeMemVar */ -ANTLRSymbolStack *gStack; +//ANTLRSymbolStack *gStack; +ANTLRSymbolStack *Symbols_stack; Symbols_Scope *Symbols_scope; -// start of action-actionScope-memVars +/* ObjC end of globalAttributeScopeMemVar */ +/* ObjC start of actions.(actionScope).memVars */ int level; -// start of ruleAttributeScopeMemVar - - -// Start of memVars +/* ObjC end of actions.(actionScope).memVars */ +/* ObjC start of memVars */ +/* ObjC end of memVars */ } -// start of action-actionScope-methodsDecl +/* ObjC start of actions.(actionScope).properties */ +/* ObjC end of actions.(actionScope).properties */ +/* ObjC start of properties */ +/* ObjC end of properties */ + ++ (void) initialize; ++ (id) newSymbolTableParser:(id)aStream; +/* ObjC start of actions.(actionScope).methodsDecl */ +/* ObjC end of actions.(actionScope).methodsDecl */ +/* ObjC start of methodsDecl */ +/* ObjC end of methodsDecl */ - (void)prog; - (void)globals; @@ -75,3 +110,4 @@ int level; @end /* end of SymbolTableParser interface */ + diff --git a/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.m b/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.m index 41af0057..cc2b37ee 100644 --- a/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.m +++ b/runtime/ObjC/Framework/examples/scopes/SymbolTableParser.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : SymbolTable.g - * - On : 2010-08-24 13:53:46 - * - for the parser : SymbolTableParserParser * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 15:04:42 + * - for the parser : SymbolTableParserParser + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SymbolTable.g 2010-08-24 13:53:46 +// $ANTLR ${project.version} ${buildNumber} SymbolTable.g 2011-05-06 15:04:42 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -47,72 +22,75 @@ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ - - #pragma mark Bitsets -static ANTLRBitSet *FOLLOW_globals_in_prog44; -static const unsigned long long FOLLOW_globals_in_prog44_data[] = { 0x0000000000000082LL}; -static ANTLRBitSet *FOLLOW_method_in_prog47; -static const unsigned long long FOLLOW_method_in_prog47_data[] = { 0x0000000000000082LL}; -static ANTLRBitSet *FOLLOW_decl_in_globals79; -static const unsigned long long FOLLOW_decl_in_globals79_data[] = { 0x0000000000004002LL}; -static ANTLRBitSet *FOLLOW_7_in_method110; -static const unsigned long long FOLLOW_7_in_method110_data[] = { 0x0000000000000010LL}; -static ANTLRBitSet *FOLLOW_ID_in_method112; -static const unsigned long long FOLLOW_ID_in_method112_data[] = { 0x0000000000000100LL}; -static ANTLRBitSet *FOLLOW_8_in_method114; -static const unsigned long long FOLLOW_8_in_method114_data[] = { 0x0000000000000200LL}; -static ANTLRBitSet *FOLLOW_9_in_method116; -static const unsigned long long FOLLOW_9_in_method116_data[] = { 0x0000000000000400LL}; -static ANTLRBitSet *FOLLOW_block_in_method118; -static const unsigned long long FOLLOW_block_in_method118_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_10_in_block147; -static const unsigned long long FOLLOW_10_in_block147_data[] = { 0x0000000000004C10LL}; -static ANTLRBitSet *FOLLOW_decl_in_block150; -static const unsigned long long FOLLOW_decl_in_block150_data[] = { 0x0000000000004C10LL}; -static ANTLRBitSet *FOLLOW_stat_in_block155; -static const unsigned long long FOLLOW_stat_in_block155_data[] = { 0x0000000000000C10LL}; -static ANTLRBitSet *FOLLOW_11_in_block159; -static const unsigned long long FOLLOW_11_in_block159_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_ID_in_stat183; -static const unsigned long long FOLLOW_ID_in_stat183_data[] = { 0x0000000000001000LL}; -static ANTLRBitSet *FOLLOW_12_in_stat185; -static const unsigned long long FOLLOW_12_in_stat185_data[] = { 0x0000000000000020LL}; -static ANTLRBitSet *FOLLOW_INT_in_stat187; -static const unsigned long long FOLLOW_INT_in_stat187_data[] = { 0x0000000000002000LL}; -static ANTLRBitSet *FOLLOW_13_in_stat189; -static const unsigned long long FOLLOW_13_in_stat189_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_block_in_stat199; -static const unsigned long long FOLLOW_block_in_stat199_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_14_in_decl213; -static const unsigned long long FOLLOW_14_in_decl213_data[] = { 0x0000000000000010LL}; -static ANTLRBitSet *FOLLOW_ID_in_decl215; -static const unsigned long long FOLLOW_ID_in_decl215_data[] = { 0x0000000000002000LL}; -static ANTLRBitSet *FOLLOW_13_in_decl217; -static const unsigned long long FOLLOW_13_in_decl217_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_globals_in_prog50; +static const unsigned long long FOLLOW_globals_in_prog50_data[] = { 0x0000000000001002LL}; +static ANTLRBitSet *FOLLOW_method_in_prog53; +static const unsigned long long FOLLOW_method_in_prog53_data[] = { 0x0000000000001002LL}; +static ANTLRBitSet *FOLLOW_decl_in_globals85; +static const unsigned long long FOLLOW_decl_in_globals85_data[] = { 0x0000000000000802LL}; +static ANTLRBitSet *FOLLOW_12_in_method116; +static const unsigned long long FOLLOW_12_in_method116_data[] = { 0x0000000000000010LL}; +static ANTLRBitSet *FOLLOW_ID_in_method118; +static const unsigned long long FOLLOW_ID_in_method118_data[] = { 0x0000000000000080LL}; +static ANTLRBitSet *FOLLOW_7_in_method120; +static const unsigned long long FOLLOW_7_in_method120_data[] = { 0x0000000000000100LL}; +static ANTLRBitSet *FOLLOW_8_in_method122; +static const unsigned long long FOLLOW_8_in_method122_data[] = { 0x0000000000002000LL}; +static ANTLRBitSet *FOLLOW_block_in_method124; +static const unsigned long long FOLLOW_block_in_method124_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_13_in_block153; +static const unsigned long long FOLLOW_13_in_block153_data[] = { 0x0000000000006810LL}; +static ANTLRBitSet *FOLLOW_decl_in_block156; +static const unsigned long long FOLLOW_decl_in_block156_data[] = { 0x0000000000006810LL}; +static ANTLRBitSet *FOLLOW_stat_in_block161; +static const unsigned long long FOLLOW_stat_in_block161_data[] = { 0x0000000000006010LL}; +static ANTLRBitSet *FOLLOW_14_in_block165; +static const unsigned long long FOLLOW_14_in_block165_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_ID_in_stat189; +static const unsigned long long FOLLOW_ID_in_stat189_data[] = { 0x0000000000000400LL}; +static ANTLRBitSet *FOLLOW_10_in_stat191; +static const unsigned long long FOLLOW_10_in_stat191_data[] = { 0x0000000000000020LL}; +static ANTLRBitSet *FOLLOW_INT_in_stat193; +static const unsigned long long FOLLOW_INT_in_stat193_data[] = { 0x0000000000000200LL}; +static ANTLRBitSet *FOLLOW_9_in_stat195; +static const unsigned long long FOLLOW_9_in_stat195_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_block_in_stat205; +static const unsigned long long FOLLOW_block_in_stat205_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_11_in_decl219; +static const unsigned long long FOLLOW_11_in_decl219_data[] = { 0x0000000000000010LL}; +static ANTLRBitSet *FOLLOW_ID_in_decl221; +static const unsigned long long FOLLOW_ID_in_decl221_data[] = { 0x0000000000000200LL}; +static ANTLRBitSet *FOLLOW_9_in_decl223; +static const unsigned long long FOLLOW_9_in_decl223_data[] = { 0x0000000000000002LL}; #pragma mark Dynamic Global Scopes -@implementation Symbols_Scope /* globalAttributeScopeImpl */ +@implementation Symbols_Scope /* globalAttributeScopeImplementation */ /* start of synthesize -- OBJC-Line 1750 */ @synthesize names; + + (Symbols_Scope *)newSymbols_Scope { return [[[Symbols_Scope alloc] init] retain]; } -/* start of iterate get and set functions */ -- (ANTLRHashMap *)getnames { return( names ); } +- (id) init +{ + self = [super init]; + return self; +} -- (void)setnames:(ANTLRHashMap *)aVal { names = aVal; } +/* start of iterate get and set functions */ +- (ANTLRPtrBuffer *)getnames { return( names ); } +- (void)setnames:(ANTLRPtrBuffer *)aVal { names = aVal; } /* End of iterate get and set functions */ @@ -121,64 +99,73 @@ - (void)setnames:(ANTLRHashMap *)aVal { names = aVal; } #pragma mark Dynamic Rule Scopes -#pragma mark Rule return scopes start -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ +#pragma mark Rule Return Scopes start +//#pragma mark Rule return scopes start +// -/* returnScope */ +#pragma mark Rule return scopes start +@implementation SymbolTableParser // line 637 +/* ObjC start of ruleAttributeScope */ +#pragma mark Dynamic Rule Scopes +/* ObjC end of ruleAttributeScope */ +#pragma mark global Attribute Scopes +/* ObjC start globalAttributeScope */ +static _stack; -@implementation SymbolTableParser // line 637 +/* ObjC end globalAttributeScope */ +/* ObjC start actions.(actionScope).synthesize */ +/* ObjC end actions.(actionScope).synthesize */ +/* ObjC start synthesize() */ +/* ObjC end synthesize() */ + (void) initialize { #pragma mark Bitsets - FOLLOW_globals_in_prog44 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_globals_in_prog44_data Count:(NSUInteger)1] retain]; - FOLLOW_method_in_prog47 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_method_in_prog47_data Count:(NSUInteger)1] retain]; - FOLLOW_decl_in_globals79 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_decl_in_globals79_data Count:(NSUInteger)1] retain]; - FOLLOW_7_in_method110 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_method110_data Count:(NSUInteger)1] retain]; - FOLLOW_ID_in_method112 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_method112_data Count:(NSUInteger)1] retain]; - FOLLOW_8_in_method114 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_8_in_method114_data Count:(NSUInteger)1] retain]; - FOLLOW_9_in_method116 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_9_in_method116_data Count:(NSUInteger)1] retain]; - FOLLOW_block_in_method118 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_method118_data Count:(NSUInteger)1] retain]; - FOLLOW_10_in_block147 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_10_in_block147_data Count:(NSUInteger)1] retain]; - FOLLOW_decl_in_block150 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_decl_in_block150_data Count:(NSUInteger)1] retain]; - FOLLOW_stat_in_block155 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_stat_in_block155_data Count:(NSUInteger)1] retain]; - FOLLOW_11_in_block159 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_block159_data Count:(NSUInteger)1] retain]; - FOLLOW_ID_in_stat183 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_stat183_data Count:(NSUInteger)1] retain]; - FOLLOW_12_in_stat185 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_12_in_stat185_data Count:(NSUInteger)1] retain]; - FOLLOW_INT_in_stat187 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_INT_in_stat187_data Count:(NSUInteger)1] retain]; - FOLLOW_13_in_stat189 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_13_in_stat189_data Count:(NSUInteger)1] retain]; - FOLLOW_block_in_stat199 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_stat199_data Count:(NSUInteger)1] retain]; - FOLLOW_14_in_decl213 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_14_in_decl213_data Count:(NSUInteger)1] retain]; - FOLLOW_ID_in_decl215 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_decl215_data Count:(NSUInteger)1] retain]; - FOLLOW_13_in_decl217 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_13_in_decl217_data Count:(NSUInteger)1] retain]; - - [ANTLRBaseRecognizer setTokenNames:[[[NSArray alloc] initWithObjects:@"", @"", @"", @"", - @"ID", @"INT", @"WS", @"'method'", @"'('", @"')'", @"'{'", @"'}'", @"'='", - @"';'", @"'int'", nil] retain]]; + FOLLOW_globals_in_prog50 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_globals_in_prog50_data Count:(NSUInteger)1] retain]; + FOLLOW_method_in_prog53 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_method_in_prog53_data Count:(NSUInteger)1] retain]; + FOLLOW_decl_in_globals85 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_decl_in_globals85_data Count:(NSUInteger)1] retain]; + FOLLOW_12_in_method116 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_12_in_method116_data Count:(NSUInteger)1] retain]; + FOLLOW_ID_in_method118 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_method118_data Count:(NSUInteger)1] retain]; + FOLLOW_7_in_method120 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_method120_data Count:(NSUInteger)1] retain]; + FOLLOW_8_in_method122 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_8_in_method122_data Count:(NSUInteger)1] retain]; + FOLLOW_block_in_method124 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_method124_data Count:(NSUInteger)1] retain]; + FOLLOW_13_in_block153 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_13_in_block153_data Count:(NSUInteger)1] retain]; + FOLLOW_decl_in_block156 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_decl_in_block156_data Count:(NSUInteger)1] retain]; + FOLLOW_stat_in_block161 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_stat_in_block161_data Count:(NSUInteger)1] retain]; + FOLLOW_14_in_block165 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_14_in_block165_data Count:(NSUInteger)1] retain]; + FOLLOW_ID_in_stat189 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_stat189_data Count:(NSUInteger)1] retain]; + FOLLOW_10_in_stat191 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_10_in_stat191_data Count:(NSUInteger)1] retain]; + FOLLOW_INT_in_stat193 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_INT_in_stat193_data Count:(NSUInteger)1] retain]; + FOLLOW_9_in_stat195 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_9_in_stat195_data Count:(NSUInteger)1] retain]; + FOLLOW_block_in_stat205 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_stat205_data Count:(NSUInteger)1] retain]; + FOLLOW_11_in_decl219 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_decl219_data Count:(NSUInteger)1] retain]; + FOLLOW_ID_in_decl221 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_decl221_data Count:(NSUInteger)1] retain]; + FOLLOW_9_in_decl223 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_9_in_decl223_data Count:(NSUInteger)1] retain]; + + [ANTLRBaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"", @"", @"", @"", + @"ID", @"INT", @"WS", @"'('", @"')'", @"';'", @"'='", @"'int'", @"'method'", + @"'{'", @"'}'", nil] retain]]; + [ANTLRBaseRecognizer setGrammarFileName:@"SymbolTable.g"]; } + (SymbolTableParser *)newSymbolTableParser:(id)aStream { return [[SymbolTableParser alloc] initWithTokenStream:aStream]; + } - (id) initWithTokenStream:(id)aStream { - if ((self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:6+1] retain]]) != nil) { - + self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:6+1] retain]]; + if ( self != nil ) { + /* globalAttributeScopeInit */ + Symbols_scope = [Symbols_Scope newSymbols_Scope]; + Symbols_stack = [ANTLRSymbolStack newANTLRSymbolStackWithLen:30]; /* start of actions-actionScope-init */ level = 0; @@ -190,47 +177,58 @@ - (id) initWithTokenStream:(id)aStream - (void) dealloc { - [Symbols_scope release]; + [Symbols_stack release]; [super dealloc]; } -// start actions.actionScope.methods -// start methods() -// start rules + +/* ObjC start members */ +/* ObjC end members */ +/* ObjC start actions.(actionScope).methods */ +/* ObjC end actions.(actionScope).methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ +/* ObjC start rules */ /* * $ANTLR start prog * SymbolTable.g:25:1: prog : globals ( method )* ; */ - (void) prog { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { - // SymbolTable.g:25:5: ( globals ( method )* ) // ruleBlockSingleAlt - // SymbolTable.g:25:9: globals ( method )* // alt + // SymbolTable.g:27:5: ( globals ( method )* ) // ruleBlockSingleAlt + // SymbolTable.g:27:9: globals ( method )* // alt { - [self pushFollow:FOLLOW_globals_in_prog44]; + /* ruleRef */ + [self pushFollow:FOLLOW_globals_in_prog50]; [self globals]; + [self popFollow]; - /* element() */ + + do { NSInteger alt1=2; NSInteger LA1_0 = [input LA:1]; - if ( (LA1_0==7) ) { + if ( (LA1_0==12) ) { alt1=1; } switch (alt1) { case 1 : ; - // SymbolTable.g:25:18: method // alt + // SymbolTable.g:27:18: method // alt { - [self pushFollow:FOLLOW_method_in_prog47]; + /* ruleRef */ + [self pushFollow:FOLLOW_method_in_prog53]; [self method]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -239,8 +237,8 @@ - (void) prog } } while (YES); loop1: ; - /* element() */ - /* elements */ + + } // token+rule list labels @@ -249,49 +247,54 @@ - (void) prog @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end prog */ + /* * $ANTLR start globals - * SymbolTable.g:28:1: globals : ( decl )* ; + * SymbolTable.g:30:1: globals : ( decl )* ; */ - (void) globals { - /* ruleScopeSetUp */ - gStack = [ANTLRSymbolStack newANTLRSymbolStackWithLen:30]; - Symbols_scope = [[Symbols_Scope newSymbols_Scope] retain]; - [gStack push:Symbols_scope]; + /* my ruleScopeSetUp */ + /* Terence's stuff */ + [Symbols_stack push:[[Symbols_Scope newSymbols_Scope] retain]]; level++; - /* scopeSetAttributeRef */ - ((Symbols_Scope *)[gStack peek]).names = [ANTLRHashMap newANTLRHashMapWithLen:101]; + /* scopeSetAttributeRef */((Symbols_Scope *)[Symbols_stack peek]).names = [ANTLRPtrBuffer newANTLRPtrBufferWithLen:10]; @try { - // SymbolTable.g:34:5: ( ( decl )* ) // ruleBlockSingleAlt - // SymbolTable.g:34:9: ( decl )* // alt + // SymbolTable.g:36:5: ( ( decl )* ) // ruleBlockSingleAlt + // SymbolTable.g:36:9: ( decl )* // alt { do { NSInteger alt2=2; NSInteger LA2_0 = [input LA:1]; - if ( (LA2_0==14) ) { + if ( (LA2_0==11) ) { alt2=1; } switch (alt2) { case 1 : ; - // SymbolTable.g:34:10: decl // alt + // SymbolTable.g:36:10: decl // alt { - [self pushFollow:FOLLOW_decl_in_globals79]; + /* ruleRef */ + [self pushFollow:FOLLOW_decl_in_globals85]; [self decl]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -300,13 +303,14 @@ - (void) globals } } while (YES); loop2: ; - /* element() */ - NSLog(@"globals: %@", /* scopeAttributeRef */ - ((Symbols_Scope *)[gStack peek]).names); - level--; - /* element() */ - /* elements */ + + + NSLog( @"globals: %@", [((Symbols_Scope *)[Symbols_stack peek]).names toString] ); + level--; + + + } // token+rule list labels @@ -315,35 +319,46 @@ - (void) globals @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { - [gStack pop]; + } + + @finally { + /* Terence's stuff */ + [Symbols_stack pop]; } return ; } /* $ANTLR end globals */ + /* * $ANTLR start method - * SymbolTable.g:41:1: method : 'method' ID '(' ')' block ; + * SymbolTable.g:43:1: method : 'method' ID '(' ')' block ; */ - (void) method { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { - // SymbolTable.g:42:5: ( 'method' ID '(' ')' block ) // ruleBlockSingleAlt - // SymbolTable.g:42:9: 'method' ID '(' ')' block // alt + // SymbolTable.g:44:5: ( 'method' ID '(' ')' block ) // ruleBlockSingleAlt + // SymbolTable.g:44:9: 'method' ID '(' ')' block // alt { - [self match:input TokenType:7 Follow:FOLLOW_7_in_method110]; /* element() */ - [self match:input TokenType:ID Follow:FOLLOW_ID_in_method112]; /* element() */ - [self match:input TokenType:8 Follow:FOLLOW_8_in_method114]; /* element() */ - [self match:input TokenType:9 Follow:FOLLOW_9_in_method116]; /* element() */ - [self pushFollow:FOLLOW_block_in_method118]; + [self match:input TokenType:12 Follow:FOLLOW_12_in_method116]; + + [self match:input TokenType:ID Follow:FOLLOW_ID_in_method118]; + + [self match:input TokenType:7 Follow:FOLLOW_7_in_method120]; + + [self match:input TokenType:8 Follow:FOLLOW_8_in_method122]; + + /* ruleRef */ + [self pushFollow:FOLLOW_block_in_method124]; [self block]; + [self popFollow]; - /* element() */ - /* elements */ + + } // token+rule list labels @@ -352,50 +367,56 @@ - (void) method @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end method */ + /* * $ANTLR start block - * SymbolTable.g:45:1: block : '{' ( decl )* ( stat )* '}' ; + * SymbolTable.g:47:1: block : '{' ( decl )* ( stat )* '}' ; */ - (void) block { - /* ruleScopeSetUp */ - gStack = [ANTLRSymbolStack newANTLRSymbolStackWithLen:30]; - Symbols_scope = [[Symbols_Scope newSymbols_Scope] retain]; - [gStack push:Symbols_scope]; + /* my ruleScopeSetUp */ + /* Terence's stuff */ + [Symbols_stack push:[[Symbols_Scope newSymbols_Scope] retain]]; level++; - /* scopeSetAttributeRef */ - ((Symbols_Scope *)[gStack peek]).names = [ANTLRHashMap newANTLRHashMapWithLen:101]; + /* scopeSetAttributeRef */((Symbols_Scope *)[Symbols_stack peek]).names = [ANTLRPtrBuffer newANTLRPtrBufferWithLen:10]; @try { - // SymbolTable.g:51:5: ( '{' ( decl )* ( stat )* '}' ) // ruleBlockSingleAlt - // SymbolTable.g:51:9: '{' ( decl )* ( stat )* '}' // alt + // SymbolTable.g:53:5: ( '{' ( decl )* ( stat )* '}' ) // ruleBlockSingleAlt + // SymbolTable.g:53:9: '{' ( decl )* ( stat )* '}' // alt { - [self match:input TokenType:10 Follow:FOLLOW_10_in_block147]; /* element() */ + [self match:input TokenType:13 Follow:FOLLOW_13_in_block153]; + do { NSInteger alt3=2; NSInteger LA3_0 = [input LA:1]; - if ( (LA3_0==14) ) { + if ( (LA3_0==11) ) { alt3=1; } switch (alt3) { case 1 : ; - // SymbolTable.g:51:14: decl // alt + // SymbolTable.g:53:14: decl // alt { - [self pushFollow:FOLLOW_decl_in_block150]; + /* ruleRef */ + [self pushFollow:FOLLOW_decl_in_block156]; [self decl]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -404,25 +425,28 @@ - (void) block } } while (YES); loop3: ; - /* element() */ + + do { NSInteger alt4=2; NSInteger LA4_0 = [input LA:1]; - if ( (LA4_0==ID||LA4_0==10) ) { + if ( (LA4_0==ID||LA4_0==13) ) { alt4=1; } switch (alt4) { case 1 : ; - // SymbolTable.g:51:22: stat // alt + // SymbolTable.g:53:22: stat // alt { - [self pushFollow:FOLLOW_stat_in_block155]; + /* ruleRef */ + [self pushFollow:FOLLOW_stat_in_block161]; [self stat]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -431,14 +455,16 @@ - (void) block } } while (YES); loop4: ; - /* element() */ - [self match:input TokenType:11 Follow:FOLLOW_11_in_block159]; /* element() */ - - NSLog(@"level %d symbols: %@", level, /* scopeAttributeRef */ - ((Symbols_Scope *)[gStack peek]).names); - level--; - /* element() */ - /* elements */ + + + [self match:input TokenType:14 Follow:FOLLOW_14_in_block165]; + + + NSLog( @"level %d symbols: %@", level, [((Symbols_Scope *)[Symbols_stack peek]).names toString] ); + level--; + + + } // token+rule list labels @@ -447,56 +473,68 @@ - (void) block @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { - [gStack pop]; + } + + @finally { + /* Terence's stuff */ + [Symbols_stack pop]; } return ; } /* $ANTLR end block */ + /* * $ANTLR start stat - * SymbolTable.g:58:1: stat : ( ID '=' INT ';' | block ); + * SymbolTable.g:60:1: stat : ( ID '=' INT ';' | block ); */ - (void) stat { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { - // SymbolTable.g:58:5: ( ID '=' INT ';' | block ) //ruleblock + // SymbolTable.g:60:5: ( ID '=' INT ';' | block ) //ruleblock NSInteger alt5=2; NSInteger LA5_0 = [input LA:1]; if ( (LA5_0==ID) ) { alt5=1; } - else if ( (LA5_0==10) ) { + else if ( (LA5_0==13) ) { alt5=2; } else { - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:5 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:5 state:0 stream:input]; + nvae.c = LA5_0; @throw nvae; + } switch (alt5) { case 1 : ; - // SymbolTable.g:58:9: ID '=' INT ';' // alt + // SymbolTable.g:60:9: ID '=' INT ';' // alt { - [self match:input TokenType:ID Follow:FOLLOW_ID_in_stat183]; /* element() */ - [self match:input TokenType:12 Follow:FOLLOW_12_in_stat185]; /* element() */ - [self match:input TokenType:INT Follow:FOLLOW_INT_in_stat187]; /* element() */ - [self match:input TokenType:13 Follow:FOLLOW_13_in_stat189]; /* element() */ - /* elements */ + [self match:input TokenType:ID Follow:FOLLOW_ID_in_stat189]; + + [self match:input TokenType:10 Follow:FOLLOW_10_in_stat191]; + + [self match:input TokenType:INT Follow:FOLLOW_INT_in_stat193]; + + [self match:input TokenType:9 Follow:FOLLOW_9_in_stat195]; + } break; case 2 : ; - // SymbolTable.g:59:9: block // alt + // SymbolTable.g:61:9: block // alt { - [self pushFollow:FOLLOW_block_in_stat199]; + /* ruleRef */ + [self pushFollow:FOLLOW_block_in_stat205]; [self block]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -507,31 +545,40 @@ - (void) stat @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end stat */ + /* * $ANTLR start decl - * SymbolTable.g:62:1: decl : 'int' ID ';' ; + * SymbolTable.g:64:1: decl : 'int' ID ';' ; */ - (void) decl { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { ANTLRCommonToken *ID1 = nil; - // SymbolTable.g:62:5: ( 'int' ID ';' ) // ruleBlockSingleAlt - // SymbolTable.g:62:9: 'int' ID ';' // alt + // SymbolTable.g:64:5: ( 'int' ID ';' ) // ruleBlockSingleAlt + // SymbolTable.g:64:9: 'int' ID ';' // alt { - [self match:input TokenType:14 Follow:FOLLOW_14_in_decl213]; /* element() */ - ID1=(ANTLRCommonToken *)[self match:input TokenType:ID Follow:FOLLOW_ID_in_decl215]; /* element() */ - [self match:input TokenType:13 Follow:FOLLOW_13_in_decl217]; /* element() */ - [/* scopeAttributeRef */ - ((Symbols_Scope *)[gStack peek]).names addObject:ID1]; /* element() */ - /* elements */ + [self match:input TokenType:11 Follow:FOLLOW_11_in_decl219]; + + ID1=(ANTLRCommonToken *)[self match:input TokenType:ID Follow:FOLLOW_ID_in_decl221]; + + [self match:input TokenType:9 Follow:FOLLOW_9_in_decl223]; + + [((Symbols_Scope *)[Symbols_stack peek]).names addObject:ID1]; + + } // token+rule list labels @@ -540,15 +587,15 @@ - (void) decl @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end decl */ +/* ObjC end rules */ @end /* end of SymbolTableParser implementation line 692 */ - - -/* End of code - * ============================================================================= - */ diff --git a/runtime/ObjC/Framework/examples/scopes/main.m b/runtime/ObjC/Framework/examples/scopes/main.m index d4fc6329..edd9a23f 100644 --- a/runtime/ObjC/Framework/examples/scopes/main.m +++ b/runtime/ObjC/Framework/examples/scopes/main.m @@ -6,7 +6,7 @@ int main() { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - NSString *string = [NSString stringWithContentsOfFile:@"../../examples/scopes/input"]; + NSString *string = [NSString stringWithContentsOfFile:@"/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/examples/scopes/input"]; NSLog(@"input is : %@", string); ANTLRStringStream *stream = [[ANTLRStringStream alloc] initWithStringNoCopy:string]; SymbolTableLexer *lexer = [[SymbolTableLexer alloc] initWithCharStream:stream]; diff --git a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleC.tokens b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleC.tokens index 67e632b9..965ef1fe 100644 --- a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleC.tokens +++ b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleC.tokens @@ -1,23 +1,23 @@ -K_ID=11 -K_RCURLY=19 -K_RCURVE=14 -K_INT=25 -K_EQEQ=22 -K_FOR=20 -FUNC_HDR=6 -FUNC_DEF=8 -K_SEMICOLON=10 -K_INT_TYPE=15 -FUNC_DECL=7 -K_COMMA=13 -ARG_DEF=5 -K_LCURLY=18 +ARG_DEF=4 +BLOCK=5 +FUNC_DECL=6 +FUNC_DEF=7 +FUNC_HDR=8 +K_CHAR=9 +K_COMMA=10 +K_EQ=11 +K_EQEQ=12 +K_FOR=13 +K_ID=14 +K_INT=15 +K_INT_TYPE=16 +K_LCURLY=17 +K_LCURVE=18 +K_LT=19 +K_PLUS=20 +K_RCURLY=21 +K_RCURVE=22 +K_SEMICOLON=23 +K_VOID=24 +VAR_DEF=25 WS=26 -K_EQ=21 -BLOCK=9 -K_LT=23 -K_LCURVE=12 -K_CHAR=16 -K_VOID=17 -VAR_DEF=4 -K_PLUS=24 diff --git a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.h b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.h index fee86810..6c334566 100644 --- a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.h +++ b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.h @@ -1,75 +1,73 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SimpleC.g 2010-08-25 11:11:23 +// $ANTLR ${project.version} ${buildNumber} SimpleC.g 2011-05-06 15:09:17 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ /* Start cyclicDFAInterface */ -#pragma mark Cyclic DFA interface start DFA4 -@interface DFA4 : ANTLRDFA { -} -+ newDFA4WithRecognizer:(ANTLRBaseRecognizer *)theRecognizer; -- initWithRecognizer:(ANTLRBaseRecognizer *)recognizer; -@end /* end of DFA4 interface */ - -#pragma mark Cyclic DFA interface end DFA4 #pragma mark Rule return scopes start #pragma mark Rule return scopes end #pragma mark Tokens -#define K_ID 11 -#define K_RCURLY 19 -#define K_RCURVE 14 -#define K_INT 25 -#define K_EQEQ 22 -#define K_FOR 20 -#define FUNC_HDR 6 -#define FUNC_DEF 8 +#ifdef EOF +#undef EOF +#endif #define EOF -1 -#define K_SEMICOLON 10 -#define K_INT_TYPE 15 -#define FUNC_DECL 7 -#define K_COMMA 13 -#define ARG_DEF 5 -#define K_LCURLY 18 +#define ARG_DEF 4 +#define BLOCK 5 +#define FUNC_DECL 6 +#define FUNC_DEF 7 +#define FUNC_HDR 8 +#define K_CHAR 9 +#define K_COMMA 10 +#define K_EQ 11 +#define K_EQEQ 12 +#define K_FOR 13 +#define K_ID 14 +#define K_INT 15 +#define K_INT_TYPE 16 +#define K_LCURLY 17 +#define K_LCURVE 18 +#define K_LT 19 +#define K_PLUS 20 +#define K_RCURLY 21 +#define K_RCURVE 22 +#define K_SEMICOLON 23 +#define K_VOID 24 +#define VAR_DEF 25 #define WS 26 -#define K_EQ 21 -#define BLOCK 9 -#define K_LCURVE 12 -#define K_LT 23 -#define K_CHAR 16 -#define K_VOID 17 -#define VAR_DEF 4 -#define K_PLUS 24 +/* interface lexer class */ @interface SimpleCLexer : ANTLRLexer { // line 283 -DFA4 *dfa4; -// start of actions.lexer.memVars -// start of action-actionScope-memVars +/* ObjC start of actions.lexer.memVars */ +/* ObjC end of actions.lexer.memVars */ } ++ (void) initialize; + (SimpleCLexer *)newSimpleCLexerWithCharStream:(id)anInput; - -- (void)mK_FOR; -- (void)mK_CHAR; -- (void)mK_INT_TYPE; -- (void)mK_VOID; -- (void)mK_ID; -- (void)mK_INT; -- (void)mK_LCURVE; -- (void)mK_RCURVE; -- (void)mK_PLUS; -- (void)mK_COMMA; -- (void)mK_SEMICOLON; -- (void)mK_LT; -- (void)mK_EQ; -- (void)mK_EQEQ; -- (void)mK_LCURLY; -- (void)mK_RCURLY; -- (void)mWS; -- (void)mTokens; +/* ObjC start actions.lexer.methodsDecl */ +/* ObjC end actions.lexer.methodsDecl */ +- (void) mK_FOR ; +- (void) mK_CHAR ; +- (void) mK_INT_TYPE ; +- (void) mK_VOID ; +- (void) mK_ID ; +- (void) mK_INT ; +- (void) mK_LCURVE ; +- (void) mK_RCURVE ; +- (void) mK_PLUS ; +- (void) mK_COMMA ; +- (void) mK_SEMICOLON ; +- (void) mK_LT ; +- (void) mK_EQ ; +- (void) mK_EQEQ ; +- (void) mK_LCURLY ; +- (void) mK_RCURLY ; +- (void) mWS ; +- (void) mTokens ; @end /* end of SimpleCLexer interface */ + diff --git a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.m b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.m index adb9afa7..ce506e16 100644 --- a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.m +++ b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCLexer.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : SimpleC.g - * - On : 2010-08-25 11:11:23 - * - for the lexer : SimpleCLexerLexer * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 15:09:17 + * - for the lexer : SimpleCLexerLexer + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SimpleC.g 2010-08-25 11:11:23 +// $ANTLR ${project.version} ${buildNumber} SimpleC.g 2011-05-06 15:09:17 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -47,131 +22,10 @@ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ -#pragma mark Cyclic DFA implementation start DFA4 -@implementation DFA4 -const static NSInteger dfa4_eot[33] = - {-1,5,5,5,5,-1,-1,-1,-1,-1,-1,-1,-1,22,-1,-1,-1,5,5,5,5,-1,-1,27,5,29, - 5,-1,31,-1,32,-1,-1}; -const static NSInteger dfa4_eof[33] = - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; -const static unichar dfa4_min[33] = - {9,111,104,110,111,0,0,0,0,0,0,0,0,61,0,0,0,114,97,116,105,0,0,48,114, - 48,100,0,48,0,48,0,0}; -const static unichar dfa4_max[33] = - {125,111,104,110,111,0,0,0,0,0,0,0,0,61,0,0,0,114,97,116,105,0,0,122, - 114,122,100,0,122,0,122,0,0}; -const static NSInteger dfa4_accept[33] = - {-1,-1,-1,-1,-1,5,6,7,8,9,10,11,12,-1,15,16,17,-1,-1,-1,-1,14,13,-1, - -1,-1,-1,1,-1,3,-1,2,4}; -const static NSInteger dfa4_special[33] = - {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; -const static NSInteger dfa4_transition[] = {}; -const static NSInteger dfa4_transition0[] = {5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, -1, -1, -1, -1, -1, -1, -1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, -1, -1, -1, -1, 5, -1, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}; -const static NSInteger dfa4_transition1[] = {21}; -const static NSInteger dfa4_transition2[] = {16, 16, -1, -1, 16, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, -1, - -1, -1, -1, -1, -1, -1, 7, 8, -1, 9, 10, -1, -1, -1, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, -1, 11, 12, 13, -1, -1, -1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, -1, -1, -1, -1, 5, -1, 5, - 5, 2, 5, 5, 1, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, - 5, 14, -1, 15}; -const static NSInteger dfa4_transition3[] = {19}; -const static NSInteger dfa4_transition4[] = {28}; -const static NSInteger dfa4_transition5[] = {18}; -const static NSInteger dfa4_transition6[] = {24}; -const static NSInteger dfa4_transition7[] = {23}; -const static NSInteger dfa4_transition8[] = {20}; -const static NSInteger dfa4_transition9[] = {30}; -const static NSInteger dfa4_transition10[] = {26}; -const static NSInteger dfa4_transition11[] = {17}; -const static NSInteger dfa4_transition12[] = {25}; - - -+ () newDFA4WithRecognizer:(ANTLRBaseRecognizer *)aRecognizer -{ - return [[[DFA4 alloc] initWithRecognizer:aRecognizer] retain]; -} - -- (id) initWithRecognizer:(ANTLRBaseRecognizer *) theRecognizer -{ - if ((self = [super initWithRecognizer:theRecognizer]) != nil) { - decisionNumber = 4; - eot = dfa4_eot; - eof = dfa4_eof; - min = dfa4_min; - max = dfa4_max; - accept = dfa4_accept; - special = dfa4_special; - if (!(transition = calloc(33, sizeof(void*)))) { - [self release]; - return nil; - } - len = 33; - transition[0] = dfa4_transition2; - transition[1] = dfa4_transition11; - transition[2] = dfa4_transition5; - transition[3] = dfa4_transition3; - transition[4] = dfa4_transition8; - transition[5] = dfa4_transition; - transition[6] = dfa4_transition; - transition[7] = dfa4_transition; - transition[8] = dfa4_transition; - transition[9] = dfa4_transition; - transition[10] = dfa4_transition; - transition[11] = dfa4_transition; - transition[12] = dfa4_transition; - transition[13] = dfa4_transition1; - transition[14] = dfa4_transition; - transition[15] = dfa4_transition; - transition[16] = dfa4_transition; - transition[17] = dfa4_transition7; - transition[18] = dfa4_transition6; - transition[19] = dfa4_transition12; - transition[20] = dfa4_transition10; - transition[21] = dfa4_transition; - transition[22] = dfa4_transition; - transition[23] = dfa4_transition0; - transition[24] = dfa4_transition4; - transition[25] = dfa4_transition0; - transition[26] = dfa4_transition9; - transition[27] = dfa4_transition; - transition[28] = dfa4_transition0; - transition[29] = dfa4_transition; - transition[30] = dfa4_transition0; - transition[31] = dfa4_transition; - transition[32] = dfa4_transition; - } - return self; -} - -- (void) dealloc -{ - free(transition); - [super dealloc]; -} - -- (NSString *) description -{ - return @"1:1: Tokens : ( K_FOR | K_CHAR | K_INT_TYPE | K_VOID | K_ID | K_INT | K_LCURVE | K_RCURVE | K_PLUS | K_COMMA | K_SEMICOLON | K_LT | K_EQ | K_EQEQ | K_LCURLY | K_RCURLY | WS );"; -} - - -@end /* end DFA4 implementation */ - -#pragma mark Cyclic DFA implementation end DFA4 - - - /** As per Terence: No returns for lexer rules! */ @implementation SimpleCLexer // line 330 @@ -192,28 +46,29 @@ + (SimpleCLexer *)newSimpleCLexerWithCharStream:(id)anInput - (id) initWithCharStream:(id)anInput { - if ((self = [super initWithCharStream:anInput State:[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:18+1]]) != nil) { - - dfa4 = [DFA4 newDFA4WithRecognizer:self]; + self = [super initWithCharStream:anInput State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:18+1] retain]]; + if ( self != nil ) { } return self; } - (void) dealloc { - [dfa4 release]; [super dealloc]; } -/* Start of actions.lexer.methods */ -/* start methods() */ +/* ObjC Start of actions.lexer.methods */ +/* ObjC end of actions.lexer.methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ /* Start of Rules */ // $ANTLR start "K_FOR" - (void) mK_FOR { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_FOR; @@ -222,28 +77,31 @@ - (void) mK_FOR // SimpleC.g:91:9: 'for' // alt { [self matchString:@"for"]; - /* element() */ - /* elements */ + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_FOR" +/* $ANTLR end "K_FOR" */ // $ANTLR start "K_CHAR" - (void) mK_CHAR { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_CHAR; @@ -252,28 +110,31 @@ - (void) mK_CHAR // SimpleC.g:92:9: 'char' // alt { [self matchString:@"char"]; - /* element() */ - /* elements */ + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_CHAR" +/* $ANTLR end "K_CHAR" */ // $ANTLR start "K_INT_TYPE" - (void) mK_INT_TYPE { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_INT_TYPE; @@ -282,28 +143,31 @@ - (void) mK_INT_TYPE // SimpleC.g:93:14: 'int' // alt { [self matchString:@"int"]; - /* element() */ - /* elements */ + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_INT_TYPE" +/* $ANTLR end "K_INT_TYPE" */ // $ANTLR start "K_VOID" - (void) mK_VOID { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_VOID; @@ -312,28 +176,31 @@ - (void) mK_VOID // SimpleC.g:94:9: 'void' // alt { [self matchString:@"void"]; - /* element() */ - /* elements */ + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_VOID" +/* $ANTLR end "K_VOID" */ // $ANTLR start "K_ID" - (void) mK_ID { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_ID; @@ -343,16 +210,17 @@ - (void) mK_ID { if ((([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ + @throw mse; + } + + do { NSInteger alt1=2; NSInteger LA1_0 = [input LA:1]; - if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')) ) { + if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||LA1_0=='_'||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) { alt1=1; } @@ -363,13 +231,13 @@ - (void) mK_ID { if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))||(([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; + } + + } break; @@ -378,43 +246,45 @@ - (void) mK_ID } } while (YES); loop1: ; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_ID" +/* $ANTLR end "K_ID" */ // $ANTLR start "K_INT" - (void) mK_INT { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_INT; NSInteger _channel = ANTLRTokenChannelDefault; - id *anInt=nil; - NSMutableArray *list_anInt=nil; + ANTLRCommonToken *anInt=nil; + AMutableArray *list_anInt=nil; // SimpleC.g:99:7: ( (anInt+= ( '0' .. '9' ) )+ ) // ruleBlockSingleAlt // SimpleC.g:99:9: (anInt+= ( '0' .. '9' ) )+ // alt { // SimpleC.g:99:14: (anInt+= ( '0' .. '9' ) )+ // positiveClosureBlock - NSInteger cnt2=0; + NSInteger cnt2 = 0; do { - NSInteger alt2=2; + NSInteger alt2 = 2; NSInteger LA2_0 = [input LA:1]; - if ( ((LA2_0>='0' && LA2_0<='9')) ) { + if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) { alt2=1; } @@ -423,50 +293,59 @@ - (void) mK_INT case 1 : ; // SimpleC.g:99:14: anInt+= ( '0' .. '9' ) // alt { - // SimpleC.g:99:16: ( '0' .. '9' ) // blockSingleAlt - // SimpleC.g:99:17: '0' .. '9' // alt - { - [self matchRangeFromChar:'0' to:'9']; /* element() */ - /* elements */ + anInt = [input LA:1]; + + if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) { + [input consume]; + } else { + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; + mse.c = anInt; + [self recover:mse]; + @throw mse; } - /* element() */ - /* elements */ + + } break; default : if ( cnt2 >= 1 ) goto loop2; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:2]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:2]; @throw eee; } cnt2++; } while (YES); loop2: ; - /* element() */ - NSLog(@"%@", list_anInt); /* element() */ - /* elements */ + + + NSLog(@"%@", list_anInt); + + } // token+rule list labels [list_anInt release]; - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_INT" +/* $ANTLR end "K_INT" */ // $ANTLR start "K_LCURVE" - (void) mK_LCURVE { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_LCURVE; @@ -475,28 +354,30 @@ - (void) mK_LCURVE // SimpleC.g:102:12: '(' // alt { [self matchChar:'(']; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_LCURVE" +/* $ANTLR end "K_LCURVE" */ // $ANTLR start "K_RCURVE" - (void) mK_RCURVE { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_RCURVE; @@ -505,28 +386,30 @@ - (void) mK_RCURVE // SimpleC.g:103:12: ')' // alt { [self matchChar:')']; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_RCURVE" +/* $ANTLR end "K_RCURVE" */ // $ANTLR start "K_PLUS" - (void) mK_PLUS { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_PLUS; @@ -535,28 +418,30 @@ - (void) mK_PLUS // SimpleC.g:104:10: '+' // alt { [self matchChar:'+']; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_PLUS" +/* $ANTLR end "K_PLUS" */ // $ANTLR start "K_COMMA" - (void) mK_COMMA { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_COMMA; @@ -565,28 +450,30 @@ - (void) mK_COMMA // SimpleC.g:105:11: ',' // alt { [self matchChar:',']; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_COMMA" +/* $ANTLR end "K_COMMA" */ // $ANTLR start "K_SEMICOLON" - (void) mK_SEMICOLON { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_SEMICOLON; @@ -595,28 +482,30 @@ - (void) mK_SEMICOLON // SimpleC.g:106:15: ';' // alt { [self matchChar:';']; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_SEMICOLON" +/* $ANTLR end "K_SEMICOLON" */ // $ANTLR start "K_LT" - (void) mK_LT { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_LT; @@ -625,28 +514,30 @@ - (void) mK_LT // SimpleC.g:107:10: '<' // alt { [self matchChar:'<']; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_LT" +/* $ANTLR end "K_LT" */ // $ANTLR start "K_EQ" - (void) mK_EQ { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_EQ; @@ -655,28 +546,30 @@ - (void) mK_EQ // SimpleC.g:108:10: '=' // alt { [self matchChar:'=']; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_EQ" +/* $ANTLR end "K_EQ" */ // $ANTLR start "K_EQEQ" - (void) mK_EQEQ { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_EQEQ; @@ -685,28 +578,31 @@ - (void) mK_EQEQ // SimpleC.g:109:10: '==' // alt { [self matchString:@"=="]; - /* element() */ - /* elements */ + + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_EQEQ" +/* $ANTLR end "K_EQEQ" */ // $ANTLR start "K_LCURLY" - (void) mK_LCURLY { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_LCURLY; @@ -715,28 +611,30 @@ - (void) mK_LCURLY // SimpleC.g:110:12: '{' // alt { [self matchChar:'{']; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_LCURLY" +/* $ANTLR end "K_LCURLY" */ // $ANTLR start "K_RCURLY" - (void) mK_RCURLY { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = K_RCURLY; @@ -745,28 +643,30 @@ - (void) mK_RCURLY // SimpleC.g:111:12: '}' // alt { [self matchChar:'}']; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "K_RCURLY" +/* $ANTLR end "K_RCURLY" */ // $ANTLR start "WS" - (void) mWS { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = WS; @@ -775,11 +675,11 @@ - (void) mWS // SimpleC.g:113:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // alt { // SimpleC.g:113:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // positiveClosureBlock - NSInteger cnt3=0; + NSInteger cnt3 = 0; do { - NSInteger alt3=2; + NSInteger alt3 = 2; NSInteger LA3_0 = [input LA:1]; - if ( ((LA3_0>='\t' && LA3_0<='\n')||LA3_0=='\r'||LA3_0==' ') ) { + if ( ((LA3_0 >= '\t' && LA3_0 <= '\n')||LA3_0=='\r'||LA3_0==' ') ) { alt3=1; } @@ -790,183 +690,458 @@ - (void) mWS { if ((([input LA:1] >= '\t') && ([input LA:1] <= '\n'))||[input LA:1] == '\r'||[input LA:1] == ' ') { [input consume]; - } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; [self recover:mse]; - @throw mse;} - /* element() */ - /* elements */ + @throw mse; + } + + } break; default : if ( cnt3 >= 1 ) goto loop3; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:3]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:3]; @throw eee; } cnt3++; } while (YES); loop3: ; - /* element() */ - _channel=99; /* element() */ - /* elements */ + + + _channel=HIDDEN; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "WS" +/* $ANTLR end "WS" */ - (void) mTokens { // SimpleC.g:1:8: ( K_FOR | K_CHAR | K_INT_TYPE | K_VOID | K_ID | K_INT | K_LCURVE | K_RCURVE | K_PLUS | K_COMMA | K_SEMICOLON | K_LT | K_EQ | K_EQEQ | K_LCURLY | K_RCURLY | WS ) //ruleblock NSInteger alt4=17; - alt4 = [dfa4 predict:input]; + unichar charLA4 = [input LA:1]; + switch (charLA4) { + case 'f': ; + { + NSInteger LA4_1 = [input LA:2]; + + if ( (LA4_1=='o') ) { + NSInteger LA4_17 = [input LA:3]; + + if ( (LA4_17=='r') ) { + NSInteger LA4_23 = [input LA:4]; + + if ( ((LA4_23 >= '0' && LA4_23 <= '9')||(LA4_23 >= 'A' && LA4_23 <= 'Z')||LA4_23=='_'||(LA4_23 >= 'a' && LA4_23 <= 'z')) ) { + alt4=5; + } + else { + alt4 = 1; + } + } + else { + alt4 = 5; + } + } + else { + alt4 = 5; + } + } + break; + case 'c': ; + { + NSInteger LA4_2 = [input LA:2]; + + if ( (LA4_2=='h') ) { + NSInteger LA4_18 = [input LA:3]; + + if ( (LA4_18=='a') ) { + NSInteger LA4_24 = [input LA:4]; + + if ( (LA4_24=='r') ) { + NSInteger LA4_28 = [input LA:5]; + + if ( ((LA4_28 >= '0' && LA4_28 <= '9')||(LA4_28 >= 'A' && LA4_28 <= 'Z')||LA4_28=='_'||(LA4_28 >= 'a' && LA4_28 <= 'z')) ) { + alt4=5; + } + else { + alt4 = 2; + } + } + else { + alt4 = 5; + } + } + else { + alt4 = 5; + } + } + else { + alt4 = 5; + } + } + break; + case 'i': ; + { + NSInteger LA4_3 = [input LA:2]; + + if ( (LA4_3=='n') ) { + NSInteger LA4_19 = [input LA:3]; + + if ( (LA4_19=='t') ) { + NSInteger LA4_25 = [input LA:4]; + + if ( ((LA4_25 >= '0' && LA4_25 <= '9')||(LA4_25 >= 'A' && LA4_25 <= 'Z')||LA4_25=='_'||(LA4_25 >= 'a' && LA4_25 <= 'z')) ) { + alt4=5; + } + else { + alt4 = 3; + } + } + else { + alt4 = 5; + } + } + else { + alt4 = 5; + } + } + break; + case 'v': ; + { + NSInteger LA4_4 = [input LA:2]; + + if ( (LA4_4=='o') ) { + NSInteger LA4_20 = [input LA:3]; + + if ( (LA4_20=='i') ) { + NSInteger LA4_26 = [input LA:4]; + + if ( (LA4_26=='d') ) { + NSInteger LA4_30 = [input LA:5]; + + if ( ((LA4_30 >= '0' && LA4_30 <= '9')||(LA4_30 >= 'A' && LA4_30 <= 'Z')||LA4_30=='_'||(LA4_30 >= 'a' && LA4_30 <= 'z')) ) { + alt4=5; + } + else { + alt4 = 4; + } + } + else { + alt4 = 5; + } + } + else { + alt4 = 5; + } + } + else { + alt4 = 5; + } + } + break; + case 'A': ; + case 'B': ; + case 'C': ; + case 'D': ; + case 'E': ; + case 'F': ; + case 'G': ; + case 'H': ; + case 'I': ; + case 'J': ; + case 'K': ; + case 'L': ; + case 'M': ; + case 'N': ; + case 'O': ; + case 'P': ; + case 'Q': ; + case 'R': ; + case 'S': ; + case 'T': ; + case 'U': ; + case 'V': ; + case 'W': ; + case 'X': ; + case 'Y': ; + case 'Z': ; + case '_': ; + case 'a': ; + case 'b': ; + case 'd': ; + case 'e': ; + case 'g': ; + case 'h': ; + case 'j': ; + case 'k': ; + case 'l': ; + case 'm': ; + case 'n': ; + case 'o': ; + case 'p': ; + case 'q': ; + case 'r': ; + case 's': ; + case 't': ; + case 'u': ; + case 'w': ; + case 'x': ; + case 'y': ; + case 'z': ; + { + alt4=5; + } + break; + case '0': ; + case '1': ; + case '2': ; + case '3': ; + case '4': ; + case '5': ; + case '6': ; + case '7': ; + case '8': ; + case '9': ; + { + alt4=6; + } + break; + case '(': ; + { + alt4=7; + } + break; + case ')': ; + { + alt4=8; + } + break; + case '+': ; + { + alt4=9; + } + break; + case ',': ; + { + alt4=10; + } + break; + case ';': ; + { + alt4=11; + } + break; + case '<': ; + { + alt4=12; + } + break; + case '=': ; + { + NSInteger LA4_13 = [input LA:2]; + + if ( (LA4_13=='=') ) { + alt4=14; + } + else { + alt4 = 13; + } + } + break; + case '{': ; + { + alt4=15; + } + break; + case '}': ; + { + alt4=16; + } + break; + case '\t': ; + case '\n': ; + case '\r': ; + case ' ': ; + { + alt4=17; + } + break; + + default: ; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:4 state:0 stream:input]; + nvae.c = charLA4; + @throw nvae; + + } + switch (alt4) { case 1 : ; // SimpleC.g:1:10: K_FOR // alt { - [self mK_FOR]; - /* element() */ - /* elements */ + [self mK_FOR]; + + + } break; case 2 : ; // SimpleC.g:1:16: K_CHAR // alt { - [self mK_CHAR]; - /* element() */ - /* elements */ + [self mK_CHAR]; + + + } break; case 3 : ; // SimpleC.g:1:23: K_INT_TYPE // alt { - [self mK_INT_TYPE]; - /* element() */ - /* elements */ + [self mK_INT_TYPE]; + + + } break; case 4 : ; // SimpleC.g:1:34: K_VOID // alt { - [self mK_VOID]; - /* element() */ - /* elements */ + [self mK_VOID]; + + + } break; case 5 : ; // SimpleC.g:1:41: K_ID // alt { - [self mK_ID]; - /* element() */ - /* elements */ + [self mK_ID]; + + + } break; case 6 : ; // SimpleC.g:1:46: K_INT // alt { - [self mK_INT]; - /* element() */ - /* elements */ + [self mK_INT]; + + + } break; case 7 : ; // SimpleC.g:1:52: K_LCURVE // alt { - [self mK_LCURVE]; - /* element() */ - /* elements */ + [self mK_LCURVE]; + + + } break; case 8 : ; // SimpleC.g:1:61: K_RCURVE // alt { - [self mK_RCURVE]; - /* element() */ - /* elements */ + [self mK_RCURVE]; + + + } break; case 9 : ; // SimpleC.g:1:70: K_PLUS // alt { - [self mK_PLUS]; - /* element() */ - /* elements */ + [self mK_PLUS]; + + + } break; case 10 : ; // SimpleC.g:1:77: K_COMMA // alt { - [self mK_COMMA]; - /* element() */ - /* elements */ + [self mK_COMMA]; + + + } break; case 11 : ; // SimpleC.g:1:85: K_SEMICOLON // alt { - [self mK_SEMICOLON]; - /* element() */ - /* elements */ + [self mK_SEMICOLON]; + + + } break; case 12 : ; // SimpleC.g:1:97: K_LT // alt { - [self mK_LT]; - /* element() */ - /* elements */ + [self mK_LT]; + + + } break; case 13 : ; // SimpleC.g:1:102: K_EQ // alt { - [self mK_EQ]; - /* element() */ - /* elements */ + [self mK_EQ]; + + + } break; case 14 : ; // SimpleC.g:1:107: K_EQEQ // alt { - [self mK_EQEQ]; - /* element() */ - /* elements */ + [self mK_EQEQ]; + + + } break; case 15 : ; // SimpleC.g:1:114: K_LCURLY // alt { - [self mK_LCURLY]; - /* element() */ - /* elements */ + [self mK_LCURLY]; + + + } break; case 16 : ; // SimpleC.g:1:123: K_RCURLY // alt { - [self mK_RCURLY]; - /* element() */ - /* elements */ + [self mK_RCURLY]; + + + } break; case 17 : ; // SimpleC.g:1:132: WS // alt { - [self mWS]; - /* element() */ - /* elements */ + [self mWS]; + + + } break; @@ -974,8 +1149,4 @@ - (void) mTokens } -@end /* end of SimpleCLexer implementation line 397 */ - -/* End of code - * ============================================================================= - */ +@end /* end of SimpleCLexer implementation line 397 */ \ No newline at end of file diff --git a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.h b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.h index 1d007af3..a5420cc5 100644 --- a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.h +++ b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.h @@ -1,15 +1,27 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SimpleC.g 2010-08-25 11:11:22 +// $ANTLR ${project.version} ${buildNumber} SimpleC.g 2011-05-06 15:09:17 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ /* parserHeaderFile */ +#ifndef ANTLR3TokenTypeAlreadyDefined +#define ANTLR3TokenTypeAlreadyDefined +typedef enum { + ANTLR_EOF = -1, + INVALID, + EOR, + DOWN, + UP, + MIN +} ANTLR3TokenType; +#endif + #pragma mark Cyclic DFA interface start DFA2 @interface DFA2 : ANTLRDFA { } @@ -18,268 +30,369 @@ @end /* end of DFA2 interface */ #pragma mark Cyclic DFA interface end DFA2 + #pragma mark Tokens -#define K_ID 11 -#define K_RCURLY 19 -#define K_RCURVE 14 -#define K_INT 25 -#define K_EQEQ 22 -#define K_FOR 20 -#define FUNC_HDR 6 -#define FUNC_DEF 8 +#ifdef EOF +#undef EOF +#endif #define EOF -1 -#define K_SEMICOLON 10 -#define K_INT_TYPE 15 -#define FUNC_DECL 7 -#define K_COMMA 13 -#define ARG_DEF 5 -#define K_LCURLY 18 +#define ARG_DEF 4 +#define BLOCK 5 +#define FUNC_DECL 6 +#define FUNC_DEF 7 +#define FUNC_HDR 8 +#define K_CHAR 9 +#define K_COMMA 10 +#define K_EQ 11 +#define K_EQEQ 12 +#define K_FOR 13 +#define K_ID 14 +#define K_INT 15 +#define K_INT_TYPE 16 +#define K_LCURLY 17 +#define K_LCURVE 18 +#define K_LT 19 +#define K_PLUS 20 +#define K_RCURLY 21 +#define K_RCURVE 22 +#define K_SEMICOLON 23 +#define K_VOID 24 +#define VAR_DEF 25 #define WS 26 -#define K_EQ 21 -#define BLOCK 9 -#define K_LT 23 -#define K_LCURVE 12 -#define K_CHAR 16 -#define K_VOID 17 -#define VAR_DEF 4 -#define K_PLUS 24 #pragma mark Dynamic Global Scopes #pragma mark Dynamic Rule Scopes #pragma mark Rule Return Scopes start -/* returnScopeInterface */ -@interface SimpleCParser_program_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ +/* returnScopeInterface SimpleCParser_program_return */ +@interface SimpleCParser_program_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_program_return *)newSimpleCParser_program_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_declaration_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_declaration_return */ +@interface SimpleCParser_declaration_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_declaration_return *)newSimpleCParser_declaration_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_variable_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_variable_return */ +@interface SimpleCParser_variable_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_variable_return *)newSimpleCParser_variable_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_declarator_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_declarator_return */ +@interface SimpleCParser_declarator_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_declarator_return *)newSimpleCParser_declarator_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_functionHeader_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_functionHeader_return */ +@interface SimpleCParser_functionHeader_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_functionHeader_return *)newSimpleCParser_functionHeader_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_formalParameter_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_formalParameter_return */ +@interface SimpleCParser_formalParameter_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_formalParameter_return *)newSimpleCParser_formalParameter_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_type_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_type_return */ +@interface SimpleCParser_type_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_type_return *)newSimpleCParser_type_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_block_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_block_return */ +@interface SimpleCParser_block_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_block_return *)newSimpleCParser_block_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_stat_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_stat_return */ +@interface SimpleCParser_stat_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_stat_return *)newSimpleCParser_stat_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_forStat_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_forStat_return */ +@interface SimpleCParser_forStat_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_forStat_return *)newSimpleCParser_forStat_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_assignStat_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_assignStat_return */ +@interface SimpleCParser_assignStat_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_assignStat_return *)newSimpleCParser_assignStat_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_expr_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_expr_return */ +@interface SimpleCParser_expr_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_expr_return *)newSimpleCParser_expr_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_condExpr_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_condExpr_return */ +@interface SimpleCParser_condExpr_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_condExpr_return *)newSimpleCParser_condExpr_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_aexpr_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_aexpr_return */ +@interface SimpleCParser_aexpr_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_aexpr_return *)newSimpleCParser_aexpr_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface SimpleCParser_atom_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface SimpleCParser_atom_return */ +@interface SimpleCParser_atom_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (SimpleCParser_atom_return *)newSimpleCParser_atom_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -#pragma mark Rule return scopes end + + + +/* Interface grammar class */ @interface SimpleCParser : ANTLRParser { /* line 572 */ -// start of globalAttributeScopeMemVar +/* ObjC start of ruleAttributeScopeMemVar */ -// start of action-actionScope-memVars -// start of ruleAttributeScopeMemVar +/* ObjC end of ruleAttributeScopeMemVar */ +/* ObjC start of globalAttributeScopeMemVar */ -// Start of memVars +/* ObjC end of globalAttributeScopeMemVar */ +/* ObjC start of actions.(actionScope).memVars */ +/* ObjC end of actions.(actionScope).memVars */ +/* ObjC start of memVars */ /* AST parserHeaderFile.memVars */ -/* AST parsermemVars */ -id treeAdaptor; +NSInteger ruleLevel; +NSArray *ruleNames; + /* AST super.memVars */ +/* AST parserMemVars */ +id treeAdaptor; /* AST parserMemVars */ +/* ObjC end of memVars */ DFA2 *dfa2; } -// start of action-actionScope-methodsDecl +/* ObjC start of actions.(actionScope).properties */ +/* ObjC end of actions.(actionScope).properties */ +/* ObjC start of properties */ +/* AST parserHeaderFile.properties */ + /* AST super.properties */ +/* AST parserProperties */ +@property (retain, getter=getTreeAdaptor, setter=setTreeAdaptor:) id treeAdaptor; /* AST parserproperties */ +/* ObjC end of properties */ -/* AST parserHeaderFile.methodsdecl */ ++ (void) initialize; ++ (id) newSimpleCParser:(id)aStream; +/* ObjC start of actions.(actionScope).methodsDecl */ +/* ObjC end of actions.(actionScope).methodsDecl */ + +/* ObjC start of methodsDecl */ +/* AST parserHeaderFile.methodsDecl */ + /* AST super.methodsDecl */ /* AST parserMethodsDecl */ - (id) getTreeAdaptor; -- (void) setTreeAdaptor:(id)theTreeAdaptor; +- (void) setTreeAdaptor:(id)theTreeAdaptor; /* AST parsermethodsDecl */ +/* ObjC end of methodsDecl */ - (SimpleCParser_program_return *)program; - (SimpleCParser_declaration_return *)declaration; @@ -299,3 +412,4 @@ DFA2 *dfa2; @end /* end of SimpleCParser interface */ + diff --git a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.m b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.m index c6b81a15..882a0653 100644 --- a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.m +++ b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCParser.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : SimpleC.g - * - On : 2010-08-25 11:11:22 - * - for the parser : SimpleCParserParser * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 15:09:17 + * - for the parser : SimpleCParserParser + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SimpleC.g 2010-08-25 11:11:22 +// $ANTLR ${project.version} ${buildNumber} SimpleC.g 2011-05-06 15:09:17 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -47,12 +22,9 @@ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ - - #pragma mark Cyclic DFA implementation start DFA2 @implementation DFA2 const static NSInteger dfa2_eot[13] = @@ -60,34 +32,38 @@ @implementation DFA2 const static NSInteger dfa2_eof[13] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; const static unichar dfa2_min[13] = - {11,11,10,11,0,11,10,13,0,0,11,11,13}; + {9,14,18,9,0,14,17,10,0,0,9,14,10}; const static unichar dfa2_max[13] = - {17,11,12,17,0,11,18,14,0,0,17,11,14}; + {24,14,23,24,0,14,23,22,0,0,24,14,22}; const static NSInteger dfa2_accept[13] = - {-1,-1,-1,-1,1,-1,-1,-1,3,2,-1,-1,-1}; + {-1,-1,-1,-1,1,-1,-1,-1,2,3,-1,-1,-1}; const static NSInteger dfa2_special[13] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; const static NSInteger dfa2_transition[] = {}; -const static NSInteger dfa2_transition0[] = {9, -1, -1, -1, -1, -1, -1, - -1, 8}; -const static NSInteger dfa2_transition1[] = {10, 6}; -const static NSInteger dfa2_transition2[] = {5, -1, -1, 6, 5, 5, 5}; -const static NSInteger dfa2_transition3[] = {11, -1, -1, -1, 11, 11, 11}; -const static NSInteger dfa2_transition4[] = {4, -1, 3}; -const static NSInteger dfa2_transition5[] = {1, -1, -1, -1, 1, 1, 1}; +const static NSInteger dfa2_transition0[] = {9, -1, -1, -1, -1, -1, 8}; +const static NSInteger dfa2_transition1[] = {10, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 6}; +const static NSInteger dfa2_transition2[] = {5, -1, -1, -1, -1, 5, -1, 5, + -1, -1, -1, -1, -1, 6, -1, 5}; +const static NSInteger dfa2_transition3[] = {11, -1, -1, -1, -1, 11, -1, + 11, -1, -1, -1, -1, -1, -1, -1, 11}; +const static NSInteger dfa2_transition4[] = {3, -1, -1, -1, -1, 4}; +const static NSInteger dfa2_transition5[] = {1, -1, -1, -1, -1, 1, -1, 1, + -1, -1, -1, -1, -1, -1, -1, 1}; const static NSInteger dfa2_transition6[] = {7}; const static NSInteger dfa2_transition7[] = {12}; const static NSInteger dfa2_transition8[] = {2}; -+ () newDFA2WithRecognizer:(ANTLRBaseRecognizer *)aRecognizer ++ (id) newDFA2WithRecognizer:(ANTLRBaseRecognizer *)aRecognizer { return [[[DFA2 alloc] initWithRecognizer:aRecognizer] retain]; } - (id) initWithRecognizer:(ANTLRBaseRecognizer *) theRecognizer { - if ((self = [super initWithRecognizer:theRecognizer]) != nil) { + self = [super initWithRecognizer:theRecognizer]; + if ( self != nil ) { decisionNumber = 2; eot = dfa2_eot; eof = dfa2_eof; @@ -104,15 +80,15 @@ - (id) initWithRecognizer:(ANTLRBaseRecognizer *) theRecognizer transition[1] = dfa2_transition8; transition[2] = dfa2_transition4; transition[3] = dfa2_transition2; - transition[4] = dfa2_transition; - transition[5] = dfa2_transition6; - transition[6] = dfa2_transition0; - transition[7] = dfa2_transition1; - transition[8] = dfa2_transition; - transition[9] = dfa2_transition; - transition[10] = dfa2_transition3; - transition[11] = dfa2_transition7; - transition[12] = dfa2_transition1; + + transition[4] = dfa2_transition6; + transition[5] = dfa2_transition0; + transition[6] = dfa2_transition1; + + + transition[7] = dfa2_transition3; + transition[8] = dfa2_transition7; + transition[9] = dfa2_transition1; } return self; } @@ -137,115 +113,113 @@ - (NSString *) description #pragma mark Bitsets static ANTLRBitSet *FOLLOW_declaration_in_program85; -static const unsigned long long FOLLOW_declaration_in_program85_data[] = { 0x0000000000038802LL}; +static const unsigned long long FOLLOW_declaration_in_program85_data[] = { 0x0000000001014202LL}; static ANTLRBitSet *FOLLOW_variable_in_declaration105; static const unsigned long long FOLLOW_variable_in_declaration105_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_functionHeader_in_declaration115; -static const unsigned long long FOLLOW_functionHeader_in_declaration115_data[] = { 0x0000000000000400LL}; +static const unsigned long long FOLLOW_functionHeader_in_declaration115_data[] = { 0x0000000000800000LL}; static ANTLRBitSet *FOLLOW_K_SEMICOLON_in_declaration117; static const unsigned long long FOLLOW_K_SEMICOLON_in_declaration117_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_functionHeader_in_declaration135; -static const unsigned long long FOLLOW_functionHeader_in_declaration135_data[] = { 0x0000000000040000LL}; +static const unsigned long long FOLLOW_functionHeader_in_declaration135_data[] = { 0x0000000000020000LL}; static ANTLRBitSet *FOLLOW_block_in_declaration137; static const unsigned long long FOLLOW_block_in_declaration137_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_type_in_variable166; -static const unsigned long long FOLLOW_type_in_variable166_data[] = { 0x0000000000000800LL}; +static const unsigned long long FOLLOW_type_in_variable166_data[] = { 0x0000000000004000LL}; static ANTLRBitSet *FOLLOW_declarator_in_variable168; -static const unsigned long long FOLLOW_declarator_in_variable168_data[] = { 0x0000000000000400LL}; +static const unsigned long long FOLLOW_declarator_in_variable168_data[] = { 0x0000000000800000LL}; static ANTLRBitSet *FOLLOW_K_SEMICOLON_in_variable170; static const unsigned long long FOLLOW_K_SEMICOLON_in_variable170_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_K_ID_in_declarator199; static const unsigned long long FOLLOW_K_ID_in_declarator199_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_type_in_functionHeader219; -static const unsigned long long FOLLOW_type_in_functionHeader219_data[] = { 0x0000000000000800LL}; +static const unsigned long long FOLLOW_type_in_functionHeader219_data[] = { 0x0000000000004000LL}; static ANTLRBitSet *FOLLOW_K_ID_in_functionHeader221; -static const unsigned long long FOLLOW_K_ID_in_functionHeader221_data[] = { 0x0000000000001000LL}; +static const unsigned long long FOLLOW_K_ID_in_functionHeader221_data[] = { 0x0000000000040000LL}; static ANTLRBitSet *FOLLOW_K_LCURVE_in_functionHeader223; -static const unsigned long long FOLLOW_K_LCURVE_in_functionHeader223_data[] = { 0x000000000003C800LL}; +static const unsigned long long FOLLOW_K_LCURVE_in_functionHeader223_data[] = { 0x0000000001414200LL}; static ANTLRBitSet *FOLLOW_formalParameter_in_functionHeader227; -static const unsigned long long FOLLOW_formalParameter_in_functionHeader227_data[] = { 0x0000000000006000LL}; +static const unsigned long long FOLLOW_formalParameter_in_functionHeader227_data[] = { 0x0000000000400400LL}; static ANTLRBitSet *FOLLOW_K_COMMA_in_functionHeader231; -static const unsigned long long FOLLOW_K_COMMA_in_functionHeader231_data[] = { 0x0000000000038800LL}; +static const unsigned long long FOLLOW_K_COMMA_in_functionHeader231_data[] = { 0x0000000001014200LL}; static ANTLRBitSet *FOLLOW_formalParameter_in_functionHeader233; -static const unsigned long long FOLLOW_formalParameter_in_functionHeader233_data[] = { 0x0000000000006000LL}; +static const unsigned long long FOLLOW_formalParameter_in_functionHeader233_data[] = { 0x0000000000400400LL}; static ANTLRBitSet *FOLLOW_K_RCURVE_in_functionHeader241; static const unsigned long long FOLLOW_K_RCURVE_in_functionHeader241_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_type_in_formalParameter281; -static const unsigned long long FOLLOW_type_in_formalParameter281_data[] = { 0x0000000000000800LL}; +static const unsigned long long FOLLOW_type_in_formalParameter281_data[] = { 0x0000000000004000LL}; static ANTLRBitSet *FOLLOW_declarator_in_formalParameter283; static const unsigned long long FOLLOW_declarator_in_formalParameter283_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_set_in_type0; -static const unsigned long long FOLLOW_set_in_type0_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_K_LCURLY_in_block376; -static const unsigned long long FOLLOW_K_LCURLY_in_block376_data[] = { 0x00000000021F9C00LL}; +static const unsigned long long FOLLOW_K_LCURLY_in_block376_data[] = { 0x0000000001A7E200LL}; static ANTLRBitSet *FOLLOW_variable_in_block390; -static const unsigned long long FOLLOW_variable_in_block390_data[] = { 0x00000000021F9C00LL}; +static const unsigned long long FOLLOW_variable_in_block390_data[] = { 0x0000000001A7E200LL}; static ANTLRBitSet *FOLLOW_stat_in_block405; -static const unsigned long long FOLLOW_stat_in_block405_data[] = { 0x00000000021C1C00LL}; +static const unsigned long long FOLLOW_stat_in_block405_data[] = { 0x0000000000A6E000LL}; static ANTLRBitSet *FOLLOW_K_RCURLY_in_block416; static const unsigned long long FOLLOW_K_RCURLY_in_block416_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_forStat_in_stat449; static const unsigned long long FOLLOW_forStat_in_stat449_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_expr_in_stat457; -static const unsigned long long FOLLOW_expr_in_stat457_data[] = { 0x0000000000000400LL}; +static const unsigned long long FOLLOW_expr_in_stat457_data[] = { 0x0000000000800000LL}; static ANTLRBitSet *FOLLOW_K_SEMICOLON_in_stat459; static const unsigned long long FOLLOW_K_SEMICOLON_in_stat459_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_block_in_stat468; static const unsigned long long FOLLOW_block_in_stat468_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_assignStat_in_stat476; -static const unsigned long long FOLLOW_assignStat_in_stat476_data[] = { 0x0000000000000400LL}; +static const unsigned long long FOLLOW_assignStat_in_stat476_data[] = { 0x0000000000800000LL}; static ANTLRBitSet *FOLLOW_K_SEMICOLON_in_stat478; static const unsigned long long FOLLOW_K_SEMICOLON_in_stat478_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_K_SEMICOLON_in_stat487; static const unsigned long long FOLLOW_K_SEMICOLON_in_stat487_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_K_FOR_in_forStat507; -static const unsigned long long FOLLOW_K_FOR_in_forStat507_data[] = { 0x0000000000001000LL}; +static const unsigned long long FOLLOW_K_FOR_in_forStat507_data[] = { 0x0000000000040000LL}; static ANTLRBitSet *FOLLOW_K_LCURVE_in_forStat509; -static const unsigned long long FOLLOW_K_LCURVE_in_forStat509_data[] = { 0x0000000000000800LL}; +static const unsigned long long FOLLOW_K_LCURVE_in_forStat509_data[] = { 0x0000000000004000LL}; static ANTLRBitSet *FOLLOW_assignStat_in_forStat513; -static const unsigned long long FOLLOW_assignStat_in_forStat513_data[] = { 0x0000000000000400LL}; +static const unsigned long long FOLLOW_assignStat_in_forStat513_data[] = { 0x0000000000800000LL}; static ANTLRBitSet *FOLLOW_K_SEMICOLON_in_forStat515; -static const unsigned long long FOLLOW_K_SEMICOLON_in_forStat515_data[] = { 0x0000000002001800LL}; +static const unsigned long long FOLLOW_K_SEMICOLON_in_forStat515_data[] = { 0x000000000004C000LL}; static ANTLRBitSet *FOLLOW_expr_in_forStat517; -static const unsigned long long FOLLOW_expr_in_forStat517_data[] = { 0x0000000000000400LL}; +static const unsigned long long FOLLOW_expr_in_forStat517_data[] = { 0x0000000000800000LL}; static ANTLRBitSet *FOLLOW_K_SEMICOLON_in_forStat519; -static const unsigned long long FOLLOW_K_SEMICOLON_in_forStat519_data[] = { 0x0000000000000800LL}; +static const unsigned long long FOLLOW_K_SEMICOLON_in_forStat519_data[] = { 0x0000000000004000LL}; static ANTLRBitSet *FOLLOW_assignStat_in_forStat523; -static const unsigned long long FOLLOW_assignStat_in_forStat523_data[] = { 0x0000000000004000LL}; +static const unsigned long long FOLLOW_assignStat_in_forStat523_data[] = { 0x0000000000400000LL}; static ANTLRBitSet *FOLLOW_K_RCURVE_in_forStat525; -static const unsigned long long FOLLOW_K_RCURVE_in_forStat525_data[] = { 0x0000000000040000LL}; +static const unsigned long long FOLLOW_K_RCURVE_in_forStat525_data[] = { 0x0000000000020000LL}; static ANTLRBitSet *FOLLOW_block_in_forStat527; static const unsigned long long FOLLOW_block_in_forStat527_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_K_ID_in_assignStat570; -static const unsigned long long FOLLOW_K_ID_in_assignStat570_data[] = { 0x0000000000200000LL}; +static const unsigned long long FOLLOW_K_ID_in_assignStat570_data[] = { 0x0000000000000800LL}; static ANTLRBitSet *FOLLOW_K_EQ_in_assignStat572; -static const unsigned long long FOLLOW_K_EQ_in_assignStat572_data[] = { 0x0000000002001800LL}; +static const unsigned long long FOLLOW_K_EQ_in_assignStat572_data[] = { 0x000000000004C000LL}; static ANTLRBitSet *FOLLOW_expr_in_assignStat574; static const unsigned long long FOLLOW_expr_in_assignStat574_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_condExpr_in_expr598; static const unsigned long long FOLLOW_condExpr_in_expr598_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_aexpr_in_condExpr617; -static const unsigned long long FOLLOW_aexpr_in_condExpr617_data[] = { 0x0000000000C00002LL}; +static const unsigned long long FOLLOW_aexpr_in_condExpr617_data[] = { 0x0000000000081002LL}; static ANTLRBitSet *FOLLOW_K_EQEQ_in_condExpr622; -static const unsigned long long FOLLOW_K_EQEQ_in_condExpr622_data[] = { 0x0000000002001800LL}; +static const unsigned long long FOLLOW_K_EQEQ_in_condExpr622_data[] = { 0x000000000004C000LL}; static ANTLRBitSet *FOLLOW_K_LT_in_condExpr627; -static const unsigned long long FOLLOW_K_LT_in_condExpr627_data[] = { 0x0000000002001800LL}; +static const unsigned long long FOLLOW_K_LT_in_condExpr627_data[] = { 0x000000000004C000LL}; static ANTLRBitSet *FOLLOW_aexpr_in_condExpr631; static const unsigned long long FOLLOW_aexpr_in_condExpr631_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_atom_in_aexpr653; -static const unsigned long long FOLLOW_atom_in_aexpr653_data[] = { 0x0000000001000002LL}; +static const unsigned long long FOLLOW_atom_in_aexpr653_data[] = { 0x0000000000100002LL}; static ANTLRBitSet *FOLLOW_K_PLUS_in_aexpr657; -static const unsigned long long FOLLOW_K_PLUS_in_aexpr657_data[] = { 0x0000000002001800LL}; +static const unsigned long long FOLLOW_K_PLUS_in_aexpr657_data[] = { 0x000000000004C000LL}; static ANTLRBitSet *FOLLOW_atom_in_aexpr660; -static const unsigned long long FOLLOW_atom_in_aexpr660_data[] = { 0x0000000001000002LL}; +static const unsigned long long FOLLOW_atom_in_aexpr660_data[] = { 0x0000000000100002LL}; static ANTLRBitSet *FOLLOW_K_ID_in_atom680; static const unsigned long long FOLLOW_K_ID_in_atom680_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_K_INT_in_atom694; static const unsigned long long FOLLOW_K_INT_in_atom694_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_K_LCURVE_in_atom708; -static const unsigned long long FOLLOW_K_LCURVE_in_atom708_data[] = { 0x0000000002001800LL}; +static const unsigned long long FOLLOW_K_LCURVE_in_atom708_data[] = { 0x000000000004C000LL}; static ANTLRBitSet *FOLLOW_expr_in_atom710; -static const unsigned long long FOLLOW_expr_in_atom710_data[] = { 0x0000000000004000LL}; +static const unsigned long long FOLLOW_expr_in_atom710_data[] = { 0x0000000000400000LL}; static ANTLRBitSet *FOLLOW_K_RCURVE_in_atom712; static const unsigned long long FOLLOW_K_RCURVE_in_atom712_data[] = { 0x0000000000000002LL}; @@ -254,8 +228,7 @@ - (NSString *) description #pragma mark Dynamic Rule Scopes -#pragma mark Rule return scopes start -/* returnScope */ +#pragma mark Rule Return Scopes start @implementation SimpleCParser_program_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -264,6 +237,12 @@ + (SimpleCParser_program_return *)newSimpleCParser_program_return return [[[SimpleCParser_program_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -281,16 +260,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_declaration_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -299,6 +277,12 @@ + (SimpleCParser_declaration_return *)newSimpleCParser_declaration_return return [[[SimpleCParser_declaration_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -316,16 +300,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_variable_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -334,6 +317,12 @@ + (SimpleCParser_variable_return *)newSimpleCParser_variable_return return [[[SimpleCParser_variable_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -351,16 +340,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_declarator_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -369,6 +357,12 @@ + (SimpleCParser_declarator_return *)newSimpleCParser_declarator_return return [[[SimpleCParser_declarator_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -386,16 +380,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_functionHeader_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -404,6 +397,12 @@ + (SimpleCParser_functionHeader_return *)newSimpleCParser_functionHeader_return return [[[SimpleCParser_functionHeader_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -421,16 +420,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_formalParameter_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -439,6 +437,12 @@ + (SimpleCParser_formalParameter_return *)newSimpleCParser_formalParameter_retur return [[[SimpleCParser_formalParameter_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -456,16 +460,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_type_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -474,6 +477,12 @@ + (SimpleCParser_type_return *)newSimpleCParser_type_return return [[[SimpleCParser_type_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -491,16 +500,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_block_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -509,6 +517,12 @@ + (SimpleCParser_block_return *)newSimpleCParser_block_return return [[[SimpleCParser_block_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -526,16 +540,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_stat_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -544,6 +557,12 @@ + (SimpleCParser_stat_return *)newSimpleCParser_stat_return return [[[SimpleCParser_stat_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -561,16 +580,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_forStat_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -579,6 +597,12 @@ + (SimpleCParser_forStat_return *)newSimpleCParser_forStat_return return [[[SimpleCParser_forStat_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -596,16 +620,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_assignStat_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -614,6 +637,12 @@ + (SimpleCParser_assignStat_return *)newSimpleCParser_assignStat_return return [[[SimpleCParser_assignStat_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -631,16 +660,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_expr_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -649,6 +677,12 @@ + (SimpleCParser_expr_return *)newSimpleCParser_expr_return return [[[SimpleCParser_expr_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -666,16 +700,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_condExpr_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -684,6 +717,12 @@ + (SimpleCParser_condExpr_return *)newSimpleCParser_condExpr_return return [[[SimpleCParser_condExpr_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -701,16 +740,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_aexpr_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -719,6 +757,12 @@ + (SimpleCParser_aexpr_return *)newSimpleCParser_aexpr_return return [[[SimpleCParser_aexpr_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -736,16 +780,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation SimpleCParser_atom_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -754,6 +797,12 @@ + (SimpleCParser_atom_return *)newSimpleCParser_atom_return return [[[SimpleCParser_atom_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -771,19 +820,36 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ +//#pragma mark Rule return scopes start +// + +#pragma mark Rule return scopes start @implementation SimpleCParser // line 637 +/* ObjC start of ruleAttributeScope */ +#pragma mark Dynamic Rule Scopes +/* ObjC end of ruleAttributeScope */ +#pragma mark global Attribute Scopes +/* ObjC start globalAttributeScope */ +/* ObjC end globalAttributeScope */ +/* ObjC start actions.(actionScope).synthesize */ +/* ObjC end actions.(actionScope).synthesize */ +/* ObjC start synthesize() */ +/* AST genericParser.synthesize */ +/* AST parserProperties */ +@synthesize treeAdaptor; +/* ObjC end synthesize() */ + + (void) initialize { #pragma mark Bitsets @@ -806,7 +872,6 @@ + (void) initialize FOLLOW_K_RCURVE_in_functionHeader241 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_RCURVE_in_functionHeader241_data Count:(NSUInteger)1] retain]; FOLLOW_type_in_formalParameter281 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_formalParameter281_data Count:(NSUInteger)1] retain]; FOLLOW_declarator_in_formalParameter283 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_formalParameter283_data Count:(NSUInteger)1] retain]; - FOLLOW_set_in_type0 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_set_in_type0_data Count:(NSUInteger)1] retain]; FOLLOW_K_LCURLY_in_block376 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_LCURLY_in_block376_data Count:(NSUInteger)1] retain]; FOLLOW_variable_in_block390 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_variable_in_block390_data Count:(NSUInteger)1] retain]; FOLLOW_stat_in_block405 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_stat_in_block405_data Count:(NSUInteger)1] retain]; @@ -844,30 +909,32 @@ + (void) initialize FOLLOW_expr_in_atom710 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_atom710_data Count:(NSUInteger)1] retain]; FOLLOW_K_RCURVE_in_atom712 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_RCURVE_in_atom712_data Count:(NSUInteger)1] retain]; - [ANTLRBaseRecognizer setTokenNames:[[[NSArray alloc] initWithObjects:@"", @"", @"", @"", - @"VAR_DEF", @"ARG_DEF", @"FUNC_HDR", @"FUNC_DECL", @"FUNC_DEF", @"BLOCK", - @"K_SEMICOLON", @"K_ID", @"K_LCURVE", @"K_COMMA", @"K_RCURVE", @"K_INT_TYPE", - @"K_CHAR", @"K_VOID", @"K_LCURLY", @"K_RCURLY", @"K_FOR", @"K_EQ", @"K_EQEQ", - @"K_LT", @"K_PLUS", @"K_INT", @"WS", nil] retain]]; + [ANTLRBaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"", @"", @"", @"", + @"ARG_DEF", @"BLOCK", @"FUNC_DECL", @"FUNC_DEF", @"FUNC_HDR", @"K_CHAR", + @"K_COMMA", @"K_EQ", @"K_EQEQ", @"K_FOR", @"K_ID", @"K_INT", @"K_INT_TYPE", + @"K_LCURLY", @"K_LCURVE", @"K_LT", @"K_PLUS", @"K_RCURLY", @"K_RCURVE", + @"K_SEMICOLON", @"K_VOID", @"VAR_DEF", @"WS", nil] retain]]; + [ANTLRBaseRecognizer setGrammarFileName:@"SimpleC.g"]; } + (SimpleCParser *)newSimpleCParser:(id)aStream { return [[SimpleCParser alloc] initWithTokenStream:aStream]; + } - (id) initWithTokenStream:(id)aStream { - if ((self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:15+1] retain]]) != nil) { + self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:15+1] retain]]; + if ( self != nil ) { dfa2 = [DFA2 newDFA2WithRecognizer:self]; - /* start of actions-actionScope-init */ /* start of init */ /* AST genericParser.init */ - [self setTreeAdaptor:[[ANTLRCommonTreeAdaptor newANTLRCommonTreeAdaptor] retain]]; + [self setTreeAdaptor:[[ANTLRCommonTreeAdaptor newTreeAdaptor] retain]]; } return self; } @@ -880,8 +947,12 @@ - (void) dealloc [super dealloc]; } -// start actions.actionScope.methods -// start methods() + +/* ObjC start members */ +/* ObjC end members */ +/* ObjC start actions.(actionScope).methods */ +/* ObjC end actions.(actionScope).methods */ +/* ObjC start methods() */ /* AST genericParser.methods */ /* AST parserMethods */ - (id) getTreeAdaptor @@ -895,25 +966,28 @@ - (void) setTreeAdaptor:(id)aTreeAdaptor treeAdaptor = aTreeAdaptor; } } -// start rules +/* ObjC end methods() */ +/* ObjC start rules */ /* * $ANTLR start program * SimpleC.g:16:1: program : ( declaration )+ ; */ - (SimpleCParser_program_return *) program { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_program_return * retval = [SimpleCParser_program_return newSimpleCParser_program_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { /* AST ruleLabelDefs */ - SimpleCParser_declaration_return * declaration1 = nil; - + SimpleCParser_declaration_return * declaration1 = nil ; + // SimpleC.g:17:5: ( ( declaration )+ ) // ruleBlockSingleAlt @@ -921,12 +995,13 @@ - (SimpleCParser_program_return *) program { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + // SimpleC.g:17:9: ( declaration )+ // positiveClosureBlock - NSInteger cnt1=0; + NSInteger cnt1 = 0; do { - NSInteger alt1=2; + NSInteger alt1 = 2; NSInteger LA1_0 = [input LA:1]; - if ( (LA1_0==K_ID||(LA1_0>=K_INT_TYPE && LA1_0<=K_VOID)) ) { + if ( (LA1_0==K_CHAR||LA1_0==K_ID||LA1_0==K_INT_TYPE||LA1_0==K_VOID) ) { alt1=1; } @@ -936,27 +1011,30 @@ - (SimpleCParser_program_return *) program // SimpleC.g:17:9: declaration // alt { /* ASTParser ruleRef */ + /* ruleRef */ [self pushFollow:FOLLOW_declaration_in_program85]; declaration1 = [self declaration]; + [self popFollow]; - [treeAdaptor addChild:[declaration1 getTree] toTree:root_0]; /* element() */ - /* elements */ + [treeAdaptor addChild:[declaration1 getTree] toTree:root_0]; + } break; default : if ( cnt1 >= 1 ) goto loop1; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:1]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:1]; @throw eee; } cnt1++; } while (YES); loop1: ; - /* element() */ - /* elements */ + + } /* ASTParser ruleCleanUp */ @@ -965,55 +1043,63 @@ - (SimpleCParser_program_return *) program [retval setStop:[input LT:-1]]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end program */ + /* * $ANTLR start declaration * SimpleC.g:20:1: declaration : ( variable | functionHeader K_SEMICOLON -> ^( FUNC_DECL functionHeader ) | functionHeader block -> ^( FUNC_DEF functionHeader block ) ); */ - (SimpleCParser_declaration_return *) declaration { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_declaration_return * retval = [SimpleCParser_declaration_return newSimpleCParser_declaration_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { /* AST ruleLabelDefs */ ANTLRCommonToken *K_SEMICOLON4 = nil; - SimpleCParser_variable_return * variable2 = nil; - - SimpleCParser_functionHeader_return * functionHeader3 = nil; - - SimpleCParser_functionHeader_return * functionHeader5 = nil; - - SimpleCParser_block_return * block6 = nil; - + SimpleCParser_variable_return * variable2 = nil ; + + SimpleCParser_functionHeader_return * functionHeader3 = nil ; + + SimpleCParser_functionHeader_return * functionHeader5 = nil ; + + SimpleCParser_block_return * block6 = nil ; + ANTLRCommonTree *K_SEMICOLON4_tree=nil; - ANTLRRewriteRuleTokenStream *stream_K_SEMICOLON = + ANTLRRewriteRuleTokenStream *stream_K_SEMICOLON = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_SEMICOLON"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_functionHeader = + ANTLRRewriteRuleSubtreeStream *stream_functionHeader = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule functionHeader"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_block = + ANTLRRewriteRuleSubtreeStream *stream_block = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule block"] retain]; // SimpleC.g:21:5: ( variable | functionHeader K_SEMICOLON -> ^( FUNC_DECL functionHeader ) | functionHeader block -> ^( FUNC_DEF functionHeader block ) ) //ruleblock @@ -1025,29 +1111,34 @@ - (SimpleCParser_declaration_return *) declaration { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser ruleRef */ + /* ruleRef */ [self pushFollow:FOLLOW_variable_in_declaration105]; variable2 = [self variable]; + [self popFollow]; - [treeAdaptor addChild:[variable2 getTree] toTree:root_0]; /* element() */ - /* elements */ + [treeAdaptor addChild:[variable2 getTree] toTree:root_0]; + } break; case 2 : ; // SimpleC.g:22:9: functionHeader K_SEMICOLON // alt { + /* ruleRef */ [self pushFollow:FOLLOW_functionHeader_in_declaration115]; functionHeader3 = [self functionHeader]; + [self popFollow]; - [stream_functionHeader addElement:[functionHeader3 getTree]]; /* element() */ + [stream_functionHeader addElement:[functionHeader3 getTree]]; + K_SEMICOLON4=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_declaration117]; [stream_K_SEMICOLON addElement:K_SEMICOLON4]; - /* element() */ - /* elements */ + // AST REWRITE // elements: functionHeader @@ -1056,14 +1147,11 @@ - (SimpleCParser_declaration_return *) declaration // token list labels: // rule list labels: // wildcard labels: - [retval setTree:root_0]; - retval.tree = root_0; ANTLRRewriteRuleSubtreeStream *stream_retval = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token retval" - element:retval!=nil?[retval getTree]:nil] retain]; + description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain]; root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; @@ -1072,8 +1160,9 @@ - (SimpleCParser_declaration_return *) declaration // SimpleC.g:22:39: ^( FUNC_DECL functionHeader ) { ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; - root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:[[treeAdaptor createTree:(NSInteger)FUNC_DECL Text:[[ANTLRBaseRecognizer getTokenNames] objectAtIndex:(NSUInteger)FUNC_DECL]] retain] - old:root_1]; + root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot: + [treeAdaptor createTree:FUNC_DECL Text:@"FUNC_DECL"] + old:root_1]; [treeAdaptor addChild:[stream_functionHeader nextTree] toTree:root_1]; @@ -1082,42 +1171,45 @@ - (SimpleCParser_declaration_return *) declaration } + retval.tree = root_0; + } break; case 3 : ; // SimpleC.g:23:9: functionHeader block // alt { + /* ruleRef */ [self pushFollow:FOLLOW_functionHeader_in_declaration135]; functionHeader5 = [self functionHeader]; + [self popFollow]; - [stream_functionHeader addElement:[functionHeader5 getTree]]; /* element() */ + [stream_functionHeader addElement:[functionHeader5 getTree]]; + + /* ruleRef */ [self pushFollow:FOLLOW_block_in_declaration137]; block6 = [self block]; + [self popFollow]; - [stream_block addElement:[block6 getTree]]; /* element() */ - /* elements */ + [stream_block addElement:[block6 getTree]]; // AST REWRITE - // elements: block, functionHeader + // elements: functionHeader, block // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: - [retval setTree:root_0]; - retval.tree = root_0; ANTLRRewriteRuleSubtreeStream *stream_retval = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token retval" - element:retval!=nil?[retval getTree]:nil] retain]; + description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain]; root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; @@ -1126,10 +1218,12 @@ - (SimpleCParser_declaration_return *) declaration // SimpleC.g:23:33: ^( FUNC_DEF functionHeader block ) { ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; - root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:[[treeAdaptor createTree:(NSInteger)FUNC_DEF Text:[[ANTLRBaseRecognizer getTokenNames] objectAtIndex:(NSUInteger)FUNC_DEF]] retain] - old:root_1]; + root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot: + [treeAdaptor createTree:FUNC_DEF Text:@"FUNC_DEF"] + old:root_1]; [treeAdaptor addChild:[stream_functionHeader nextTree] toTree:root_1]; + [treeAdaptor addChild:[stream_block nextTree] toTree:root_1]; [treeAdaptor addChild:root_1 toTree:root_0]; @@ -1137,8 +1231,10 @@ - (SimpleCParser_declaration_return *) declaration } + retval.tree = root_0; + } break; @@ -1148,76 +1244,89 @@ - (SimpleCParser_declaration_return *) declaration // token+rule list labels [retval setStop:[input LT:-1]]; + [stream_K_SEMICOLON release]; [stream_functionHeader release]; [stream_block release]; retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end declaration */ + /* * $ANTLR start variable * SimpleC.g:26:1: variable : type declarator K_SEMICOLON -> ^( VAR_DEF type declarator ) ; */ - (SimpleCParser_variable_return *) variable { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_variable_return * retval = [SimpleCParser_variable_return newSimpleCParser_variable_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { /* AST ruleLabelDefs */ ANTLRCommonToken *K_SEMICOLON9 = nil; - SimpleCParser_type_return * type7 = nil; - - SimpleCParser_declarator_return * declarator8 = nil; - + SimpleCParser_type_return * type7 = nil ; + + SimpleCParser_declarator_return * declarator8 = nil ; + ANTLRCommonTree *K_SEMICOLON9_tree=nil; - ANTLRRewriteRuleTokenStream *stream_K_SEMICOLON = + ANTLRRewriteRuleTokenStream *stream_K_SEMICOLON = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_SEMICOLON"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_declarator = + ANTLRRewriteRuleSubtreeStream *stream_declarator = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule declarator"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_type = + ANTLRRewriteRuleSubtreeStream *stream_type = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule type"] retain]; // SimpleC.g:27:5: ( type declarator K_SEMICOLON -> ^( VAR_DEF type declarator ) ) // ruleBlockSingleAlt // SimpleC.g:27:9: type declarator K_SEMICOLON // alt { + /* ruleRef */ [self pushFollow:FOLLOW_type_in_variable166]; type7 = [self type]; + [self popFollow]; - [stream_type addElement:[type7 getTree]]; /* element() */ + [stream_type addElement:[type7 getTree]]; + + /* ruleRef */ [self pushFollow:FOLLOW_declarator_in_variable168]; declarator8 = [self declarator]; + [self popFollow]; - [stream_declarator addElement:[declarator8 getTree]]; /* element() */ + [stream_declarator addElement:[declarator8 getTree]]; + K_SEMICOLON9=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_variable170]; [stream_K_SEMICOLON addElement:K_SEMICOLON9]; - /* element() */ - /* elements */ + // AST REWRITE // elements: declarator, type @@ -1226,14 +1335,11 @@ - (SimpleCParser_variable_return *) variable // token list labels: // rule list labels: // wildcard labels: - [retval setTree:root_0]; - retval.tree = root_0; ANTLRRewriteRuleSubtreeStream *stream_retval = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token retval" - element:retval!=nil?[retval getTree]:nil] retain]; + description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain]; root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; @@ -1242,10 +1348,12 @@ - (SimpleCParser_variable_return *) variable // SimpleC.g:27:40: ^( VAR_DEF type declarator ) { ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; - root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:[[treeAdaptor createTree:(NSInteger)VAR_DEF Text:[[ANTLRBaseRecognizer getTokenNames] objectAtIndex:(NSUInteger)VAR_DEF]] retain] - old:root_1]; + root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot: + [treeAdaptor createTree:VAR_DEF Text:@"VAR_DEF"] + old:root_1]; [treeAdaptor addChild:[stream_type nextTree] toTree:root_1]; + [treeAdaptor addChild:[stream_declarator nextTree] toTree:root_1]; [treeAdaptor addChild:root_1 toTree:root_0]; @@ -1253,8 +1361,10 @@ - (SimpleCParser_variable_return *) variable } + retval.tree = root_0; + } /* ASTParser ruleCleanUp */ @@ -1262,37 +1372,45 @@ - (SimpleCParser_variable_return *) variable // token+rule list labels [retval setStop:[input LT:-1]]; + [stream_K_SEMICOLON release]; [stream_declarator release]; [stream_type release]; retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end variable */ + /* * $ANTLR start declarator * SimpleC.g:30:1: declarator : K_ID ; */ - (SimpleCParser_declarator_return *) declarator { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_declarator_return * retval = [SimpleCParser_declarator_return newSimpleCParser_declarator_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { @@ -1306,13 +1424,15 @@ - (SimpleCParser_declarator_return *) declarator { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser tokenRef */ K_ID10=(ANTLRCommonToken *)[self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_declarator199]; K_ID10_tree = /* ASTParser createNodeFromToken */ - (ANTLRCommonTree *)[[treeAdaptor createTree:K_ID10] retain]; + (ANTLRCommonTree *)[[treeAdaptor create:K_ID10] retain] + ; [treeAdaptor addChild:K_ID10_tree toTree:root_0]; - /* element() */ - /* elements */ + + } /* ASTParser ruleCleanUp */ @@ -1321,33 +1441,41 @@ - (SimpleCParser_declarator_return *) declarator [retval setStop:[input LT:-1]]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end declarator */ + /* * $ANTLR start functionHeader * SimpleC.g:34:1: functionHeader : type K_ID K_LCURVE ( formalParameter ( K_COMMA formalParameter )* )? K_RCURVE -> ^( FUNC_HDR type K_ID ( formalParameter )+ ) ; */ - (SimpleCParser_functionHeader_return *) functionHeader { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_functionHeader_return * retval = [SimpleCParser_functionHeader_return newSimpleCParser_functionHeader_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { @@ -1356,67 +1484,75 @@ - (SimpleCParser_functionHeader_return *) functionHeader ANTLRCommonToken *K_LCURVE13 = nil; ANTLRCommonToken *K_COMMA15 = nil; ANTLRCommonToken *K_RCURVE17 = nil; - SimpleCParser_type_return * type11 = nil; - - SimpleCParser_formalParameter_return * formalParameter14 = nil; - - SimpleCParser_formalParameter_return * formalParameter16 = nil; - + SimpleCParser_type_return * type11 = nil ; + + SimpleCParser_formalParameter_return * formalParameter14 = nil ; + + SimpleCParser_formalParameter_return * formalParameter16 = nil ; + ANTLRCommonTree *K_ID12_tree=nil; ANTLRCommonTree *K_LCURVE13_tree=nil; ANTLRCommonTree *K_COMMA15_tree=nil; ANTLRCommonTree *K_RCURVE17_tree=nil; - ANTLRRewriteRuleTokenStream *stream_K_ID = + ANTLRRewriteRuleTokenStream *stream_K_ID = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_ID"] retain]; - ANTLRRewriteRuleTokenStream *stream_K_LCURVE = + ANTLRRewriteRuleTokenStream *stream_K_LCURVE = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_LCURVE"] retain]; - ANTLRRewriteRuleTokenStream *stream_K_RCURVE = + ANTLRRewriteRuleTokenStream *stream_K_RCURVE = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_RCURVE"] retain]; - ANTLRRewriteRuleTokenStream *stream_K_COMMA = + ANTLRRewriteRuleTokenStream *stream_K_COMMA = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_COMMA"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_formalParameter = + ANTLRRewriteRuleSubtreeStream *stream_formalParameter = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule formalParameter"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_type = + ANTLRRewriteRuleSubtreeStream *stream_type = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule type"] retain]; // SimpleC.g:35:5: ( type K_ID K_LCURVE ( formalParameter ( K_COMMA formalParameter )* )? K_RCURVE -> ^( FUNC_HDR type K_ID ( formalParameter )+ ) ) // ruleBlockSingleAlt // SimpleC.g:35:9: type K_ID K_LCURVE ( formalParameter ( K_COMMA formalParameter )* )? K_RCURVE // alt { + /* ruleRef */ [self pushFollow:FOLLOW_type_in_functionHeader219]; type11 = [self type]; + [self popFollow]; - [stream_type addElement:[type11 getTree]]; /* element() */ + [stream_type addElement:[type11 getTree]]; + K_ID12=(ANTLRCommonToken *)[self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_functionHeader221]; [stream_K_ID addElement:K_ID12]; - /* element() */ + + K_LCURVE13=(ANTLRCommonToken *)[self match:input TokenType:K_LCURVE Follow:FOLLOW_K_LCURVE_in_functionHeader223]; [stream_K_LCURVE addElement:K_LCURVE13]; - /* element() */ + + // SimpleC.g:35:28: ( formalParameter ( K_COMMA formalParameter )* )? // block NSInteger alt4=2; NSInteger LA4_0 = [input LA:1]; - if ( (LA4_0==K_ID||(LA4_0>=K_INT_TYPE && LA4_0<=K_VOID)) ) { + if ( (LA4_0==K_CHAR||LA4_0==K_ID||LA4_0==K_INT_TYPE||LA4_0==K_VOID) ) { alt4=1; } switch (alt4) { case 1 : ; // SimpleC.g:35:30: formalParameter ( K_COMMA formalParameter )* // alt { + /* ruleRef */ [self pushFollow:FOLLOW_formalParameter_in_functionHeader227]; formalParameter14 = [self formalParameter]; + [self popFollow]; - [stream_formalParameter addElement:[formalParameter14 getTree]]; /* element() */ + [stream_formalParameter addElement:[formalParameter14 getTree]]; + do { NSInteger alt3=2; NSInteger LA3_0 = [input LA:1]; @@ -1431,14 +1567,17 @@ - (SimpleCParser_functionHeader_return *) functionHeader { K_COMMA15=(ANTLRCommonToken *)[self match:input TokenType:K_COMMA Follow:FOLLOW_K_COMMA_in_functionHeader231]; [stream_K_COMMA addElement:K_COMMA15]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_formalParameter_in_functionHeader233]; formalParameter16 = [self formalParameter]; + [self popFollow]; - [stream_formalParameter addElement:[formalParameter16 getTree]]; /* element() */ - /* elements */ + [stream_formalParameter addElement:[formalParameter16 getTree]]; + } break; @@ -1447,17 +1586,17 @@ - (SimpleCParser_functionHeader_return *) functionHeader } } while (YES); loop3: ; - /* element() */ - /* elements */ + + } break; } - /* element() */ + + K_RCURVE17=(ANTLRCommonToken *)[self match:input TokenType:K_RCURVE Follow:FOLLOW_K_RCURVE_in_functionHeader241]; [stream_K_RCURVE addElement:K_RCURVE17]; - /* element() */ - /* elements */ + // AST REWRITE // elements: formalParameter, type, K_ID @@ -1466,14 +1605,11 @@ - (SimpleCParser_functionHeader_return *) functionHeader // token list labels: // rule list labels: // wildcard labels: - [retval setTree:root_0]; - retval.tree = root_0; ANTLRRewriteRuleSubtreeStream *stream_retval = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token retval" - element:retval!=nil?[retval getTree]:nil] retain]; + description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain]; root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; @@ -1482,16 +1618,21 @@ - (SimpleCParser_functionHeader_return *) functionHeader // SimpleC.g:36:12: ^( FUNC_HDR type K_ID ( formalParameter )+ ) { ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; - root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:[[treeAdaptor createTree:(NSInteger)FUNC_HDR Text:[[ANTLRBaseRecognizer getTokenNames] objectAtIndex:(NSUInteger)FUNC_HDR]] retain] - old:root_1]; + root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot: + [treeAdaptor createTree:FUNC_HDR Text:@"FUNC_HDR"] + old:root_1]; [treeAdaptor addChild:[stream_type nextTree] toTree:root_1]; + // TODO: args: - [treeAdaptor addChild:[stream_K_ID nextNode] toTree:root_1]; + [treeAdaptor addChild: + [stream_K_ID nextNode] + toTree:root_1]; + // SimpleC.g:36:33: ( formalParameter )+ { if ( !([stream_formalParameter hasNext]) ) { - @throw [NSException exceptionWithName:@"RewriteEarlyExitException" reason:nil userInfo:nil]; + @throw [ANTLRRewriteEarlyExitException newException]; } while ( [stream_formalParameter hasNext] ) { [treeAdaptor addChild:[stream_formalParameter nextTree] toTree:root_1]; @@ -1505,8 +1646,10 @@ - (SimpleCParser_functionHeader_return *) functionHeader } + retval.tree = root_0; + } /* ASTParser ruleCleanUp */ @@ -1514,6 +1657,7 @@ - (SimpleCParser_functionHeader_return *) functionHeader // token+rule list labels [retval setStop:[input LT:-1]]; + [stream_K_ID release]; [stream_K_LCURVE release]; [stream_K_RCURVE release]; @@ -1522,63 +1666,74 @@ - (SimpleCParser_functionHeader_return *) functionHeader [stream_type release]; retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end functionHeader */ + /* * $ANTLR start formalParameter * SimpleC.g:39:1: formalParameter : type declarator -> ^( ARG_DEF type declarator ) ; */ - (SimpleCParser_formalParameter_return *) formalParameter { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_formalParameter_return * retval = [SimpleCParser_formalParameter_return newSimpleCParser_formalParameter_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { /* AST ruleLabelDefs */ - SimpleCParser_type_return * type18 = nil; - - SimpleCParser_declarator_return * declarator19 = nil; + SimpleCParser_type_return * type18 = nil ; + + SimpleCParser_declarator_return * declarator19 = nil ; + - - ANTLRRewriteRuleSubtreeStream *stream_declarator = + ANTLRRewriteRuleSubtreeStream *stream_declarator = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule declarator"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_type = + ANTLRRewriteRuleSubtreeStream *stream_type = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule type"] retain]; // SimpleC.g:40:5: ( type declarator -> ^( ARG_DEF type declarator ) ) // ruleBlockSingleAlt // SimpleC.g:40:9: type declarator // alt { + /* ruleRef */ [self pushFollow:FOLLOW_type_in_formalParameter281]; type18 = [self type]; + [self popFollow]; - [stream_type addElement:[type18 getTree]]; /* element() */ + [stream_type addElement:[type18 getTree]]; + + /* ruleRef */ [self pushFollow:FOLLOW_declarator_in_formalParameter283]; declarator19 = [self declarator]; + [self popFollow]; - [stream_declarator addElement:[declarator19 getTree]]; /* element() */ - /* elements */ + [stream_declarator addElement:[declarator19 getTree]]; // AST REWRITE // elements: declarator, type @@ -1587,14 +1742,11 @@ - (SimpleCParser_formalParameter_return *) formalParameter // token list labels: // rule list labels: // wildcard labels: - [retval setTree:root_0]; - retval.tree = root_0; ANTLRRewriteRuleSubtreeStream *stream_retval = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token retval" - element:retval!=nil?[retval getTree]:nil] retain]; + description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain]; root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; @@ -1603,10 +1755,12 @@ - (SimpleCParser_formalParameter_return *) formalParameter // SimpleC.g:40:28: ^( ARG_DEF type declarator ) { ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; - root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:[[treeAdaptor createTree:(NSInteger)ARG_DEF Text:[[ANTLRBaseRecognizer getTokenNames] objectAtIndex:(NSUInteger)ARG_DEF]] retain] - old:root_1]; + root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot: + [treeAdaptor createTree:ARG_DEF Text:@"ARG_DEF"] + old:root_1]; [treeAdaptor addChild:[stream_type nextTree] toTree:root_1]; + [treeAdaptor addChild:[stream_declarator nextTree] toTree:root_1]; [treeAdaptor addChild:root_1 toTree:root_0]; @@ -1614,8 +1768,10 @@ - (SimpleCParser_formalParameter_return *) formalParameter } + retval.tree = root_0; + } /* ASTParser ruleCleanUp */ @@ -1623,36 +1779,44 @@ - (SimpleCParser_formalParameter_return *) formalParameter // token+rule list labels [retval setStop:[input LT:-1]]; + [stream_declarator release]; [stream_type release]; retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end formalParameter */ + /* * $ANTLR start type * SimpleC.g:43:1: type : ( K_INT_TYPE | K_CHAR | K_VOID | K_ID ); */ - (SimpleCParser_type_return *) type { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_type_return * retval = [SimpleCParser_type_return newSimpleCParser_type_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { @@ -1666,20 +1830,23 @@ - (SimpleCParser_type_return *) type { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser matchRuleBlockSet */ /* ASTParser matchSet */ - set20 = (ANTLRCommonToken *)[input LT:1]; - if ([input LA:1] == K_ID||(([input LA:1] >= K_INT_TYPE) && ([input LA:1] <= K_VOID))) { + set20 = (ANTLRCommonToken *)[input LT:1]; /* matchSet */ + + if ([input LA:1] == K_CHAR||[input LA:1] == K_ID||[input LA:1] == K_INT_TYPE||[input LA:1] == K_VOID) { [input consume]; - [treeAdaptor addChild:/* ASTParser createNodeFromToken */ - (ANTLRCommonTree *)[[treeAdaptor createTree:set20] retain] toTree:root_0 ]; + [treeAdaptor addChild:/* ASTParser createNodeFromToken */ + (ANTLRCommonTree *)[[treeAdaptor create:set20] retain] + toTree:root_0 ]; [state setIsErrorRecovery:NO]; } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; @throw mse; } - /* element() */ - /* elements */ + + } /* ASTParser ruleCleanUp */ @@ -1688,56 +1855,64 @@ - (SimpleCParser_type_return *) type [retval setStop:[input LT:-1]]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end type */ + /* * $ANTLR start block * SimpleC.g:50:1: block : lc= K_LCURLY ( variable )* ( stat )* K_RCURLY -> ^( BLOCK[$lc,@\"BLOCK\"] ( variable )* ( stat )* ) ; */ - (SimpleCParser_block_return *) block { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_block_return * retval = [SimpleCParser_block_return newSimpleCParser_block_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { /* AST ruleLabelDefs */ ANTLRCommonToken *lc = nil; ANTLRCommonToken *K_RCURLY23 = nil; - SimpleCParser_variable_return * variable21 = nil; - - SimpleCParser_stat_return * stat22 = nil; - + SimpleCParser_variable_return * variable21 = nil ; + + SimpleCParser_stat_return * stat22 = nil ; + ANTLRCommonTree *lc_tree=nil; ANTLRCommonTree *K_RCURLY23_tree=nil; - ANTLRRewriteRuleTokenStream *stream_K_LCURLY = + ANTLRRewriteRuleTokenStream *stream_K_LCURLY = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_LCURLY"] retain]; - ANTLRRewriteRuleTokenStream *stream_K_RCURLY = + ANTLRRewriteRuleTokenStream *stream_K_RCURLY = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_RCURLY"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_variable = + ANTLRRewriteRuleSubtreeStream *stream_variable = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule variable"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_stat = + ANTLRRewriteRuleSubtreeStream *stream_stat = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule stat"] retain]; // SimpleC.g:51:5: (lc= K_LCURLY ( variable )* ( stat )* K_RCURLY -> ^( BLOCK[$lc,@\"BLOCK\"] ( variable )* ( stat )* ) ) // ruleBlockSingleAlt @@ -1745,7 +1920,8 @@ - (SimpleCParser_block_return *) block { lc=(ANTLRCommonToken *)[self match:input TokenType:K_LCURLY Follow:FOLLOW_K_LCURLY_in_block376]; [stream_K_LCURLY addElement:lc]; - /* element() */ + + do { NSInteger alt5=2; NSInteger LA5_0 = [input LA:1]; @@ -1757,7 +1933,7 @@ - (SimpleCParser_block_return *) block } - else if ( ((LA5_0>=K_INT_TYPE && LA5_0<=K_VOID)) ) { + else if ( (LA5_0==K_CHAR||LA5_0==K_INT_TYPE||LA5_0==K_VOID) ) { alt5=1; } @@ -1766,13 +1942,15 @@ - (SimpleCParser_block_return *) block case 1 : ; // SimpleC.g:52:13: variable // alt { + /* ruleRef */ [self pushFollow:FOLLOW_variable_in_block390]; variable21 = [self variable]; + [self popFollow]; - [stream_variable addElement:[variable21 getTree]]; /* element() */ - /* elements */ + [stream_variable addElement:[variable21 getTree]]; + } break; @@ -1781,11 +1959,12 @@ - (SimpleCParser_block_return *) block } } while (YES); loop5: ; - /* element() */ + + do { NSInteger alt6=2; NSInteger LA6_0 = [input LA:1]; - if ( ((LA6_0>=K_SEMICOLON && LA6_0<=K_LCURVE)||LA6_0==K_LCURLY||LA6_0==K_FOR||LA6_0==K_INT) ) { + if ( ((LA6_0 >= K_FOR && LA6_0 <= K_INT)||(LA6_0 >= K_LCURLY && LA6_0 <= K_LCURVE)||LA6_0==K_SEMICOLON) ) { alt6=1; } @@ -1794,13 +1973,15 @@ - (SimpleCParser_block_return *) block case 1 : ; // SimpleC.g:53:13: stat // alt { + /* ruleRef */ [self pushFollow:FOLLOW_stat_in_block405]; stat22 = [self stat]; + [self popFollow]; - [stream_stat addElement:[stat22 getTree]]; /* element() */ - /* elements */ + [stream_stat addElement:[stat22 getTree]]; + } break; @@ -1809,27 +1990,24 @@ - (SimpleCParser_block_return *) block } } while (YES); loop6: ; - /* element() */ + + K_RCURLY23=(ANTLRCommonToken *)[self match:input TokenType:K_RCURLY Follow:FOLLOW_K_RCURLY_in_block416]; [stream_K_RCURLY addElement:K_RCURLY23]; - /* element() */ - /* elements */ + // AST REWRITE - // elements: variable, stat + // elements: stat, variable // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: - [retval setTree:root_0]; - retval.tree = root_0; ANTLRRewriteRuleSubtreeStream *stream_retval = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token retval" - element:retval!=nil?[retval getTree]:nil] retain]; + description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain]; root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; @@ -1838,8 +2016,9 @@ - (SimpleCParser_block_return *) block // SimpleC.g:55:12: ^( BLOCK[$lc,@\"BLOCK\"] ( variable )* ( stat )* ) { ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; - root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:[[treeAdaptor createTree:(NSInteger)BLOCK Text:[[ANTLRBaseRecognizer getTokenNames] objectAtIndex:(NSUInteger)BLOCK]] retain] - old:root_1]; + root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot: + [treeAdaptor createTree:BLOCK FromToken:lc Text:@"BLOCK"] + old:root_1]; // SimpleC.g:55:34: ( variable )* while ( [stream_variable hasNext] ) { @@ -1847,6 +2026,7 @@ - (SimpleCParser_block_return *) block } [stream_variable reset]; + // SimpleC.g:55:44: ( stat )* while ( [stream_stat hasNext] ) { [treeAdaptor addChild:[stream_stat nextTree] toTree:root_1]; @@ -1859,8 +2039,10 @@ - (SimpleCParser_block_return *) block } + retval.tree = root_0; + } /* ASTParser ruleCleanUp */ @@ -1868,38 +2050,46 @@ - (SimpleCParser_block_return *) block // token+rule list labels [retval setStop:[input LT:-1]]; + [stream_K_LCURLY release]; [stream_K_RCURLY release]; [stream_variable release]; [stream_stat release]; retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end block */ + /* * $ANTLR start stat - * SimpleC.g:58:1: stat : ( forStat | expr K_SEMICOLON | block | assignStat K_SEMICOLON | K_SEMICOLON ); + * SimpleC.g:58:1: stat : ( forStat | expr K_SEMICOLON !| block | assignStat K_SEMICOLON !| K_SEMICOLON !); */ - (SimpleCParser_stat_return *) stat { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_stat_return * retval = [SimpleCParser_stat_return newSimpleCParser_stat_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { @@ -1907,22 +2097,23 @@ - (SimpleCParser_stat_return *) stat ANTLRCommonToken *K_SEMICOLON26 = nil; ANTLRCommonToken *K_SEMICOLON29 = nil; ANTLRCommonToken *K_SEMICOLON30 = nil; - SimpleCParser_forStat_return * forStat24 = nil; - - SimpleCParser_expr_return * expr25 = nil; - - SimpleCParser_block_return * block27 = nil; - - SimpleCParser_assignStat_return * assignStat28 = nil; - + SimpleCParser_forStat_return * forStat24 = nil ; + + SimpleCParser_expr_return * expr25 = nil ; + + SimpleCParser_block_return * block27 = nil ; + + SimpleCParser_assignStat_return * assignStat28 = nil ; + ANTLRCommonTree *K_SEMICOLON26_tree=nil; ANTLRCommonTree *K_SEMICOLON29_tree=nil; ANTLRCommonTree *K_SEMICOLON30_tree=nil; - // SimpleC.g:58:5: ( forStat | expr K_SEMICOLON | block | assignStat K_SEMICOLON | K_SEMICOLON ) //ruleblock + // SimpleC.g:58:5: ( forStat | expr K_SEMICOLON !| block | assignStat K_SEMICOLON !| K_SEMICOLON !) //ruleblock NSInteger alt7=5; - switch ([input LA:1]) { + unichar charLA7 = [input LA:1]; + switch (charLA7) { case K_FOR: ; { alt7=1; @@ -1935,17 +2126,19 @@ - (SimpleCParser_stat_return *) stat if ( (LA7_2==K_EQ) ) { alt7=4; } - else if ( (LA7_2==K_SEMICOLON||(LA7_2>=K_EQEQ && LA7_2<=K_PLUS)) ) { + else if ( (LA7_2==K_EQEQ||(LA7_2 >= K_LT && LA7_2 <= K_PLUS)||LA7_2==K_SEMICOLON) ) { alt7=2; } else { - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:7 state:2 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:7 state:2 stream:input]; + nvae.c = LA7_2; @throw nvae; + } } break; - case K_LCURVE: ; case K_INT: ; + case K_LCURVE: ; { alt7=2; } @@ -1962,8 +2155,10 @@ - (SimpleCParser_stat_return *) stat break; default: ; - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:7 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:7 state:0 stream:input]; + nvae.c = charLA7; @throw nvae; + } switch (alt7) { @@ -1972,30 +2167,37 @@ - (SimpleCParser_stat_return *) stat { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser ruleRef */ + /* ruleRef */ [self pushFollow:FOLLOW_forStat_in_stat449]; forStat24 = [self forStat]; + [self popFollow]; - [treeAdaptor addChild:[forStat24 getTree] toTree:root_0]; /* element() */ - /* elements */ + [treeAdaptor addChild:[forStat24 getTree] toTree:root_0]; + } break; case 2 : ; - // SimpleC.g:59:7: expr K_SEMICOLON // alt + // SimpleC.g:59:7: expr K_SEMICOLON ! // alt { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser ruleRef */ + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_stat457]; expr25 = [self expr]; + [self popFollow]; - [treeAdaptor addChild:[expr25 getTree] toTree:root_0]; /* element() */ - K_SEMICOLON26=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_stat459]; /* element() */ - /* elements */ + [treeAdaptor addChild:[expr25 getTree] toTree:root_0]; + + K_SEMICOLON26=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_stat459]; + } break; case 3 : ; @@ -2003,39 +2205,47 @@ - (SimpleCParser_stat_return *) stat { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser ruleRef */ + /* ruleRef */ [self pushFollow:FOLLOW_block_in_stat468]; block27 = [self block]; + [self popFollow]; - [treeAdaptor addChild:[block27 getTree] toTree:root_0]; /* element() */ - /* elements */ + [treeAdaptor addChild:[block27 getTree] toTree:root_0]; + } break; case 4 : ; - // SimpleC.g:61:7: assignStat K_SEMICOLON // alt + // SimpleC.g:61:7: assignStat K_SEMICOLON ! // alt { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser ruleRef */ + /* ruleRef */ [self pushFollow:FOLLOW_assignStat_in_stat476]; assignStat28 = [self assignStat]; + [self popFollow]; - [treeAdaptor addChild:[assignStat28 getTree] toTree:root_0]; /* element() */ - K_SEMICOLON29=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_stat478]; /* element() */ - /* elements */ + [treeAdaptor addChild:[assignStat28 getTree] toTree:root_0]; + + K_SEMICOLON29=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_stat478]; + } break; case 5 : ; - // SimpleC.g:62:7: K_SEMICOLON // alt + // SimpleC.g:62:7: K_SEMICOLON ! // alt { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; - K_SEMICOLON30=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_stat487]; /* element() */ - /* elements */ + + K_SEMICOLON30=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_stat487]; + } break; @@ -2046,33 +2256,41 @@ - (SimpleCParser_stat_return *) stat [retval setStop:[input LT:-1]]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end stat */ + /* * $ANTLR start forStat * SimpleC.g:65:1: forStat : K_FOR K_LCURVE start= assignStat K_SEMICOLON expr K_SEMICOLON next= assignStat K_RCURVE block -> ^( K_FOR $start expr $next block ) ; */ - (SimpleCParser_forStat_return *) forStat { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_forStat_return * retval = [SimpleCParser_forStat_return newSimpleCParser_forStat_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { @@ -2082,39 +2300,39 @@ - (SimpleCParser_forStat_return *) forStat ANTLRCommonToken *K_SEMICOLON33 = nil; ANTLRCommonToken *K_SEMICOLON35 = nil; ANTLRCommonToken *K_RCURVE36 = nil; - SimpleCParser_assignStat_return * start = nil; - - SimpleCParser_assignStat_return * next = nil; - - SimpleCParser_expr_return * expr34 = nil; - - SimpleCParser_block_return * block37 = nil; - + SimpleCParser_assignStat_return * start = nil ; + + SimpleCParser_assignStat_return * next = nil ; + + SimpleCParser_expr_return * expr34 = nil ; + + SimpleCParser_block_return * block37 = nil ; + ANTLRCommonTree *K_FOR31_tree=nil; ANTLRCommonTree *K_LCURVE32_tree=nil; ANTLRCommonTree *K_SEMICOLON33_tree=nil; ANTLRCommonTree *K_SEMICOLON35_tree=nil; ANTLRCommonTree *K_RCURVE36_tree=nil; - ANTLRRewriteRuleTokenStream *stream_K_LCURVE = + ANTLRRewriteRuleTokenStream *stream_K_LCURVE = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_LCURVE"] retain]; - ANTLRRewriteRuleTokenStream *stream_K_RCURVE = + ANTLRRewriteRuleTokenStream *stream_K_RCURVE = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_RCURVE"] retain]; - ANTLRRewriteRuleTokenStream *stream_K_SEMICOLON = + ANTLRRewriteRuleTokenStream *stream_K_SEMICOLON = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_SEMICOLON"] retain]; - ANTLRRewriteRuleTokenStream *stream_K_FOR = + ANTLRRewriteRuleTokenStream *stream_K_FOR = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_FOR"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_assignStat = + ANTLRRewriteRuleSubtreeStream *stream_assignStat = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule assignStat"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_block = + ANTLRRewriteRuleSubtreeStream *stream_block = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule block"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_expr = + ANTLRRewriteRuleSubtreeStream *stream_expr = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule expr"] retain]; // SimpleC.g:66:5: ( K_FOR K_LCURVE start= assignStat K_SEMICOLON expr K_SEMICOLON next= assignStat K_RCURVE block -> ^( K_FOR $start expr $next block ) ) // ruleBlockSingleAlt @@ -2122,68 +2340,78 @@ - (SimpleCParser_forStat_return *) forStat { K_FOR31=(ANTLRCommonToken *)[self match:input TokenType:K_FOR Follow:FOLLOW_K_FOR_in_forStat507]; [stream_K_FOR addElement:K_FOR31]; - /* element() */ + + K_LCURVE32=(ANTLRCommonToken *)[self match:input TokenType:K_LCURVE Follow:FOLLOW_K_LCURVE_in_forStat509]; [stream_K_LCURVE addElement:K_LCURVE32]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_assignStat_in_forStat513]; start = [self assignStat]; + [self popFollow]; - [stream_assignStat addElement:[start getTree]]; /* element() */ + [stream_assignStat addElement:[start getTree]]; + K_SEMICOLON33=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_forStat515]; [stream_K_SEMICOLON addElement:K_SEMICOLON33]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_forStat517]; expr34 = [self expr]; + [self popFollow]; - [stream_expr addElement:[expr34 getTree]]; /* element() */ + [stream_expr addElement:[expr34 getTree]]; + K_SEMICOLON35=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_forStat519]; [stream_K_SEMICOLON addElement:K_SEMICOLON35]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_assignStat_in_forStat523]; next = [self assignStat]; + [self popFollow]; - [stream_assignStat addElement:[next getTree]]; /* element() */ + [stream_assignStat addElement:[next getTree]]; + K_RCURVE36=(ANTLRCommonToken *)[self match:input TokenType:K_RCURVE Follow:FOLLOW_K_RCURVE_in_forStat525]; [stream_K_RCURVE addElement:K_RCURVE36]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_block_in_forStat527]; block37 = [self block]; + [self popFollow]; - [stream_block addElement:[block37 getTree]]; /* element() */ - /* elements */ + [stream_block addElement:[block37 getTree]]; // AST REWRITE - // elements: expr, start, block, next, K_FOR + // elements: start, next, expr, block, K_FOR // token labels: // rule labels: retval, start, next // token list labels: // rule list labels: // wildcard labels: - [retval setTree:root_0]; - retval.tree = root_0; ANTLRRewriteRuleSubtreeStream *stream_retval = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token retval" - element:retval!=nil?[retval getTree]:nil] retain]; + description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain]; ANTLRRewriteRuleSubtreeStream *stream_start = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token start" - element:start!=nil?[start getTree]:nil] retain]; + description:@"token start" element:start!=nil?[start getTree]:nil] retain]; ANTLRRewriteRuleSubtreeStream *stream_next = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token next" - element:next!=nil?[next getTree]:nil] retain]; + description:@"token next" element:next!=nil?[next getTree]:nil] retain]; root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; @@ -2192,11 +2420,16 @@ - (SimpleCParser_forStat_return *) forStat // SimpleC.g:67:12: ^( K_FOR $start expr $next block ) { ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; - root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:[stream_K_FOR nextNode] old:root_1]; + root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot: + [stream_K_FOR nextNode] + old:root_1]; [treeAdaptor addChild:[stream_start nextTree] toTree:root_1]; + [treeAdaptor addChild:[stream_expr nextTree] toTree:root_1]; + [treeAdaptor addChild:[stream_next nextTree] toTree:root_1]; + [treeAdaptor addChild:[stream_block nextTree] toTree:root_1]; [treeAdaptor addChild:root_1 toTree:root_0]; @@ -2204,8 +2437,10 @@ - (SimpleCParser_forStat_return *) forStat } + retval.tree = root_0; + } /* ASTParser ruleCleanUp */ @@ -2213,6 +2448,7 @@ - (SimpleCParser_forStat_return *) forStat // token+rule list labels [retval setStop:[input LT:-1]]; + [stream_K_LCURVE release]; [stream_K_RCURVE release]; [stream_K_SEMICOLON release]; @@ -2222,50 +2458,57 @@ - (SimpleCParser_forStat_return *) forStat [stream_expr release]; retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end forStat */ + /* * $ANTLR start assignStat * SimpleC.g:70:1: assignStat : K_ID K_EQ expr -> ^( K_EQ K_ID expr ) ; */ - (SimpleCParser_assignStat_return *) assignStat { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_assignStat_return * retval = [SimpleCParser_assignStat_return newSimpleCParser_assignStat_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { /* AST ruleLabelDefs */ ANTLRCommonToken *K_ID38 = nil; ANTLRCommonToken *K_EQ39 = nil; - SimpleCParser_expr_return * expr40 = nil; - + SimpleCParser_expr_return * expr40 = nil ; + ANTLRCommonTree *K_ID38_tree=nil; ANTLRCommonTree *K_EQ39_tree=nil; - ANTLRRewriteRuleTokenStream *stream_K_ID = + ANTLRRewriteRuleTokenStream *stream_K_ID = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_ID"] retain]; - ANTLRRewriteRuleTokenStream *stream_K_EQ = + ANTLRRewriteRuleTokenStream *stream_K_EQ = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_EQ"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_expr = + ANTLRRewriteRuleSubtreeStream *stream_expr = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule expr"] retain]; // SimpleC.g:71:5: ( K_ID K_EQ expr -> ^( K_EQ K_ID expr ) ) // ruleBlockSingleAlt @@ -2273,33 +2516,33 @@ - (SimpleCParser_assignStat_return *) assignStat { K_ID38=(ANTLRCommonToken *)[self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_assignStat570]; [stream_K_ID addElement:K_ID38]; - /* element() */ + + K_EQ39=(ANTLRCommonToken *)[self match:input TokenType:K_EQ Follow:FOLLOW_K_EQ_in_assignStat572]; [stream_K_EQ addElement:K_EQ39]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_assignStat574]; expr40 = [self expr]; + [self popFollow]; - [stream_expr addElement:[expr40 getTree]]; /* element() */ - /* elements */ + [stream_expr addElement:[expr40 getTree]]; // AST REWRITE - // elements: K_EQ, expr, K_ID + // elements: K_ID, K_EQ, expr // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: - [retval setTree:root_0]; - retval.tree = root_0; ANTLRRewriteRuleSubtreeStream *stream_retval = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token retval" - element:retval!=nil?[retval getTree]:nil] retain]; + description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain]; root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; @@ -2308,10 +2551,15 @@ - (SimpleCParser_assignStat_return *) assignStat // SimpleC.g:71:27: ^( K_EQ K_ID expr ) { ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; - root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:[stream_K_EQ nextNode] old:root_1]; + root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot: + [stream_K_EQ nextNode] + old:root_1]; // TODO: args: - [treeAdaptor addChild:[stream_K_ID nextNode] toTree:root_1]; + [treeAdaptor addChild: + [stream_K_ID nextNode] + toTree:root_1]; + [treeAdaptor addChild:[stream_expr nextTree] toTree:root_1]; [treeAdaptor addChild:root_1 toTree:root_0]; @@ -2319,8 +2567,10 @@ - (SimpleCParser_assignStat_return *) assignStat } + retval.tree = root_0; + } /* ASTParser ruleCleanUp */ @@ -2328,43 +2578,51 @@ - (SimpleCParser_assignStat_return *) assignStat // token+rule list labels [retval setStop:[input LT:-1]]; + [stream_K_ID release]; [stream_K_EQ release]; [stream_expr release]; retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end assignStat */ + /* * $ANTLR start expr * SimpleC.g:74:1: expr : condExpr ; */ - (SimpleCParser_expr_return *) expr { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_expr_return * retval = [SimpleCParser_expr_return newSimpleCParser_expr_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { /* AST ruleLabelDefs */ - SimpleCParser_condExpr_return * condExpr41 = nil; - + SimpleCParser_condExpr_return * condExpr41 = nil ; + // SimpleC.g:74:5: ( condExpr ) // ruleBlockSingleAlt @@ -2372,14 +2630,17 @@ - (SimpleCParser_expr_return *) expr { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser ruleRef */ + /* ruleRef */ [self pushFollow:FOLLOW_condExpr_in_expr598]; condExpr41 = [self condExpr]; + [self popFollow]; - [treeAdaptor addChild:[condExpr41 getTree] toTree:root_0]; /* element() */ - /* elements */ + [treeAdaptor addChild:[condExpr41 getTree] toTree:root_0]; + } /* ASTParser ruleCleanUp */ @@ -2388,71 +2649,83 @@ - (SimpleCParser_expr_return *) expr [retval setStop:[input LT:-1]]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end expr */ + /* * $ANTLR start condExpr - * SimpleC.g:77:1: condExpr : aexpr ( ( K_EQEQ | K_LT ) aexpr )? ; + * SimpleC.g:77:1: condExpr : aexpr ( ( K_EQEQ ^| K_LT ^) aexpr )? ; */ - (SimpleCParser_condExpr_return *) condExpr { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_condExpr_return * retval = [SimpleCParser_condExpr_return newSimpleCParser_condExpr_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { /* AST ruleLabelDefs */ ANTLRCommonToken *K_EQEQ43 = nil; ANTLRCommonToken *K_LT44 = nil; - SimpleCParser_aexpr_return * aexpr42 = nil; - - SimpleCParser_aexpr_return * aexpr45 = nil; - + SimpleCParser_aexpr_return * aexpr42 = nil ; + + SimpleCParser_aexpr_return * aexpr45 = nil ; + ANTLRCommonTree *K_EQEQ43_tree=nil; ANTLRCommonTree *K_LT44_tree=nil; - // SimpleC.g:78:5: ( aexpr ( ( K_EQEQ | K_LT ) aexpr )? ) // ruleBlockSingleAlt - // SimpleC.g:78:9: aexpr ( ( K_EQEQ | K_LT ) aexpr )? // alt + // SimpleC.g:78:5: ( aexpr ( ( K_EQEQ ^| K_LT ^) aexpr )? ) // ruleBlockSingleAlt + // SimpleC.g:78:9: aexpr ( ( K_EQEQ ^| K_LT ^) aexpr )? // alt { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser ruleRef */ + /* ruleRef */ [self pushFollow:FOLLOW_aexpr_in_condExpr617]; aexpr42 = [self aexpr]; + [self popFollow]; - [treeAdaptor addChild:[aexpr42 getTree] toTree:root_0]; /* element() */ - // SimpleC.g:78:15: ( ( K_EQEQ | K_LT ) aexpr )? // block + [treeAdaptor addChild:[aexpr42 getTree] toTree:root_0]; + + // SimpleC.g:78:15: ( ( K_EQEQ ^| K_LT ^) aexpr )? // block NSInteger alt9=2; NSInteger LA9_0 = [input LA:1]; - if ( ((LA9_0>=K_EQEQ && LA9_0<=K_LT)) ) { + if ( (LA9_0==K_EQEQ||LA9_0==K_LT) ) { alt9=1; } switch (alt9) { case 1 : ; - // SimpleC.g:78:17: ( K_EQEQ | K_LT ) aexpr // alt + // SimpleC.g:78:17: ( K_EQEQ ^| K_LT ^) aexpr // alt { - // SimpleC.g:78:17: ( K_EQEQ | K_LT ) // block + // SimpleC.g:78:17: ( K_EQEQ ^| K_LT ^) // block NSInteger alt8=2; NSInteger LA8_0 = [input LA:1]; @@ -2463,49 +2736,56 @@ - (SimpleCParser_condExpr_return *) condExpr alt8=2; } else { - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:8 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:8 state:0 stream:input]; + nvae.c = LA8_0; @throw nvae; + } switch (alt8) { case 1 : ; - // SimpleC.g:78:18: K_EQEQ // alt + // SimpleC.g:78:18: K_EQEQ ^ // alt { K_EQEQ43=(ANTLRCommonToken *)[self match:input TokenType:K_EQEQ Follow:FOLLOW_K_EQEQ_in_condExpr622]; K_EQEQ43_tree = /* ASTParser createNodeFromToken */ - (ANTLRCommonTree *)[[treeAdaptor createTree:K_EQEQ43] retain]; + (ANTLRCommonTree *)[[treeAdaptor create:K_EQEQ43] retain] + ; root_0 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:K_EQEQ43_tree old:root_0]; - /* element() */ - /* elements */ + + } break; case 2 : ; - // SimpleC.g:78:28: K_LT // alt + // SimpleC.g:78:28: K_LT ^ // alt { K_LT44=(ANTLRCommonToken *)[self match:input TokenType:K_LT Follow:FOLLOW_K_LT_in_condExpr627]; K_LT44_tree = /* ASTParser createNodeFromToken */ - (ANTLRCommonTree *)[[treeAdaptor createTree:K_LT44] retain]; + (ANTLRCommonTree *)[[treeAdaptor create:K_LT44] retain] + ; root_0 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:K_LT44_tree old:root_0]; - /* element() */ - /* elements */ + + } break; } - /* element() */ + + /* ASTParser ruleRef */ + /* ruleRef */ [self pushFollow:FOLLOW_aexpr_in_condExpr631]; aexpr45 = [self aexpr]; + [self popFollow]; - [treeAdaptor addChild:[aexpr45 getTree] toTree:root_0]; /* element() */ - /* elements */ + [treeAdaptor addChild:[aexpr45 getTree] toTree:root_0]; + } break; } - /* element() */ - /* elements */ + + } /* ASTParser ruleCleanUp */ @@ -2514,57 +2794,69 @@ - (SimpleCParser_condExpr_return *) condExpr [retval setStop:[input LT:-1]]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end condExpr */ + /* * $ANTLR start aexpr - * SimpleC.g:81:1: aexpr : atom ( K_PLUS atom )* ; + * SimpleC.g:81:1: aexpr : atom ( K_PLUS ^ atom )* ; */ - (SimpleCParser_aexpr_return *) aexpr { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_aexpr_return * retval = [SimpleCParser_aexpr_return newSimpleCParser_aexpr_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { /* AST ruleLabelDefs */ ANTLRCommonToken *K_PLUS47 = nil; - SimpleCParser_atom_return * atom46 = nil; - - SimpleCParser_atom_return * atom48 = nil; - + SimpleCParser_atom_return * atom46 = nil ; + + SimpleCParser_atom_return * atom48 = nil ; + ANTLRCommonTree *K_PLUS47_tree=nil; - // SimpleC.g:82:5: ( atom ( K_PLUS atom )* ) // ruleBlockSingleAlt - // SimpleC.g:82:9: atom ( K_PLUS atom )* // alt + // SimpleC.g:82:5: ( atom ( K_PLUS ^ atom )* ) // ruleBlockSingleAlt + // SimpleC.g:82:9: atom ( K_PLUS ^ atom )* // alt { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser ruleRef */ + /* ruleRef */ [self pushFollow:FOLLOW_atom_in_aexpr653]; atom46 = [self atom]; + [self popFollow]; - [treeAdaptor addChild:[atom46 getTree] toTree:root_0]; /* element() */ + [treeAdaptor addChild:[atom46 getTree] toTree:root_0]; + do { NSInteger alt10=2; NSInteger LA10_0 = [input LA:1]; @@ -2575,21 +2867,25 @@ - (SimpleCParser_aexpr_return *) aexpr switch (alt10) { case 1 : ; - // SimpleC.g:82:16: K_PLUS atom // alt + // SimpleC.g:82:16: K_PLUS ^ atom // alt { K_PLUS47=(ANTLRCommonToken *)[self match:input TokenType:K_PLUS Follow:FOLLOW_K_PLUS_in_aexpr657]; K_PLUS47_tree = /* ASTParser createNodeFromToken */ - (ANTLRCommonTree *)[[treeAdaptor createTree:K_PLUS47] retain]; + (ANTLRCommonTree *)[[treeAdaptor create:K_PLUS47] retain] + ; root_0 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:K_PLUS47_tree old:root_0]; - /* element() */ + + /* ASTParser ruleRef */ + /* ruleRef */ [self pushFollow:FOLLOW_atom_in_aexpr660]; atom48 = [self atom]; + [self popFollow]; - [treeAdaptor addChild:[atom48 getTree] toTree:root_0]; /* element() */ - /* elements */ + [treeAdaptor addChild:[atom48 getTree] toTree:root_0]; + } break; @@ -2598,8 +2894,8 @@ - (SimpleCParser_aexpr_return *) aexpr } } while (YES); loop10: ; - /* element() */ - /* elements */ + + } /* ASTParser ruleCleanUp */ @@ -2608,33 +2904,41 @@ - (SimpleCParser_aexpr_return *) aexpr [retval setStop:[input LT:-1]]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end aexpr */ + /* * $ANTLR start atom * SimpleC.g:85:1: atom : ( K_ID | K_INT | K_LCURVE expr K_RCURVE -> expr ); */ - (SimpleCParser_atom_return *) atom { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ SimpleCParser_atom_return * retval = [SimpleCParser_atom_return newSimpleCParser_atom_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { @@ -2643,25 +2947,26 @@ - (SimpleCParser_atom_return *) atom ANTLRCommonToken *K_INT50 = nil; ANTLRCommonToken *K_LCURVE51 = nil; ANTLRCommonToken *K_RCURVE53 = nil; - SimpleCParser_expr_return * expr52 = nil; - + SimpleCParser_expr_return * expr52 = nil ; + ANTLRCommonTree *K_ID49_tree=nil; ANTLRCommonTree *K_INT50_tree=nil; ANTLRCommonTree *K_LCURVE51_tree=nil; ANTLRCommonTree *K_RCURVE53_tree=nil; - ANTLRRewriteRuleTokenStream *stream_K_LCURVE = + ANTLRRewriteRuleTokenStream *stream_K_LCURVE = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_LCURVE"] retain]; - ANTLRRewriteRuleTokenStream *stream_K_RCURVE = + ANTLRRewriteRuleTokenStream *stream_K_RCURVE = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token K_RCURVE"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_expr = + ANTLRRewriteRuleSubtreeStream *stream_expr = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule expr"] retain]; // SimpleC.g:86:5: ( K_ID | K_INT | K_LCURVE expr K_RCURVE -> expr ) //ruleblock NSInteger alt11=3; - switch ([input LA:1]) { + unichar charLA11 = [input LA:1]; + switch (charLA11) { case K_ID: ; { alt11=1; @@ -2679,8 +2984,10 @@ - (SimpleCParser_atom_return *) atom break; default: ; - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:11 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:11 state:0 stream:input]; + nvae.c = charLA11; @throw nvae; + } switch (alt11) { @@ -2689,13 +2996,15 @@ - (SimpleCParser_atom_return *) atom { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser tokenRef */ K_ID49=(ANTLRCommonToken *)[self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_atom680]; K_ID49_tree = /* ASTParser createNodeFromToken */ - (ANTLRCommonTree *)[[treeAdaptor createTree:K_ID49] retain]; + (ANTLRCommonTree *)[[treeAdaptor create:K_ID49] retain] + ; [treeAdaptor addChild:K_ID49_tree toTree:root_0]; - /* element() */ - /* elements */ + + } break; case 2 : ; @@ -2703,13 +3012,15 @@ - (SimpleCParser_atom_return *) atom { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser tokenRef */ K_INT50=(ANTLRCommonToken *)[self match:input TokenType:K_INT Follow:FOLLOW_K_INT_in_atom694]; K_INT50_tree = /* ASTParser createNodeFromToken */ - (ANTLRCommonTree *)[[treeAdaptor createTree:K_INT50] retain]; + (ANTLRCommonTree *)[[treeAdaptor create:K_INT50] retain] + ; [treeAdaptor addChild:K_INT50_tree toTree:root_0]; - /* element() */ - /* elements */ + + } break; case 3 : ; @@ -2717,17 +3028,20 @@ - (SimpleCParser_atom_return *) atom { K_LCURVE51=(ANTLRCommonToken *)[self match:input TokenType:K_LCURVE Follow:FOLLOW_K_LCURVE_in_atom708]; [stream_K_LCURVE addElement:K_LCURVE51]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_atom710]; expr52 = [self expr]; + [self popFollow]; - [stream_expr addElement:[expr52 getTree]]; /* element() */ + [stream_expr addElement:[expr52 getTree]]; + K_RCURVE53=(ANTLRCommonToken *)[self match:input TokenType:K_RCURVE Follow:FOLLOW_K_RCURVE_in_atom712]; [stream_K_RCURVE addElement:K_RCURVE53]; - /* element() */ - /* elements */ + // AST REWRITE // elements: expr @@ -2736,14 +3050,11 @@ - (SimpleCParser_atom_return *) atom // token list labels: // rule list labels: // wildcard labels: - [retval setTree:root_0]; - retval.tree = root_0; ANTLRRewriteRuleSubtreeStream *stream_retval = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token retval" - element:retval!=nil?[retval getTree]:nil] retain]; + description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain]; root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; @@ -2753,8 +3064,10 @@ - (SimpleCParser_atom_return *) atom } + retval.tree = root_0; + } break; @@ -2764,29 +3077,30 @@ - (SimpleCParser_atom_return *) atom // token+rule list labels [retval setStop:[input LT:-1]]; + [stream_K_LCURVE release]; [stream_K_RCURVE release]; [stream_expr release]; retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end atom */ +/* ObjC end rules */ @end /* end of SimpleCParser implementation line 692 */ - - -/* End of code - * ============================================================================= - */ diff --git a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.h b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.h index 5f60eaa4..2832b661 100644 --- a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.h +++ b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.h @@ -1,89 +1,126 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SimpleCTP.g 2010-08-25 11:11:23 +// $ANTLR ${project.version} ${buildNumber} SimpleCTP.g 2011-05-06 15:09:28 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ /* treeParserHeaderFile */ +#ifndef ANTLR3TokenTypeAlreadyDefined +#define ANTLR3TokenTypeAlreadyDefined +typedef enum { + ANTLR_EOF = -1, + INVALID, + EOR, + DOWN, + UP, + MIN +} ANTLR3TokenType; +#endif + #pragma mark Tokens -#define K_ID 11 -#define K_RCURLY 19 -#define K_RCURVE 14 -#define K_INT 25 -#define K_EQEQ 22 -#define K_FOR 20 -#define FUNC_HDR 6 -#define FUNC_DEF 8 +#ifdef EOF +#undef EOF +#endif #define EOF -1 -#define K_SEMICOLON 10 -#define K_INT_TYPE 15 -#define FUNC_DECL 7 -#define K_COMMA 13 -#define ARG_DEF 5 -#define K_LCURLY 18 +#define ARG_DEF 4 +#define BLOCK 5 +#define FUNC_DECL 6 +#define FUNC_DEF 7 +#define FUNC_HDR 8 +#define K_CHAR 9 +#define K_COMMA 10 +#define K_EQ 11 +#define K_EQEQ 12 +#define K_FOR 13 +#define K_ID 14 +#define K_INT 15 +#define K_INT_TYPE 16 +#define K_LCURLY 17 +#define K_LCURVE 18 +#define K_LT 19 +#define K_PLUS 20 +#define K_RCURLY 21 +#define K_RCURVE 22 +#define K_SEMICOLON 23 +#define K_VOID 24 +#define VAR_DEF 25 #define WS 26 -#define K_EQ 21 -#define BLOCK 9 -#define K_LCURVE 12 -#define K_LT 23 -#define K_CHAR 16 -#define K_VOID 17 -#define VAR_DEF 4 -#define K_PLUS 24 #pragma mark Dynamic Global Scopes -@interface Symbols_Scope : ANTLRSymbolsScope { /* globalAttributeScopeDecl */ +/* globalAttributeScopeInterface */ +@interface Symbols_Scope : ANTLRSymbolsScope { ANTLRCommonTree * tree; + } -/* start of properties */ +/* start of globalAttributeScopeInterface properties */ + +@property (assign, getter=gettree, setter=settree:) ANTLRCommonTree * tree; -@property (retain, getter=gettree, setter=settree:) ANTLRCommonTree * tree; +/* end globalAttributeScopeInterface properties */ -/* end properties */ + (Symbols_Scope *)newSymbols_Scope; -/* start of iterated get and set functions */ +- (id) init; +/* start of globalAttributeScopeInterface methodsDecl */ - (ANTLRCommonTree *)gettree; - (void)settree:(ANTLRCommonTree *)aVal; -/* End of iterated get and set functions */ +/* End of globalAttributeScopeInterface methodsDecl */ @end /* end of Symbols_Scope interface */ #pragma mark Dynamic Rule Scopes #pragma mark Rule Return Scopes start -/* returnScopeInterface */ -@interface SimpleCTP_expr_return :ANTLRTreeRuleReturnScope { /* returnScopeInterface line 1806 */ - /* start of memVars() */ +/* returnScopeInterface SimpleCTP_expr_return */ +@interface SimpleCTP_expr_return :ANTLRTreeRuleReturnScope { /* returnScopeInterface line 1838 */ + /* ObjC start of memVars() */ } - /* start properties */ +/* start properties */ + (SimpleCTP_expr_return *)newSimpleCTP_expr_return; /* this is start of set and get methods */ /* methodsDecl */ @end /* end of returnScopeInterface interface */ -#pragma mark Rule return scopes end + + + +/* Interface grammar class */ @interface SimpleCTP : ANTLRTreeParser { /* line 572 */ -// start of globalAttributeScopeMemVar -/* globalAttributeScopeMemVar */ -ANTLRSymbolStack *gStack; -Symbols_Scope *Symbols_scope; +/* ObjC start of ruleAttributeScopeMemVar */ -// start of action-actionScope-memVars -// start of ruleAttributeScopeMemVar +/* ObjC end of ruleAttributeScopeMemVar */ +/* ObjC start of globalAttributeScopeMemVar */ +/* globalAttributeScopeMemVar */ +//ANTLRSymbolStack *gStack; +ANTLRSymbolStack *Symbols_stack; +Symbols_Scope *Symbols_scope; -// Start of memVars +/* ObjC end of globalAttributeScopeMemVar */ +/* ObjC start of actions.(actionScope).memVars */ +/* ObjC end of actions.(actionScope).memVars */ +/* ObjC start of memVars */ +/* ObjC end of memVars */ } -// start of action-actionScope-methodsDecl +/* ObjC start of actions.(actionScope).properties */ +/* ObjC end of actions.(actionScope).properties */ +/* ObjC start of properties */ +/* ObjC end of properties */ + ++ (void) initialize; ++ (id) newSimpleCTP:(id)aStream; +/* ObjC start of actions.(actionScope).methodsDecl */ +/* ObjC end of actions.(actionScope).methodsDecl */ +/* ObjC start of methodsDecl */ +/* ObjC end of methodsDecl */ - (void)program; - (void)declaration; @@ -100,3 +137,4 @@ Symbols_Scope *Symbols_scope; @end /* end of SimpleCTP interface */ + diff --git a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.m b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.m index 15ea63d2..a9100eb1 100644 --- a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.m +++ b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : SimpleCTP.g - * - On : 2010-08-25 11:11:23 - * - for the tree parser : SimpleCTPTreeParser * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 15:09:28 + * - for the tree parser : SimpleCTPTreeParser + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 SimpleCTP.g 2010-08-25 11:11:23 +// $ANTLR ${project.version} ${buildNumber} SimpleCTP.g 2011-05-06 15:09:28 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -47,16 +22,13 @@ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ - - #pragma mark Bitsets static ANTLRBitSet *FOLLOW_declaration_in_program56; -static const unsigned long long FOLLOW_declaration_in_program56_data[] = { 0x0000000000000192LL}; +static const unsigned long long FOLLOW_declaration_in_program56_data[] = { 0x00000000020000C2LL}; static ANTLRBitSet *FOLLOW_variable_in_declaration76; static const unsigned long long FOLLOW_variable_in_declaration76_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_FUNC_DECL_in_declaration87; @@ -66,13 +38,13 @@ static ANTLRBitSet *FOLLOW_FUNC_DEF_in_declaration101; static const unsigned long long FOLLOW_FUNC_DEF_in_declaration101_data[] = { 0x0000000000000004LL}; static ANTLRBitSet *FOLLOW_functionHeader_in_declaration103; -static const unsigned long long FOLLOW_functionHeader_in_declaration103_data[] = { 0x0000000000000200LL}; +static const unsigned long long FOLLOW_functionHeader_in_declaration103_data[] = { 0x0000000000000020LL}; static ANTLRBitSet *FOLLOW_block_in_declaration105; static const unsigned long long FOLLOW_block_in_declaration105_data[] = { 0x0000000000000008LL}; static ANTLRBitSet *FOLLOW_VAR_DEF_in_variable126; static const unsigned long long FOLLOW_VAR_DEF_in_variable126_data[] = { 0x0000000000000004LL}; static ANTLRBitSet *FOLLOW_type_in_variable128; -static const unsigned long long FOLLOW_type_in_variable128_data[] = { 0x0000000000000800LL}; +static const unsigned long long FOLLOW_type_in_variable128_data[] = { 0x0000000000004000LL}; static ANTLRBitSet *FOLLOW_declarator_in_variable130; static const unsigned long long FOLLOW_declarator_in_variable130_data[] = { 0x0000000000000008LL}; static ANTLRBitSet *FOLLOW_K_ID_in_declarator150; @@ -80,25 +52,23 @@ static ANTLRBitSet *FOLLOW_FUNC_HDR_in_functionHeader171; static const unsigned long long FOLLOW_FUNC_HDR_in_functionHeader171_data[] = { 0x0000000000000004LL}; static ANTLRBitSet *FOLLOW_type_in_functionHeader173; -static const unsigned long long FOLLOW_type_in_functionHeader173_data[] = { 0x0000000000000800LL}; +static const unsigned long long FOLLOW_type_in_functionHeader173_data[] = { 0x0000000000004000LL}; static ANTLRBitSet *FOLLOW_K_ID_in_functionHeader175; -static const unsigned long long FOLLOW_K_ID_in_functionHeader175_data[] = { 0x0000000000000020LL}; +static const unsigned long long FOLLOW_K_ID_in_functionHeader175_data[] = { 0x0000000000000010LL}; static ANTLRBitSet *FOLLOW_formalParameter_in_functionHeader177; -static const unsigned long long FOLLOW_formalParameter_in_functionHeader177_data[] = { 0x0000000000000028LL}; +static const unsigned long long FOLLOW_formalParameter_in_functionHeader177_data[] = { 0x0000000000000018LL}; static ANTLRBitSet *FOLLOW_ARG_DEF_in_formalParameter199; static const unsigned long long FOLLOW_ARG_DEF_in_formalParameter199_data[] = { 0x0000000000000004LL}; static ANTLRBitSet *FOLLOW_type_in_formalParameter201; -static const unsigned long long FOLLOW_type_in_formalParameter201_data[] = { 0x0000000000000800LL}; +static const unsigned long long FOLLOW_type_in_formalParameter201_data[] = { 0x0000000000004000LL}; static ANTLRBitSet *FOLLOW_declarator_in_formalParameter203; static const unsigned long long FOLLOW_declarator_in_formalParameter203_data[] = { 0x0000000000000008LL}; -static ANTLRBitSet *FOLLOW_set_in_type0; -static const unsigned long long FOLLOW_set_in_type0_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_BLOCK_in_block283; static const unsigned long long FOLLOW_BLOCK_in_block283_data[] = { 0x0000000000000004LL}; static ANTLRBitSet *FOLLOW_variable_in_block285; -static const unsigned long long FOLLOW_variable_in_block285_data[] = { 0x0000000003F00A18LL}; +static const unsigned long long FOLLOW_variable_in_block285_data[] = { 0x000000000218F828LL}; static ANTLRBitSet *FOLLOW_stat_in_block288; -static const unsigned long long FOLLOW_stat_in_block288_data[] = { 0x0000000003F00A08LL}; +static const unsigned long long FOLLOW_stat_in_block288_data[] = { 0x000000000018F828LL}; static ANTLRBitSet *FOLLOW_forStat_in_stat302; static const unsigned long long FOLLOW_forStat_in_stat302_data[] = { 0x0000000000000002LL}; static ANTLRBitSet *FOLLOW_expr_in_stat310; @@ -108,60 +78,64 @@ static ANTLRBitSet *FOLLOW_K_FOR_in_forStat338; static const unsigned long long FOLLOW_K_FOR_in_forStat338_data[] = { 0x0000000000000004LL}; static ANTLRBitSet *FOLLOW_expr_in_forStat340; -static const unsigned long long FOLLOW_expr_in_forStat340_data[] = { 0x0000000003E00800LL}; +static const unsigned long long FOLLOW_expr_in_forStat340_data[] = { 0x000000000018D800LL}; static ANTLRBitSet *FOLLOW_expr_in_forStat342; -static const unsigned long long FOLLOW_expr_in_forStat342_data[] = { 0x0000000003E00800LL}; +static const unsigned long long FOLLOW_expr_in_forStat342_data[] = { 0x000000000018D800LL}; static ANTLRBitSet *FOLLOW_expr_in_forStat344; -static const unsigned long long FOLLOW_expr_in_forStat344_data[] = { 0x0000000000000200LL}; +static const unsigned long long FOLLOW_expr_in_forStat344_data[] = { 0x0000000000000020LL}; static ANTLRBitSet *FOLLOW_block_in_forStat346; static const unsigned long long FOLLOW_block_in_forStat346_data[] = { 0x0000000000000008LL}; static ANTLRBitSet *FOLLOW_K_EQEQ_in_expr362; static const unsigned long long FOLLOW_K_EQEQ_in_expr362_data[] = { 0x0000000000000004LL}; static ANTLRBitSet *FOLLOW_expr_in_expr364; -static const unsigned long long FOLLOW_expr_in_expr364_data[] = { 0x0000000003E00800LL}; +static const unsigned long long FOLLOW_expr_in_expr364_data[] = { 0x000000000018D800LL}; static ANTLRBitSet *FOLLOW_expr_in_expr366; static const unsigned long long FOLLOW_expr_in_expr366_data[] = { 0x0000000000000008LL}; static ANTLRBitSet *FOLLOW_K_LT_in_expr378; static const unsigned long long FOLLOW_K_LT_in_expr378_data[] = { 0x0000000000000004LL}; static ANTLRBitSet *FOLLOW_expr_in_expr380; -static const unsigned long long FOLLOW_expr_in_expr380_data[] = { 0x0000000003E00800LL}; +static const unsigned long long FOLLOW_expr_in_expr380_data[] = { 0x000000000018D800LL}; static ANTLRBitSet *FOLLOW_expr_in_expr382; static const unsigned long long FOLLOW_expr_in_expr382_data[] = { 0x0000000000000008LL}; static ANTLRBitSet *FOLLOW_K_PLUS_in_expr394; static const unsigned long long FOLLOW_K_PLUS_in_expr394_data[] = { 0x0000000000000004LL}; static ANTLRBitSet *FOLLOW_expr_in_expr396; -static const unsigned long long FOLLOW_expr_in_expr396_data[] = { 0x0000000003E00800LL}; +static const unsigned long long FOLLOW_expr_in_expr396_data[] = { 0x000000000018D800LL}; static ANTLRBitSet *FOLLOW_expr_in_expr398; static const unsigned long long FOLLOW_expr_in_expr398_data[] = { 0x0000000000000008LL}; static ANTLRBitSet *FOLLOW_K_EQ_in_expr410; static const unsigned long long FOLLOW_K_EQ_in_expr410_data[] = { 0x0000000000000004LL}; static ANTLRBitSet *FOLLOW_K_ID_in_expr412; -static const unsigned long long FOLLOW_K_ID_in_expr412_data[] = { 0x0000000003E00800LL}; +static const unsigned long long FOLLOW_K_ID_in_expr412_data[] = { 0x000000000018D800LL}; static ANTLRBitSet *FOLLOW_expr_in_expr416; static const unsigned long long FOLLOW_expr_in_expr416_data[] = { 0x0000000000000008LL}; static ANTLRBitSet *FOLLOW_atom_in_expr429; static const unsigned long long FOLLOW_atom_in_expr429_data[] = { 0x0000000000000002LL}; -static ANTLRBitSet *FOLLOW_set_in_atom0; -static const unsigned long long FOLLOW_set_in_atom0_data[] = { 0x0000000000000002LL}; #pragma mark Dynamic Global Scopes -@implementation Symbols_Scope /* globalAttributeScopeImpl */ +@implementation Symbols_Scope /* globalAttributeScopeImplementation */ /* start of synthesize -- OBJC-Line 1750 */ @synthesize tree; + + (Symbols_Scope *)newSymbols_Scope { return [[[Symbols_Scope alloc] init] retain]; } + +- (id) init +{ + self = [super init]; + return self; +} + /* start of iterate get and set functions */ - (ANTLRCommonTree *)gettree { return( tree ); } - (void)settree:(ANTLRCommonTree *)aVal { tree = aVal; } - - /* End of iterate get and set functions */ @end /* end of Symbols_Scope implementation */ @@ -169,28 +143,7 @@ - (void)settree:(ANTLRCommonTree *)aVal { tree = aVal; } #pragma mark Dynamic Rule Scopes -#pragma mark Rule return scopes start -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ - -/* returnScope */ +#pragma mark Rule Return Scopes start @implementation SimpleCTP_expr_return /* returnScope */ /* start of synthesize -- OBJC-Line 1837 */ + (SimpleCTP_expr_return *)newSimpleCTP_expr_return @@ -198,17 +151,37 @@ + (SimpleCTP_expr_return *)newSimpleCTP_expr_return return [[[SimpleCTP_expr_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} @end /* end of returnScope implementation */ -/* returnScope */ +//#pragma mark Rule return scopes start +// +#pragma mark Rule return scopes start @implementation SimpleCTP // line 637 +/* ObjC start of ruleAttributeScope */ +#pragma mark Dynamic Rule Scopes +/* ObjC end of ruleAttributeScope */ +#pragma mark global Attribute Scopes +/* ObjC start globalAttributeScope */ +static _stack; + +/* ObjC end globalAttributeScope */ +/* ObjC start actions.(actionScope).synthesize */ +/* ObjC end actions.(actionScope).synthesize */ +/* ObjC start synthesize() */ +/* ObjC end synthesize() */ + + (void) initialize { #pragma mark Bitsets @@ -230,7 +203,6 @@ + (void) initialize FOLLOW_ARG_DEF_in_formalParameter199 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ARG_DEF_in_formalParameter199_data Count:(NSUInteger)1] retain]; FOLLOW_type_in_formalParameter201 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_formalParameter201_data Count:(NSUInteger)1] retain]; FOLLOW_declarator_in_formalParameter203 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_formalParameter203_data Count:(NSUInteger)1] retain]; - FOLLOW_set_in_type0 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_set_in_type0_data Count:(NSUInteger)1] retain]; FOLLOW_BLOCK_in_block283 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_BLOCK_in_block283_data Count:(NSUInteger)1] retain]; FOLLOW_variable_in_block285 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_variable_in_block285_data Count:(NSUInteger)1] retain]; FOLLOW_stat_in_block288 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_stat_in_block288_data Count:(NSUInteger)1] retain]; @@ -255,29 +227,31 @@ + (void) initialize FOLLOW_K_ID_in_expr412 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_ID_in_expr412_data Count:(NSUInteger)1] retain]; FOLLOW_expr_in_expr416 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_expr416_data Count:(NSUInteger)1] retain]; FOLLOW_atom_in_expr429 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_atom_in_expr429_data Count:(NSUInteger)1] retain]; - FOLLOW_set_in_atom0 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_set_in_atom0_data Count:(NSUInteger)1] retain]; - [ANTLRBaseRecognizer setTokenNames:[[[NSArray alloc] initWithObjects:@"", @"", @"", @"", - @"VAR_DEF", @"ARG_DEF", @"FUNC_HDR", @"FUNC_DECL", @"FUNC_DEF", @"BLOCK", - @"K_SEMICOLON", @"K_ID", @"K_LCURVE", @"K_COMMA", @"K_RCURVE", @"K_INT_TYPE", - @"K_CHAR", @"K_VOID", @"K_LCURLY", @"K_RCURLY", @"K_FOR", @"K_EQ", @"K_EQEQ", - @"K_LT", @"K_PLUS", @"K_INT", @"WS", nil] retain]]; + [ANTLRBaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"", @"", @"", @"", + @"ARG_DEF", @"BLOCK", @"FUNC_DECL", @"FUNC_DEF", @"FUNC_HDR", @"K_CHAR", + @"K_COMMA", @"K_EQ", @"K_EQEQ", @"K_FOR", @"K_ID", @"K_INT", @"K_INT_TYPE", + @"K_LCURLY", @"K_LCURVE", @"K_LT", @"K_PLUS", @"K_RCURLY", @"K_RCURVE", + @"K_SEMICOLON", @"K_VOID", @"VAR_DEF", @"WS", nil] retain]]; + [ANTLRBaseRecognizer setGrammarFileName:@"SimpleCTP.g"]; } + (SimpleCTP *)newSimpleCTP:(id)aStream { - return [[SimpleCTP alloc] initWithStream:aStream]; -} +} - (id) initWithStream:(id)aStream { - if ((self = [super initWithStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:12+1] retain]]) != nil) { - + self = [super initWithStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:12+1] retain]]; + if ( self != nil ) { + /* globalAttributeScopeInit */ + Symbols_scope = [Symbols_Scope newSymbols_Scope]; + Symbols_stack = [ANTLRSymbolStack newANTLRSymbolStackWithLen:30]; /* start of actions-actionScope-init */ /* start of init */ } @@ -286,30 +260,36 @@ - (id) initWithStream:(id)aStream - (void) dealloc { - [Symbols_scope release]; + [Symbols_stack release]; [super dealloc]; } -// start actions.actionScope.methods -// start methods() -// start rules + +/* ObjC start members */ +/* ObjC end members */ +/* ObjC start actions.(actionScope).methods */ +/* ObjC end actions.(actionScope).methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ +/* ObjC start rules */ /* * $ANTLR start program * SimpleCTP.g:13:1: program : ( declaration )+ ; */ - (void) program { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleCTP.g:14:5: ( ( declaration )+ ) // ruleBlockSingleAlt // SimpleCTP.g:14:9: ( declaration )+ // alt { // SimpleCTP.g:14:9: ( declaration )+ // positiveClosureBlock - NSInteger cnt1=0; + NSInteger cnt1 = 0; do { - NSInteger alt1=2; + NSInteger alt1 = 2; NSInteger LA1_0 = [input LA:1]; - if ( (LA1_0==VAR_DEF||(LA1_0>=FUNC_DECL && LA1_0<=FUNC_DEF)) ) { + if ( ((LA1_0 >= FUNC_DECL && LA1_0 <= FUNC_DEF)||LA1_0==VAR_DEF) ) { alt1=1; } @@ -318,26 +298,29 @@ - (void) program case 1 : ; // SimpleCTP.g:14:9: declaration // alt { + /* ruleRef */ [self pushFollow:FOLLOW_declaration_in_program56]; [self declaration]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; default : if ( cnt1 >= 1 ) goto loop1; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:1]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:1]; @throw eee; } cnt1++; } while (YES); loop1: ; - /* element() */ - /* elements */ + + } // token+rule list labels @@ -346,23 +329,30 @@ - (void) program @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end program */ + /* * $ANTLR start declaration * SimpleCTP.g:17:1: declaration : ( variable | ^( FUNC_DECL functionHeader ) | ^( FUNC_DEF functionHeader block ) ); */ - (void) declaration { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleCTP.g:18:5: ( variable | ^( FUNC_DECL functionHeader ) | ^( FUNC_DEF functionHeader block ) ) //ruleblock NSInteger alt2=3; - switch ([input LA:1]) { + unichar charLA2 = [input LA:1]; + switch (charLA2) { case VAR_DEF: ; { alt2=1; @@ -380,57 +370,70 @@ - (void) declaration break; default: ; - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:2 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:2 state:0 stream:input]; + nvae.c = charLA2; @throw nvae; + } switch (alt2) { case 1 : ; // SimpleCTP.g:18:9: variable // alt { + /* ruleRef */ [self pushFollow:FOLLOW_variable_in_declaration76]; [self variable]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; case 2 : ; // SimpleCTP.g:19:9: ^( FUNC_DECL functionHeader ) // alt { - [self match:input TokenType:FUNC_DECL Follow:FOLLOW_FUNC_DECL_in_declaration87]; /* element() */ + [self match:input TokenType:FUNC_DECL Follow:FOLLOW_FUNC_DECL_in_declaration87]; - [self match:input TokenType:ANTLRTokenTypeDOWN Follow:nil]; + [self match:input TokenType:DOWN Follow:nil]; + /* ruleRef */ [self pushFollow:FOLLOW_functionHeader_in_declaration89]; [self functionHeader]; + [self popFollow]; - /* element() */ - [self match:input TokenType:ANTLRTokenTypeUP Follow:nil]; /* element() */ - /* elements */ + + [self match:input TokenType:UP Follow:nil]; + + } break; case 3 : ; // SimpleCTP.g:20:9: ^( FUNC_DEF functionHeader block ) // alt { - [self match:input TokenType:FUNC_DEF Follow:FOLLOW_FUNC_DEF_in_declaration101]; /* element() */ + [self match:input TokenType:FUNC_DEF Follow:FOLLOW_FUNC_DEF_in_declaration101]; - [self match:input TokenType:ANTLRTokenTypeDOWN Follow:nil]; + [self match:input TokenType:DOWN Follow:nil]; + /* ruleRef */ [self pushFollow:FOLLOW_functionHeader_in_declaration103]; [self functionHeader]; + [self popFollow]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_block_in_declaration105]; [self block]; + [self popFollow]; - /* element() */ - [self match:input TokenType:ANTLRTokenTypeUP Follow:nil]; /* element() */ - /* elements */ + + [self match:input TokenType:UP Follow:nil]; + + } break; @@ -441,39 +444,51 @@ - (void) declaration @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end declaration */ + /* * $ANTLR start variable * SimpleCTP.g:23:1: variable : ^( VAR_DEF type declarator ) ; */ - (void) variable { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleCTP.g:24:5: ( ^( VAR_DEF type declarator ) ) // ruleBlockSingleAlt // SimpleCTP.g:24:9: ^( VAR_DEF type declarator ) // alt { - [self match:input TokenType:VAR_DEF Follow:FOLLOW_VAR_DEF_in_variable126]; /* element() */ + [self match:input TokenType:VAR_DEF Follow:FOLLOW_VAR_DEF_in_variable126]; - [self match:input TokenType:ANTLRTokenTypeDOWN Follow:nil]; + [self match:input TokenType:DOWN Follow:nil]; + /* ruleRef */ [self pushFollow:FOLLOW_type_in_variable128]; [self type]; + [self popFollow]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_declarator_in_variable130]; [self declarator]; + [self popFollow]; - /* element() */ - [self match:input TokenType:ANTLRTokenTypeUP Follow:nil]; /* element() */ - /* elements */ + + [self match:input TokenType:UP Follow:nil]; + + } // token+rule list labels @@ -482,25 +497,31 @@ - (void) variable @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end variable */ + /* * $ANTLR start declarator * SimpleCTP.g:27:1: declarator : K_ID ; */ - (void) declarator { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleCTP.g:28:5: ( K_ID ) // ruleBlockSingleAlt // SimpleCTP.g:28:9: K_ID // alt { - [self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_declarator150]; /* element() */ - /* elements */ + [self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_declarator150]; + } // token+rule list labels @@ -509,36 +530,46 @@ - (void) declarator @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end declarator */ + /* * $ANTLR start functionHeader * SimpleCTP.g:31:1: functionHeader : ^( FUNC_HDR type K_ID ( formalParameter )+ ) ; */ - (void) functionHeader { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleCTP.g:32:5: ( ^( FUNC_HDR type K_ID ( formalParameter )+ ) ) // ruleBlockSingleAlt // SimpleCTP.g:32:9: ^( FUNC_HDR type K_ID ( formalParameter )+ ) // alt { - [self match:input TokenType:FUNC_HDR Follow:FOLLOW_FUNC_HDR_in_functionHeader171]; /* element() */ + [self match:input TokenType:FUNC_HDR Follow:FOLLOW_FUNC_HDR_in_functionHeader171]; - [self match:input TokenType:ANTLRTokenTypeDOWN Follow:nil]; + [self match:input TokenType:DOWN Follow:nil]; + /* ruleRef */ [self pushFollow:FOLLOW_type_in_functionHeader173]; [self type]; + [self popFollow]; - /* element() */ - [self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_functionHeader175]; /* element() */ + + + [self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_functionHeader175]; + // SimpleCTP.g:32:30: ( formalParameter )+ // positiveClosureBlock - NSInteger cnt3=0; + NSInteger cnt3 = 0; do { - NSInteger alt3=2; + NSInteger alt3 = 2; NSInteger LA3_0 = [input LA:1]; if ( (LA3_0==ARG_DEF) ) { alt3=1; @@ -549,28 +580,32 @@ - (void) functionHeader case 1 : ; // SimpleCTP.g:32:30: formalParameter // alt { + /* ruleRef */ [self pushFollow:FOLLOW_formalParameter_in_functionHeader177]; [self formalParameter]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; default : if ( cnt3 >= 1 ) goto loop3; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:3]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:3]; @throw eee; } cnt3++; } while (YES); loop3: ; - /* element() */ - [self match:input TokenType:ANTLRTokenTypeUP Follow:nil]; /* element() */ - /* elements */ + + [self match:input TokenType:UP Follow:nil]; + + } // token+rule list labels @@ -579,39 +614,51 @@ - (void) functionHeader @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end functionHeader */ + /* * $ANTLR start formalParameter * SimpleCTP.g:35:1: formalParameter : ^( ARG_DEF type declarator ) ; */ - (void) formalParameter { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleCTP.g:36:5: ( ^( ARG_DEF type declarator ) ) // ruleBlockSingleAlt // SimpleCTP.g:36:9: ^( ARG_DEF type declarator ) // alt { - [self match:input TokenType:ARG_DEF Follow:FOLLOW_ARG_DEF_in_formalParameter199]; /* element() */ + [self match:input TokenType:ARG_DEF Follow:FOLLOW_ARG_DEF_in_formalParameter199]; - [self match:input TokenType:ANTLRTokenTypeDOWN Follow:nil]; + [self match:input TokenType:DOWN Follow:nil]; + /* ruleRef */ [self pushFollow:FOLLOW_type_in_formalParameter201]; [self type]; + [self popFollow]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_declarator_in_formalParameter203]; [self declarator]; + [self popFollow]; - /* element() */ - [self match:input TokenType:ANTLRTokenTypeUP Follow:nil]; /* element() */ - /* elements */ + + [self match:input TokenType:UP Follow:nil]; + + } // token+rule list labels @@ -620,32 +667,38 @@ - (void) formalParameter @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end formalParameter */ + /* * $ANTLR start type * SimpleCTP.g:39:1: type : ( K_INT_TYPE | K_CHAR | K_VOID | K_ID ); */ - (void) type { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleCTP.g:40:5: ( K_INT_TYPE | K_CHAR | K_VOID | K_ID ) // ruleBlockSingleAlt // SimpleCTP.g: // alt { - if ([input LA:1] == K_ID||(([input LA:1] >= K_INT_TYPE) && ([input LA:1] <= K_VOID))) { + if ([input LA:1] == K_CHAR||[input LA:1] == K_ID||[input LA:1] == K_INT_TYPE||[input LA:1] == K_VOID) { [input consume]; [state setIsErrorRecovery:NO]; } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; @throw mse; } - /* element() */ - /* elements */ + + } // token+rule list labels @@ -654,27 +707,33 @@ - (void) type @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end type */ + /* * $ANTLR start block * SimpleCTP.g:46:1: block : ^( BLOCK ( variable )* ( stat )* ) ; */ - (void) block { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleCTP.g:47:5: ( ^( BLOCK ( variable )* ( stat )* ) ) // ruleBlockSingleAlt // SimpleCTP.g:47:9: ^( BLOCK ( variable )* ( stat )* ) // alt { - [self match:input TokenType:BLOCK Follow:FOLLOW_BLOCK_in_block283]; /* element() */ + [self match:input TokenType:BLOCK Follow:FOLLOW_BLOCK_in_block283]; - if ( [input LA:1] == ANTLRTokenTypeDOWN ) { - [self match:input TokenType:ANTLRTokenTypeDOWN Follow:nil]; + if ( [input LA:1] == DOWN ) { + [self match:input TokenType:DOWN Follow:nil]; do { NSInteger alt4=2; NSInteger LA4_0 = [input LA:1]; @@ -687,12 +746,14 @@ - (void) block case 1 : ; // SimpleCTP.g:47:17: variable // alt { + /* ruleRef */ [self pushFollow:FOLLOW_variable_in_block285]; [self variable]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -701,11 +762,12 @@ - (void) block } } while (YES); loop4: ; - /* element() */ + + do { NSInteger alt5=2; NSInteger LA5_0 = [input LA:1]; - if ( (LA5_0==BLOCK||LA5_0==K_ID||(LA5_0>=K_FOR && LA5_0<=K_INT)) ) { + if ( (LA5_0==BLOCK||(LA5_0 >= K_EQ && LA5_0 <= K_INT)||(LA5_0 >= K_LT && LA5_0 <= K_PLUS)) ) { alt5=1; } @@ -714,12 +776,14 @@ - (void) block case 1 : ; // SimpleCTP.g:47:27: stat // alt { + /* ruleRef */ [self pushFollow:FOLLOW_stat_in_block288]; [self stat]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -728,11 +792,12 @@ - (void) block } } while (YES); loop5: ; - /* element() */ - [self match:input TokenType:ANTLRTokenTypeUP Follow:nil]; - } /* element() */ - /* elements */ + + [self match:input TokenType:UP Follow:nil]; + } + + } // token+rule list labels @@ -741,34 +806,41 @@ - (void) block @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end block */ + /* * $ANTLR start stat * SimpleCTP.g:50:1: stat : ( forStat | expr | block ); */ - (void) stat { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleCTP.g:50:5: ( forStat | expr | block ) //ruleblock NSInteger alt6=3; - switch ([input LA:1]) { + unichar charLA6 = [input LA:1]; + switch (charLA6) { case K_FOR: ; { alt6=1; } break; - case K_ID: ; case K_EQ: ; case K_EQEQ: ; + case K_ID: ; + case K_INT: ; case K_LT: ; case K_PLUS: ; - case K_INT: ; { alt6=2; } @@ -780,42 +852,50 @@ - (void) stat break; default: ; - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:6 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:6 state:0 stream:input]; + nvae.c = charLA6; @throw nvae; + } switch (alt6) { case 1 : ; // SimpleCTP.g:50:7: forStat // alt { + /* ruleRef */ [self pushFollow:FOLLOW_forStat_in_stat302]; [self forStat]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; case 2 : ; // SimpleCTP.g:51:7: expr // alt { + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_stat310]; [self expr]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; case 3 : ; // SimpleCTP.g:52:7: block // alt { + /* ruleRef */ [self pushFollow:FOLLOW_block_in_stat318]; [self block]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -826,49 +906,67 @@ - (void) stat @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end stat */ + /* * $ANTLR start forStat * SimpleCTP.g:55:1: forStat : ^( K_FOR expr expr expr block ) ; */ - (void) forStat { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleCTP.g:56:5: ( ^( K_FOR expr expr expr block ) ) // ruleBlockSingleAlt // SimpleCTP.g:56:9: ^( K_FOR expr expr expr block ) // alt { - [self match:input TokenType:K_FOR Follow:FOLLOW_K_FOR_in_forStat338]; /* element() */ + [self match:input TokenType:K_FOR Follow:FOLLOW_K_FOR_in_forStat338]; - [self match:input TokenType:ANTLRTokenTypeDOWN Follow:nil]; + [self match:input TokenType:DOWN Follow:nil]; + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_forStat340]; [self expr]; + [self popFollow]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_forStat342]; [self expr]; + [self popFollow]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_forStat344]; [self expr]; + [self popFollow]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_block_in_forStat346]; [self block]; + [self popFollow]; - /* element() */ - [self match:input TokenType:ANTLRTokenTypeUP Follow:nil]; /* element() */ - /* elements */ + + [self match:input TokenType:UP Follow:nil]; + + } // token+rule list labels @@ -877,30 +975,38 @@ - (void) forStat @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end forStat */ + /* * $ANTLR start expr * SimpleCTP.g:59:1: expr : ( ^( K_EQEQ expr expr ) | ^( K_LT expr expr ) | ^( K_PLUS expr expr ) | ^( K_EQ K_ID e= expr ) | atom ); */ - (SimpleCTP_expr_return *) expr { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ SimpleCTP_expr_return * retval = [SimpleCTP_expr_return newSimpleCTP_expr_return]; [retval setStart:[input LT:1]]; + @try { ANTLRCommonTree *K_ID1 = nil; - SimpleCTP_expr_return * e = nil; - + SimpleCTP_expr_return * e = nil ; + // SimpleCTP.g:59:5: ( ^( K_EQEQ expr expr ) | ^( K_LT expr expr ) | ^( K_PLUS expr expr ) | ^( K_EQ K_ID e= expr ) | atom ) //ruleblock NSInteger alt7=5; - switch ([input LA:1]) { + unichar charLA7 = [input LA:1]; + switch (charLA7) { case K_EQEQ: ; { alt7=1; @@ -929,102 +1035,129 @@ - (SimpleCTP_expr_return *) expr break; default: ; - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:7 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:7 state:0 stream:input]; + nvae.c = charLA7; @throw nvae; + } switch (alt7) { case 1 : ; // SimpleCTP.g:59:9: ^( K_EQEQ expr expr ) // alt { - [self match:input TokenType:K_EQEQ Follow:FOLLOW_K_EQEQ_in_expr362]; /* element() */ + [self match:input TokenType:K_EQEQ Follow:FOLLOW_K_EQEQ_in_expr362]; - [self match:input TokenType:ANTLRTokenTypeDOWN Follow:nil]; + [self match:input TokenType:DOWN Follow:nil]; + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_expr364]; [self expr]; + [self popFollow]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_expr366]; [self expr]; + [self popFollow]; - /* element() */ - [self match:input TokenType:ANTLRTokenTypeUP Follow:nil]; /* element() */ - /* elements */ + + [self match:input TokenType:UP Follow:nil]; + + } break; case 2 : ; // SimpleCTP.g:60:9: ^( K_LT expr expr ) // alt { - [self match:input TokenType:K_LT Follow:FOLLOW_K_LT_in_expr378]; /* element() */ + [self match:input TokenType:K_LT Follow:FOLLOW_K_LT_in_expr378]; - [self match:input TokenType:ANTLRTokenTypeDOWN Follow:nil]; + [self match:input TokenType:DOWN Follow:nil]; + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_expr380]; [self expr]; + [self popFollow]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_expr382]; [self expr]; + [self popFollow]; - /* element() */ - [self match:input TokenType:ANTLRTokenTypeUP Follow:nil]; /* element() */ - /* elements */ + + [self match:input TokenType:UP Follow:nil]; + + } break; case 3 : ; // SimpleCTP.g:61:9: ^( K_PLUS expr expr ) // alt { - [self match:input TokenType:K_PLUS Follow:FOLLOW_K_PLUS_in_expr394]; /* element() */ + [self match:input TokenType:K_PLUS Follow:FOLLOW_K_PLUS_in_expr394]; - [self match:input TokenType:ANTLRTokenTypeDOWN Follow:nil]; + [self match:input TokenType:DOWN Follow:nil]; + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_expr396]; [self expr]; + [self popFollow]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_expr398]; [self expr]; + [self popFollow]; - /* element() */ - [self match:input TokenType:ANTLRTokenTypeUP Follow:nil]; /* element() */ - /* elements */ + + [self match:input TokenType:UP Follow:nil]; + + } break; case 4 : ; // SimpleCTP.g:62:9: ^( K_EQ K_ID e= expr ) // alt { - [self match:input TokenType:K_EQ Follow:FOLLOW_K_EQ_in_expr410]; /* element() */ + [self match:input TokenType:K_EQ Follow:FOLLOW_K_EQ_in_expr410]; - [self match:input TokenType:ANTLRTokenTypeDOWN Follow:nil]; - K_ID1=(ANTLRCommonTree *)[self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_expr412]; /* element() */ + [self match:input TokenType:DOWN Follow:nil]; + K_ID1=(ANTLRCommonTree *)[self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_expr412]; + + /* ruleRef */ [self pushFollow:FOLLOW_expr_in_expr416]; e = [self expr]; + [self popFollow]; - /* element() */ - [self match:input TokenType:ANTLRTokenTypeUP Follow:nil]; /* element() */ - NSLog(@"assigning %@ to variable %@", (e!=nil?[[input getTokenStream] toStringFromStart:[[input getTreeAdaptor] getTokenStartIndex:[e getStart]] - ToEnd:[[input getTreeAdaptor] getTokenStopIndex:[e getStart]]]:nil), (K_ID1!=nil?[K_ID1 getText]:0)); /* element() */ - /* elements */ + + [self match:input TokenType:UP Follow:nil]; + + + NSLog(@"assigning %@ to variable %@", (e!=nil?[[input getTokenStream] toStringFromStart:[[input getTreeAdaptor] getTokenStartIndex:[e getStart]]ToEnd:[[input getTreeAdaptor] getTokenStopIndex:[e getStart]]]:0), (K_ID1!=nil?K_ID1.text:nil)); + + } break; case 5 : ; // SimpleCTP.g:63:9: atom // alt { + /* ruleRef */ [self pushFollow:FOLLOW_atom_in_expr429]; [self atom]; + [self popFollow]; - /* element() */ - /* elements */ + + } break; @@ -1035,32 +1168,38 @@ - (SimpleCTP_expr_return *) expr @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return retval; } /* $ANTLR end expr */ + /* * $ANTLR start atom * SimpleCTP.g:66:1: atom : ( K_ID | K_INT ); */ - (void) atom { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { // SimpleCTP.g:67:5: ( K_ID | K_INT ) // ruleBlockSingleAlt // SimpleCTP.g: // alt { - if ([input LA:1] == K_ID||[input LA:1] == K_INT) { + if ((([input LA:1] >= K_ID) && ([input LA:1] <= K_INT))) { [input consume]; [state setIsErrorRecovery:NO]; } else { - ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; @throw mse; } - /* element() */ - /* elements */ + + } // token+rule list labels @@ -1069,15 +1208,15 @@ - (void) atom @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; - } @finally { + } + + @finally { + /* Terence's stuff */ + } return ; } /* $ANTLR end atom */ +/* ObjC end rules */ @end /* end of SimpleCTP implementation line 692 */ - - -/* End of code - * ============================================================================= - */ diff --git a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.tokens b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.tokens index ea94deb3..965ef1fe 100644 --- a/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.tokens +++ b/runtime/ObjC/Framework/examples/simplecTreeParser/SimpleCTP.tokens @@ -1,23 +1,23 @@ -K_ID=11 -K_RCURLY=19 -K_RCURVE=14 -K_INT=25 -K_EQEQ=22 -K_FOR=20 -FUNC_HDR=6 -FUNC_DEF=8 -K_SEMICOLON=10 -K_INT_TYPE=15 -FUNC_DECL=7 -K_COMMA=13 -ARG_DEF=5 -K_LCURLY=18 +ARG_DEF=4 +BLOCK=5 +FUNC_DECL=6 +FUNC_DEF=7 +FUNC_HDR=8 +K_CHAR=9 +K_COMMA=10 +K_EQ=11 +K_EQEQ=12 +K_FOR=13 +K_ID=14 +K_INT=15 +K_INT_TYPE=16 +K_LCURLY=17 +K_LCURVE=18 +K_LT=19 +K_PLUS=20 +K_RCURLY=21 +K_RCURVE=22 +K_SEMICOLON=23 +K_VOID=24 +VAR_DEF=25 WS=26 -K_EQ=21 -BLOCK=9 -K_LCURVE=12 -K_LT=23 -K_CHAR=16 -K_VOID=17 -VAR_DEF=4 -K_PLUS=24 diff --git a/runtime/ObjC/Framework/examples/simplecTreeParser/main.m b/runtime/ObjC/Framework/examples/simplecTreeParser/main.m index 21815366..f735ac39 100644 --- a/runtime/ObjC/Framework/examples/simplecTreeParser/main.m +++ b/runtime/ObjC/Framework/examples/simplecTreeParser/main.m @@ -9,7 +9,7 @@ int main(int argc, const char * argv[]) { NSError *anError; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - char *inp = "../../examples/simplecTreeParser/input"; + char *inp = "/Users/acondit/source/antlr3/acondit_localhost/code/antlr/antlr3-main/runtime/ObjC/Framework/examples/simplecTreeParser/input"; /* if (argc < 2) { diff --git a/runtime/ObjC/Framework/examples/treeparser/Lang.g b/runtime/ObjC/Framework/examples/treeparser/Lang.g new file mode 100644 index 00000000..90a25121 --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/Lang.g @@ -0,0 +1,22 @@ +grammar Lang; +options { + output=AST; + language = ObjC; + ASTLabelType=ANTLRCommonTree; +} + +tokens {DECL;} // an imaginary node + +start : decl ; + +decl : type ID ';' -> ^(DECL type ID) + ; +type : INTTYPE // automatic tree construction builds a node for this rule + | FLOATTYPE + ; + +INTTYPE : 'int' ; +FLOATTYPE : 'float' ; +ID : 'a'..'z'+ ; +INT : '0'..'9'+ ; +WS : (' '|'\n') {$channel=HIDDEN;} ; diff --git a/runtime/ObjC/Framework/examples/treeparser/Lang.tokens b/runtime/ObjC/Framework/examples/treeparser/Lang.tokens new file mode 100644 index 00000000..195d1480 --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/Lang.tokens @@ -0,0 +1,8 @@ +T__10=10 +DECL=4 +FLOATTYPE=5 +ID=6 +INT=7 +INTTYPE=8 +WS=9 +';'=10 diff --git a/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g b/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g new file mode 100644 index 00000000..07d3e398 --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g @@ -0,0 +1,17 @@ +tree grammar LangDumpDecl; +options { + tokenVocab=Lang; + language = ObjC; + ASTLabelType = ANTLRCommonTree; +} + +decl : ^(DECL type declarator) + // label.start, label.start, label.text + { NSLog(@"int \%@", $declarator.text);} + ; + +type : INTTYPE ; + +declarator + : ID + ; diff --git a/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.h b/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.h new file mode 100644 index 00000000..daaa14dd --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.h @@ -0,0 +1,89 @@ +// $ANTLR ${project.version} ${buildNumber} LangDumpDecl.g 2011-05-06 17:39:09 + +/* ============================================================================= + * Standard antlr3 OBJC runtime definitions + */ +#import +#import +/* End of standard antlr3 runtime definitions + * ============================================================================= + */ + +/* treeParserHeaderFile */ +#ifndef ANTLR3TokenTypeAlreadyDefined +#define ANTLR3TokenTypeAlreadyDefined +typedef enum { + ANTLR_EOF = -1, + INVALID, + EOR, + DOWN, + UP, + MIN +} ANTLR3TokenType; +#endif + +#pragma mark Tokens +#ifdef EOF +#undef EOF +#endif +#define EOF -1 +#define T__10 10 +#define DECL 4 +#define FLOATTYPE 5 +#define ID 6 +#define INT 7 +#define INTTYPE 8 +#define WS 9 +#pragma mark Dynamic Global Scopes +#pragma mark Dynamic Rule Scopes +#pragma mark Rule Return Scopes start +/* returnScopeInterface LangDumpDecl_declarator_return */ +@interface LangDumpDecl_declarator_return :ANTLRTreeRuleReturnScope { /* returnScopeInterface line 1838 */ + /* ObjC start of memVars() */ +} +/* start properties */ ++ (LangDumpDecl_declarator_return *)newLangDumpDecl_declarator_return; +/* this is start of set and get methods */ + /* methodsDecl */ +@end /* end of returnScopeInterface interface */ + + + + +/* Interface grammar class */ +@interface LangDumpDecl : ANTLRTreeParser { /* line 572 */ +/* ObjC start of ruleAttributeScopeMemVar */ + + +/* ObjC end of ruleAttributeScopeMemVar */ +/* ObjC start of globalAttributeScopeMemVar */ + + +/* ObjC end of globalAttributeScopeMemVar */ +/* ObjC start of actions.(actionScope).memVars */ +/* ObjC end of actions.(actionScope).memVars */ +/* ObjC start of memVars */ +/* ObjC end of memVars */ + + } + +/* ObjC start of actions.(actionScope).properties */ +/* ObjC end of actions.(actionScope).properties */ +/* ObjC start of properties */ +/* ObjC end of properties */ + ++ (void) initialize; ++ (id) newLangDumpDecl:(id)aStream; +/* ObjC start of actions.(actionScope).methodsDecl */ +/* ObjC end of actions.(actionScope).methodsDecl */ + +/* ObjC start of methodsDecl */ +/* ObjC end of methodsDecl */ + +- (void)decl; +- (void)type; +- (LangDumpDecl_declarator_return *)declarator; + + +@end /* end of LangDumpDecl interface */ + diff --git a/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.m b/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.m new file mode 100644 index 00000000..72bd6953 --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.m @@ -0,0 +1,258 @@ +/** \file + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} + * + * - From the grammar source file : LangDumpDecl.g + * - On : 2011-05-06 17:39:09 + * - for the tree parser : LangDumpDeclTreeParser + * + * Editing it, at least manually, is not wise. + * + * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. + * + * +*/ +// $ANTLR ${project.version} ${buildNumber} LangDumpDecl.g 2011-05-06 17:39:09 + + +/* ----------------------------------------- + * Include the ANTLR3 generated header file. + */ +#import "LangDumpDecl.h" +/* ----------------------------------------- */ + + +/* ============================================================================= */ +/* ============================================================================= + * Start of recognizer + */ + +#pragma mark Bitsets +static ANTLRBitSet *FOLLOW_DECL_in_decl45; +static const unsigned long long FOLLOW_DECL_in_decl45_data[] = { 0x0000000000000004LL}; +static ANTLRBitSet *FOLLOW_type_in_decl47; +static const unsigned long long FOLLOW_type_in_decl47_data[] = { 0x0000000000000040LL}; +static ANTLRBitSet *FOLLOW_declarator_in_decl49; +static const unsigned long long FOLLOW_declarator_in_decl49_data[] = { 0x0000000000000008LL}; +static ANTLRBitSet *FOLLOW_INTTYPE_in_type81; +static const unsigned long long FOLLOW_INTTYPE_in_type81_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_ID_in_declarator95; +static const unsigned long long FOLLOW_ID_in_declarator95_data[] = { 0x0000000000000002LL}; + + +#pragma mark Dynamic Global Scopes + +#pragma mark Dynamic Rule Scopes + +#pragma mark Rule Return Scopes start +@implementation LangDumpDecl_declarator_return /* returnScope */ + /* start of synthesize -- OBJC-Line 1837 */ ++ (LangDumpDecl_declarator_return *)newLangDumpDecl_declarator_return +{ + return [[[LangDumpDecl_declarator_return alloc] init] retain]; +} + +- (id) init +{ + self = [super init]; + return self; +} + + + +@end /* end of returnScope implementation */ + + +//#pragma mark Rule return scopes start +// + +#pragma mark Rule return scopes start + +@implementation LangDumpDecl // line 637 + +/* ObjC start of ruleAttributeScope */ +#pragma mark Dynamic Rule Scopes +/* ObjC end of ruleAttributeScope */ +#pragma mark global Attribute Scopes +/* ObjC start globalAttributeScope */ +/* ObjC end globalAttributeScope */ +/* ObjC start actions.(actionScope).synthesize */ +/* ObjC end actions.(actionScope).synthesize */ +/* ObjC start synthesize() */ +/* ObjC end synthesize() */ + ++ (void) initialize +{ + #pragma mark Bitsets + FOLLOW_DECL_in_decl45 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_DECL_in_decl45_data Count:(NSUInteger)1] retain]; + FOLLOW_type_in_decl47 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_decl47_data Count:(NSUInteger)1] retain]; + FOLLOW_declarator_in_decl49 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_decl49_data Count:(NSUInteger)1] retain]; + FOLLOW_INTTYPE_in_type81 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_INTTYPE_in_type81_data Count:(NSUInteger)1] retain]; + FOLLOW_ID_in_declarator95 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_declarator95_data Count:(NSUInteger)1] retain]; + + [ANTLRBaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"", @"", @"", @"", + @"DECL", @"FLOATTYPE", @"ID", @"INT", @"INTTYPE", @"WS", @"';'", nil] retain]]; + [ANTLRBaseRecognizer setGrammarFileName:@"LangDumpDecl.g"]; +} + ++ (LangDumpDecl *)newLangDumpDecl:(id)aStream +{ + return [[LangDumpDecl alloc] initWithStream:aStream]; + + +} + +- (id) initWithStream:(id)aStream +{ + self = [super initWithStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:3+1] retain]]; + if ( self != nil ) { + + + /* start of actions-actionScope-init */ + /* start of init */ + } + return self; +} + +- (void) dealloc +{ + [super dealloc]; +} + +/* ObjC start members */ +/* ObjC end members */ +/* ObjC start actions.(actionScope).methods */ +/* ObjC end actions.(actionScope).methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ +/* ObjC start rules */ +/* + * $ANTLR start decl + * LangDumpDecl.g:8:1: decl : ^( DECL type declarator ) ; + */ +- (void) decl +{ + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + @try { + LangDumpDecl_declarator_return * declarator1 = nil ; + + + // LangDumpDecl.g:8:6: ( ^( DECL type declarator ) ) // ruleBlockSingleAlt + // LangDumpDecl.g:8:8: ^( DECL type declarator ) // alt + { + [self match:input TokenType:DECL Follow:FOLLOW_DECL_in_decl45]; + + [self match:input TokenType:DOWN Follow:nil]; + /* ruleRef */ + [self pushFollow:FOLLOW_type_in_decl47]; + [self type]; + + [self popFollow]; + + + + /* ruleRef */ + [self pushFollow:FOLLOW_declarator_in_decl49]; + declarator1 = [self declarator]; + + [self popFollow]; + + + + [self match:input TokenType:UP Follow:nil]; + + + NSLog(@"int %@", (declarator1!=nil?[[input getTokenStream] toStringFromStart:[[input getTreeAdaptor] getTokenStartIndex:[declarator1 getStart]]ToEnd:[[input getTreeAdaptor] getTokenStopIndex:[declarator1 getStart]]]:0)); + + + } + + // token+rule list labels + + } + @catch (ANTLRRecognitionException *re) { + [self reportError:re]; + [self recover:input Exception:re]; + } + + @finally { + /* Terence's stuff */ + + } + return ; +} +/* $ANTLR end decl */ + +/* + * $ANTLR start type + * LangDumpDecl.g:13:1: type : INTTYPE ; + */ +- (void) type +{ + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + @try { + // LangDumpDecl.g:13:6: ( INTTYPE ) // ruleBlockSingleAlt + // LangDumpDecl.g:13:8: INTTYPE // alt + { + [self match:input TokenType:INTTYPE Follow:FOLLOW_INTTYPE_in_type81]; + + } + + // token+rule list labels + + } + @catch (ANTLRRecognitionException *re) { + [self reportError:re]; + [self recover:input Exception:re]; + } + + @finally { + /* Terence's stuff */ + + } + return ; +} +/* $ANTLR end type */ + +/* + * $ANTLR start declarator + * LangDumpDecl.g:15:1: declarator : ID ; + */ +- (LangDumpDecl_declarator_return *) declarator +{ + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + LangDumpDecl_declarator_return * retval = [LangDumpDecl_declarator_return newLangDumpDecl_declarator_return]; + [retval setStart:[input LT:1]]; + + + @try { + // LangDumpDecl.g:16:6: ( ID ) // ruleBlockSingleAlt + // LangDumpDecl.g:16:8: ID // alt + { + [self match:input TokenType:ID Follow:FOLLOW_ID_in_declarator95]; + + } + + // token+rule list labels + + } + @catch (ANTLRRecognitionException *re) { + [self reportError:re]; + [self recover:input Exception:re]; + } + + @finally { + /* Terence's stuff */ + + } + return retval; +} +/* $ANTLR end declarator */ +/* ObjC end rules */ + +@end /* end of LangDumpDecl implementation line 692 */ diff --git a/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.tokens b/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.tokens new file mode 100644 index 00000000..195d1480 --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.tokens @@ -0,0 +1,8 @@ +T__10=10 +DECL=4 +FLOATTYPE=5 +ID=6 +INT=7 +INTTYPE=8 +WS=9 +';'=10 diff --git a/runtime/ObjC/Framework/examples/treeparser/LangLexer.h b/runtime/ObjC/Framework/examples/treeparser/LangLexer.h new file mode 100644 index 00000000..d647d13b --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/LangLexer.h @@ -0,0 +1,46 @@ +// $ANTLR ${project.version} ${buildNumber} Lang.g 2011-05-06 17:38:52 + +/* ============================================================================= + * Standard antlr3 OBJC runtime definitions + */ +#import +#import +/* End of standard antlr3 runtime definitions + * ============================================================================= + */ + +/* Start cyclicDFAInterface */ + +#pragma mark Rule return scopes start +#pragma mark Rule return scopes end +#pragma mark Tokens +#ifdef EOF +#undef EOF +#endif +#define EOF -1 +#define T__10 10 +#define DECL 4 +#define FLOATTYPE 5 +#define ID 6 +#define INT 7 +#define INTTYPE 8 +#define WS 9 +/* interface lexer class */ +@interface LangLexer : ANTLRLexer { // line 283 +/* ObjC start of actions.lexer.memVars */ +/* ObjC end of actions.lexer.memVars */ +} ++ (void) initialize; ++ (LangLexer *)newLangLexerWithCharStream:(id)anInput; +/* ObjC start actions.lexer.methodsDecl */ +/* ObjC end actions.lexer.methodsDecl */ +- (void) mT__10 ; +- (void) mINTTYPE ; +- (void) mFLOATTYPE ; +- (void) mID ; +- (void) mINT ; +- (void) mWS ; +- (void) mTokens ; + +@end /* end of LangLexer interface */ + diff --git a/runtime/ObjC/Framework/examples/treeparser/LangLexer.m b/runtime/ObjC/Framework/examples/treeparser/LangLexer.m new file mode 100644 index 00000000..12cf90c8 --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/LangLexer.m @@ -0,0 +1,532 @@ +/** \file + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} + * + * - From the grammar source file : Lang.g + * - On : 2011-05-06 17:38:52 + * - for the lexer : LangLexerLexer + * + * Editing it, at least manually, is not wise. + * + * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. + * + * +*/ +// $ANTLR ${project.version} ${buildNumber} Lang.g 2011-05-06 17:38:52 + + +/* ----------------------------------------- + * Include the ANTLR3 generated header file. + */ +#import "LangLexer.h" +/* ----------------------------------------- */ + + +/* ============================================================================= */ +/* ============================================================================= + * Start of recognizer + */ + +/** As per Terence: No returns for lexer rules! */ +@implementation LangLexer // line 330 + ++ (void) initialize +{ + [ANTLRBaseRecognizer setGrammarFileName:@"Lang.g"]; +} + ++ (NSString *) tokenNameForType:(NSInteger)aTokenType +{ + return [[self getTokenNames] objectAtIndex:aTokenType]; +} + ++ (LangLexer *)newLangLexerWithCharStream:(id)anInput +{ + return [[LangLexer alloc] initWithCharStream:anInput]; +} + +- (id) initWithCharStream:(id)anInput +{ + self = [super initWithCharStream:anInput State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:7+1] retain]]; + if ( self != nil ) { + } + return self; +} + +- (void) dealloc +{ + [super dealloc]; +} + +/* ObjC Start of actions.lexer.methods */ +/* ObjC end of actions.lexer.methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ + +/* Start of Rules */ +// $ANTLR start "T__10" +- (void) mT__10 +{ + // + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + @try { + NSInteger _type = T__10; + NSInteger _channel = ANTLRTokenChannelDefault; + // Lang.g:7:7: ( ';' ) // ruleBlockSingleAlt + // Lang.g:7:9: ';' // alt + { + [self matchChar:';']; + + + } + + // token+rule list labels + + state.type = _type; + state.channel = _channel; + } + @finally { + // + /* Terence's stuff */ + + } + return; +} +/* $ANTLR end "T__10" */ + +// $ANTLR start "INTTYPE" +- (void) mINTTYPE +{ + // + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + @try { + NSInteger _type = INTTYPE; + NSInteger _channel = ANTLRTokenChannelDefault; + // Lang.g:18:9: ( 'int' ) // ruleBlockSingleAlt + // Lang.g:18:11: 'int' // alt + { + [self matchString:@"int"]; + + + + } + + // token+rule list labels + + state.type = _type; + state.channel = _channel; + } + @finally { + // + /* Terence's stuff */ + + } + return; +} +/* $ANTLR end "INTTYPE" */ + +// $ANTLR start "FLOATTYPE" +- (void) mFLOATTYPE +{ + // + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + @try { + NSInteger _type = FLOATTYPE; + NSInteger _channel = ANTLRTokenChannelDefault; + // Lang.g:19:11: ( 'float' ) // ruleBlockSingleAlt + // Lang.g:19:13: 'float' // alt + { + [self matchString:@"float"]; + + + + } + + // token+rule list labels + + state.type = _type; + state.channel = _channel; + } + @finally { + // + /* Terence's stuff */ + + } + return; +} +/* $ANTLR end "FLOATTYPE" */ + +// $ANTLR start "ID" +- (void) mID +{ + // + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + @try { + NSInteger _type = ID; + NSInteger _channel = ANTLRTokenChannelDefault; + // Lang.g:20:4: ( ( 'a' .. 'z' )+ ) // ruleBlockSingleAlt + // Lang.g:20:6: ( 'a' .. 'z' )+ // alt + { + // Lang.g:20:6: ( 'a' .. 'z' )+ // positiveClosureBlock + NSInteger cnt1 = 0; + do { + NSInteger alt1 = 2; + NSInteger LA1_0 = [input LA:1]; + if ( ((LA1_0 >= 'a' && LA1_0 <= 'z')) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : ; + // Lang.g: // alt + { + if ((([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { + [input consume]; + } else { + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; + [self recover:mse]; + @throw mse; + } + + + } + break; + + default : + if ( cnt1 >= 1 ) + goto loop1; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:1]; + @throw eee; + } + cnt1++; + } while (YES); + loop1: ; + + + } + + // token+rule list labels + + state.type = _type; + state.channel = _channel; + } + @finally { + // + /* Terence's stuff */ + + } + return; +} +/* $ANTLR end "ID" */ + +// $ANTLR start "INT" +- (void) mINT +{ + // + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + @try { + NSInteger _type = INT; + NSInteger _channel = ANTLRTokenChannelDefault; + // Lang.g:21:5: ( ( '0' .. '9' )+ ) // ruleBlockSingleAlt + // Lang.g:21:7: ( '0' .. '9' )+ // alt + { + // Lang.g:21:7: ( '0' .. '9' )+ // positiveClosureBlock + NSInteger cnt2 = 0; + do { + NSInteger alt2 = 2; + NSInteger LA2_0 = [input LA:1]; + if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : ; + // Lang.g: // alt + { + if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) { + [input consume]; + } else { + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; + [self recover:mse]; + @throw mse; + } + + + } + break; + + default : + if ( cnt2 >= 1 ) + goto loop2; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:2]; + @throw eee; + } + cnt2++; + } while (YES); + loop2: ; + + + } + + // token+rule list labels + + state.type = _type; + state.channel = _channel; + } + @finally { + // + /* Terence's stuff */ + + } + return; +} +/* $ANTLR end "INT" */ + +// $ANTLR start "WS" +- (void) mWS +{ + // + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + @try { + NSInteger _type = WS; + NSInteger _channel = ANTLRTokenChannelDefault; + // Lang.g:22:4: ( ( ' ' | '\\n' ) ) // ruleBlockSingleAlt + // Lang.g:22:6: ( ' ' | '\\n' ) // alt + { + if ([input LA:1] == '\n'||[input LA:1] == ' ') { + [input consume]; + } else { + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; + [self recover:mse]; + @throw mse; + } + + + _channel=HIDDEN; + + + } + + // token+rule list labels + + state.type = _type; + state.channel = _channel; + } + @finally { + // + /* Terence's stuff */ + + } + return; +} +/* $ANTLR end "WS" */ + +- (void) mTokens +{ + // Lang.g:1:8: ( T__10 | INTTYPE | FLOATTYPE | ID | INT | WS ) //ruleblock + NSInteger alt3=6; + unichar charLA3 = [input LA:1]; + switch (charLA3) { + case ';': ; + { + alt3=1; + } + break; + case 'i': ; + { + NSInteger LA3_2 = [input LA:2]; + + if ( (LA3_2=='n') ) { + NSInteger LA3_7 = [input LA:3]; + + if ( (LA3_7=='t') ) { + NSInteger LA3_9 = [input LA:4]; + + if ( ((LA3_9 >= 'a' && LA3_9 <= 'z')) ) { + alt3=4; + } + else { + alt3 = 2; + } + } + else { + alt3 = 4; + } + } + else { + alt3 = 4; + } + } + break; + case 'f': ; + { + NSInteger LA3_3 = [input LA:2]; + + if ( (LA3_3=='l') ) { + NSInteger LA3_8 = [input LA:3]; + + if ( (LA3_8=='o') ) { + NSInteger LA3_10 = [input LA:4]; + + if ( (LA3_10=='a') ) { + NSInteger LA3_12 = [input LA:5]; + + if ( (LA3_12=='t') ) { + NSInteger LA3_13 = [input LA:6]; + + if ( ((LA3_13 >= 'a' && LA3_13 <= 'z')) ) { + alt3=4; + } + else { + alt3 = 3; + } + } + else { + alt3 = 4; + } + } + else { + alt3 = 4; + } + } + else { + alt3 = 4; + } + } + else { + alt3 = 4; + } + } + break; + case 'a': ; + case 'b': ; + case 'c': ; + case 'd': ; + case 'e': ; + case 'g': ; + case 'h': ; + case 'j': ; + case 'k': ; + case 'l': ; + case 'm': ; + case 'n': ; + case 'o': ; + case 'p': ; + case 'q': ; + case 'r': ; + case 's': ; + case 't': ; + case 'u': ; + case 'v': ; + case 'w': ; + case 'x': ; + case 'y': ; + case 'z': ; + { + alt3=4; + } + break; + case '0': ; + case '1': ; + case '2': ; + case '3': ; + case '4': ; + case '5': ; + case '6': ; + case '7': ; + case '8': ; + case '9': ; + { + alt3=5; + } + break; + case '\n': ; + case ' ': ; + { + alt3=6; + } + break; + + default: ; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:3 state:0 stream:input]; + nvae.c = charLA3; + @throw nvae; + + } + + switch (alt3) { + case 1 : ; + // Lang.g:1:10: T__10 // alt + { + [self mT__10]; + + + + } + break; + case 2 : ; + // Lang.g:1:16: INTTYPE // alt + { + [self mINTTYPE]; + + + + } + break; + case 3 : ; + // Lang.g:1:24: FLOATTYPE // alt + { + [self mFLOATTYPE]; + + + + } + break; + case 4 : ; + // Lang.g:1:34: ID // alt + { + [self mID]; + + + + } + break; + case 5 : ; + // Lang.g:1:37: INT // alt + { + [self mINT]; + + + + } + break; + case 6 : ; + // Lang.g:1:41: WS // alt + { + [self mWS]; + + + + } + break; + + } + +} + +@end /* end of LangLexer implementation line 397 */ \ No newline at end of file diff --git a/runtime/ObjC/Framework/examples/treeparser/LangParser.h b/runtime/ObjC/Framework/examples/treeparser/LangParser.h new file mode 100644 index 00000000..ba51fbab --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/LangParser.h @@ -0,0 +1,149 @@ +// $ANTLR ${project.version} ${buildNumber} Lang.g 2011-05-06 17:38:52 + +/* ============================================================================= + * Standard antlr3 OBJC runtime definitions + */ +#import +#import +/* End of standard antlr3 runtime definitions + * ============================================================================= + */ + +/* parserHeaderFile */ +#ifndef ANTLR3TokenTypeAlreadyDefined +#define ANTLR3TokenTypeAlreadyDefined +typedef enum { + ANTLR_EOF = -1, + INVALID, + EOR, + DOWN, + UP, + MIN +} ANTLR3TokenType; +#endif + +#pragma mark Tokens +#ifdef EOF +#undef EOF +#endif +#define EOF -1 +#define T__10 10 +#define DECL 4 +#define FLOATTYPE 5 +#define ID 6 +#define INT 7 +#define INTTYPE 8 +#define WS 9 +#pragma mark Dynamic Global Scopes +#pragma mark Dynamic Rule Scopes +#pragma mark Rule Return Scopes start +/* returnScopeInterface LangParser_start_return */ +@interface LangParser_start_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ +/* AST returnScopeInterface.memVars */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ +} +/* start properties */ +/* AST returnScopeInterface.properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; ++ (LangParser_start_return *)newLangParser_start_return; +/* this is start of set and get methods */ +/* AST returnScopeInterface.methodsDecl */ +- (ANTLRCommonTree *)getTree; + +- (void) setTree:(ANTLRCommonTree *)aTree; + /* methodsDecl */ +@end /* end of returnScopeInterface interface */ + + + +/* returnScopeInterface LangParser_decl_return */ +@interface LangParser_decl_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ +/* AST returnScopeInterface.memVars */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ +} +/* start properties */ +/* AST returnScopeInterface.properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; ++ (LangParser_decl_return *)newLangParser_decl_return; +/* this is start of set and get methods */ +/* AST returnScopeInterface.methodsDecl */ +- (ANTLRCommonTree *)getTree; + +- (void) setTree:(ANTLRCommonTree *)aTree; + /* methodsDecl */ +@end /* end of returnScopeInterface interface */ + + + +/* returnScopeInterface LangParser_type_return */ +@interface LangParser_type_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ +/* AST returnScopeInterface.memVars */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ +} +/* start properties */ +/* AST returnScopeInterface.properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; ++ (LangParser_type_return *)newLangParser_type_return; +/* this is start of set and get methods */ +/* AST returnScopeInterface.methodsDecl */ +- (ANTLRCommonTree *)getTree; + +- (void) setTree:(ANTLRCommonTree *)aTree; + /* methodsDecl */ +@end /* end of returnScopeInterface interface */ + + + + +/* Interface grammar class */ +@interface LangParser : ANTLRParser { /* line 572 */ +/* ObjC start of ruleAttributeScopeMemVar */ + + +/* ObjC end of ruleAttributeScopeMemVar */ +/* ObjC start of globalAttributeScopeMemVar */ + + +/* ObjC end of globalAttributeScopeMemVar */ +/* ObjC start of actions.(actionScope).memVars */ +/* ObjC end of actions.(actionScope).memVars */ +/* ObjC start of memVars */ +/* AST parserHeaderFile.memVars */ +NSInteger ruleLevel; +NSArray *ruleNames; + /* AST super.memVars */ +/* AST parserMemVars */ +id treeAdaptor; /* AST parserMemVars */ +/* ObjC end of memVars */ + + } + +/* ObjC start of actions.(actionScope).properties */ +/* ObjC end of actions.(actionScope).properties */ +/* ObjC start of properties */ +/* AST parserHeaderFile.properties */ + /* AST super.properties */ +/* AST parserProperties */ +@property (retain, getter=getTreeAdaptor, setter=setTreeAdaptor:) id treeAdaptor; /* AST parserproperties */ +/* ObjC end of properties */ + ++ (void) initialize; ++ (id) newLangParser:(id)aStream; +/* ObjC start of actions.(actionScope).methodsDecl */ +/* ObjC end of actions.(actionScope).methodsDecl */ + +/* ObjC start of methodsDecl */ +/* AST parserHeaderFile.methodsDecl */ + /* AST super.methodsDecl */ +/* AST parserMethodsDecl */ +- (id) getTreeAdaptor; +- (void) setTreeAdaptor:(id)theTreeAdaptor; /* AST parsermethodsDecl */ +/* ObjC end of methodsDecl */ + +- (LangParser_start_return *)start; +- (LangParser_decl_return *)decl; +- (LangParser_type_return *)type; + + +@end /* end of LangParser interface */ + diff --git a/runtime/ObjC/Framework/examples/treeparser/LangParser.m b/runtime/ObjC/Framework/examples/treeparser/LangParser.m new file mode 100644 index 00000000..6c49d095 --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/LangParser.m @@ -0,0 +1,515 @@ +/** \file + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} + * + * - From the grammar source file : Lang.g + * - On : 2011-05-06 17:38:52 + * - for the parser : LangParserParser + * + * Editing it, at least manually, is not wise. + * + * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. + * + * +*/ +// $ANTLR ${project.version} ${buildNumber} Lang.g 2011-05-06 17:38:52 + + +/* ----------------------------------------- + * Include the ANTLR3 generated header file. + */ +#import "LangParser.h" +/* ----------------------------------------- */ + + +/* ============================================================================= */ +/* ============================================================================= + * Start of recognizer + */ + +#pragma mark Bitsets +static ANTLRBitSet *FOLLOW_decl_in_start41; +static const unsigned long long FOLLOW_decl_in_start41_data[] = { 0x0000000000000002LL}; +static ANTLRBitSet *FOLLOW_type_in_decl50; +static const unsigned long long FOLLOW_type_in_decl50_data[] = { 0x0000000000000040LL}; +static ANTLRBitSet *FOLLOW_ID_in_decl52; +static const unsigned long long FOLLOW_ID_in_decl52_data[] = { 0x0000000000000400LL}; +static ANTLRBitSet *FOLLOW_10_in_decl54; +static const unsigned long long FOLLOW_10_in_decl54_data[] = { 0x0000000000000002LL}; + + +#pragma mark Dynamic Global Scopes + +#pragma mark Dynamic Rule Scopes + +#pragma mark Rule Return Scopes start +@implementation LangParser_start_return /* returnScope */ +/* AST returnScope.synthesize */ +@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ ++ (LangParser_start_return *)newLangParser_start_return +{ + return [[[LangParser_start_return alloc] init] retain]; +} + +- (id) init +{ + self = [super init]; + return self; +} + +/* AST returnScope.methods */ +- (ANTLRCommonTree *)getTree +{ + return tree; +} + +- (void) setTree:(ANTLRCommonTree *)aTree +{ + if (tree != aTree) { + if (tree != nil) [tree release]; + if (aTree != nil) [aTree retain]; + tree = aTree; + } +} + +- (void) dealloc +{ + self.tree = nil; + [super dealloc]; +} + + + +@end /* end of returnScope implementation */ + + +@implementation LangParser_decl_return /* returnScope */ +/* AST returnScope.synthesize */ +@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ ++ (LangParser_decl_return *)newLangParser_decl_return +{ + return [[[LangParser_decl_return alloc] init] retain]; +} + +- (id) init +{ + self = [super init]; + return self; +} + +/* AST returnScope.methods */ +- (ANTLRCommonTree *)getTree +{ + return tree; +} + +- (void) setTree:(ANTLRCommonTree *)aTree +{ + if (tree != aTree) { + if (tree != nil) [tree release]; + if (aTree != nil) [aTree retain]; + tree = aTree; + } +} + +- (void) dealloc +{ + self.tree = nil; + [super dealloc]; +} + + + +@end /* end of returnScope implementation */ + + +@implementation LangParser_type_return /* returnScope */ +/* AST returnScope.synthesize */ +@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ ++ (LangParser_type_return *)newLangParser_type_return +{ + return [[[LangParser_type_return alloc] init] retain]; +} + +- (id) init +{ + self = [super init]; + return self; +} + +/* AST returnScope.methods */ +- (ANTLRCommonTree *)getTree +{ + return tree; +} + +- (void) setTree:(ANTLRCommonTree *)aTree +{ + if (tree != aTree) { + if (tree != nil) [tree release]; + if (aTree != nil) [aTree retain]; + tree = aTree; + } +} + +- (void) dealloc +{ + self.tree = nil; + [super dealloc]; +} + + + +@end /* end of returnScope implementation */ + + +//#pragma mark Rule return scopes start +// + +#pragma mark Rule return scopes start + +@implementation LangParser // line 637 + +/* ObjC start of ruleAttributeScope */ +#pragma mark Dynamic Rule Scopes +/* ObjC end of ruleAttributeScope */ +#pragma mark global Attribute Scopes +/* ObjC start globalAttributeScope */ +/* ObjC end globalAttributeScope */ +/* ObjC start actions.(actionScope).synthesize */ +/* ObjC end actions.(actionScope).synthesize */ +/* ObjC start synthesize() */ +/* AST genericParser.synthesize */ +/* AST parserProperties */ +@synthesize treeAdaptor; +/* ObjC end synthesize() */ + ++ (void) initialize +{ + #pragma mark Bitsets + FOLLOW_decl_in_start41 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_decl_in_start41_data Count:(NSUInteger)1] retain]; + FOLLOW_type_in_decl50 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_decl50_data Count:(NSUInteger)1] retain]; + FOLLOW_ID_in_decl52 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_decl52_data Count:(NSUInteger)1] retain]; + FOLLOW_10_in_decl54 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_10_in_decl54_data Count:(NSUInteger)1] retain]; + + [ANTLRBaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"", @"", @"", @"", + @"DECL", @"FLOATTYPE", @"ID", @"INT", @"INTTYPE", @"WS", @"';'", nil] retain]]; + [ANTLRBaseRecognizer setGrammarFileName:@"Lang.g"]; +} + ++ (LangParser *)newLangParser:(id)aStream +{ + return [[LangParser alloc] initWithTokenStream:aStream]; + + +} + +- (id) initWithTokenStream:(id)aStream +{ + self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:3+1] retain]]; + if ( self != nil ) { + + + /* start of actions-actionScope-init */ + /* start of init */ + /* AST genericParser.init */ + [self setTreeAdaptor:[[ANTLRCommonTreeAdaptor newTreeAdaptor] retain]]; + } + return self; +} + +- (void) dealloc +{ + /* AST genericParser.dealloc */ + [self setTreeAdaptor:nil]; + + [super dealloc]; +} + +/* ObjC start members */ +/* ObjC end members */ +/* ObjC start actions.(actionScope).methods */ +/* ObjC end actions.(actionScope).methods */ +/* ObjC start methods() */ +/* AST genericParser.methods */ +/* AST parserMethods */ +- (id) getTreeAdaptor +{ + return treeAdaptor; +} + +- (void) setTreeAdaptor:(id)aTreeAdaptor +{ + if (aTreeAdaptor != treeAdaptor) { + treeAdaptor = aTreeAdaptor; + } +} +/* ObjC end methods() */ +/* ObjC start rules */ +/* + * $ANTLR start start + * Lang.g:10:1: start : decl ; + */ +- (LangParser_start_return *) start +{ + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + /* AST ruleDeclarations */ + LangParser_start_return * retval = [LangParser_start_return newLangParser_start_return]; + [retval setStart:[input LT:1]]; + + + ANTLRCommonTree *root_0 = nil; + + @try { + /* AST ruleLabelDefs */ + LangParser_decl_return * decl1 = nil ; + + + + // Lang.g:10:7: ( decl ) // ruleBlockSingleAlt + // Lang.g:10:9: decl // alt + { + root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + + + /* ASTParser ruleRef */ + /* ruleRef */ + [self pushFollow:FOLLOW_decl_in_start41]; + decl1 = [self decl]; + + [self popFollow]; + + + [treeAdaptor addChild:[decl1 getTree] toTree:root_0]; + + } + + /* ASTParser ruleCleanUp */ + /* AST ruleCleanUp */ + // token+rule list labels + [retval setStop:[input LT:-1]]; + + + + retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; + + } + @catch (ANTLRRecognitionException *re) { + [self reportError:re]; + [self recover:input Exception:re]; + /* ASTParser rule.setErrorReturnValue */ + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ + + } + return retval; +} +/* $ANTLR end start */ + +/* + * $ANTLR start decl + * Lang.g:12:1: decl : type ID ';' -> ^( DECL type ID ) ; + */ +- (LangParser_decl_return *) decl +{ + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + /* AST ruleDeclarations */ + LangParser_decl_return * retval = [LangParser_decl_return newLangParser_decl_return]; + [retval setStart:[input LT:1]]; + + + ANTLRCommonTree *root_0 = nil; + + @try { + /* AST ruleLabelDefs */ + ANTLRCommonToken *ID3 = nil; + ANTLRCommonToken *char_literal4 = nil; + LangParser_type_return * type2 = nil ; + + + ANTLRCommonTree *ID3_tree=nil; + ANTLRCommonTree *char_literal4_tree=nil; + ANTLRRewriteRuleTokenStream *stream_10 = + [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor + description:@"token 10"] retain]; + ANTLRRewriteRuleTokenStream *stream_ID = + [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor + description:@"token ID"] retain]; + ANTLRRewriteRuleSubtreeStream *stream_type = + [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor + description:@"rule type"] retain]; + // Lang.g:12:6: ( type ID ';' -> ^( DECL type ID ) ) // ruleBlockSingleAlt + // Lang.g:12:8: type ID ';' // alt + { + /* ruleRef */ + [self pushFollow:FOLLOW_type_in_decl50]; + type2 = [self type]; + + [self popFollow]; + + + [stream_type addElement:[type2 getTree]]; + + ID3=(ANTLRCommonToken *)[self match:input TokenType:ID Follow:FOLLOW_ID_in_decl52]; + [stream_ID addElement:ID3]; + + + char_literal4=(ANTLRCommonToken *)[self match:input TokenType:10 Follow:FOLLOW_10_in_decl54]; + [stream_10 addElement:char_literal4]; + + + // AST REWRITE + // elements: ID, type + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + retval.tree = root_0; + + ANTLRRewriteRuleSubtreeStream *stream_retval = + [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor + description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain]; + + root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + + // 12:20: -> ^( DECL type ID ) + { + // Lang.g:12:23: ^( DECL type ID ) + { + ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot: + [treeAdaptor createTree:DECL Text:@"DECL"] + old:root_1]; + + [treeAdaptor addChild:[stream_type nextTree] toTree:root_1]; + + // TODO: args: + [treeAdaptor addChild: + [stream_ID nextNode] + toTree:root_1]; + + [treeAdaptor addChild:root_1 toTree:root_0]; + } + + } + + + retval.tree = root_0; + + + } + + /* ASTParser ruleCleanUp */ + /* AST ruleCleanUp */ + // token+rule list labels + [retval setStop:[input LT:-1]]; + + + [stream_10 release]; + [stream_ID release]; + [stream_type release]; + + retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; + + } + @catch (ANTLRRecognitionException *re) { + [self reportError:re]; + [self recover:input Exception:re]; + /* ASTParser rule.setErrorReturnValue */ + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ + + } + return retval; +} +/* $ANTLR end decl */ + +/* + * $ANTLR start type + * Lang.g:14:1: type : ( INTTYPE | FLOATTYPE ); + */ +- (LangParser_type_return *) type +{ + /* my ruleScopeSetUp */ + /* Terence's stuff */ + + /* AST ruleDeclarations */ + LangParser_type_return * retval = [LangParser_type_return newLangParser_type_return]; + [retval setStart:[input LT:1]]; + + + ANTLRCommonTree *root_0 = nil; + + @try { + /* AST ruleLabelDefs */ + ANTLRCommonToken *set5 = nil; + + ANTLRCommonTree *set5_tree=nil; + + // Lang.g:14:6: ( INTTYPE | FLOATTYPE ) // ruleBlockSingleAlt + // Lang.g: // alt + { + root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + + + /* ASTParser matchRuleBlockSet */ + /* ASTParser matchSet */ + set5 = (ANTLRCommonToken *)[input LT:1]; /* matchSet */ + + if ([input LA:1] == FLOATTYPE||[input LA:1] == INTTYPE) { + [input consume]; + [treeAdaptor addChild:/* ASTParser createNodeFromToken */ + (ANTLRCommonTree *)[[treeAdaptor create:set5] retain] + toTree:root_0 ]; + [state setIsErrorRecovery:NO]; + } else { + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; + @throw mse; + } + + + } + + /* ASTParser ruleCleanUp */ + /* AST ruleCleanUp */ + // token+rule list labels + [retval setStop:[input LT:-1]]; + + + + retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; + + } + @catch (ANTLRRecognitionException *re) { + [self reportError:re]; + [self recover:input Exception:re]; + /* ASTParser rule.setErrorReturnValue */ + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ + + } + return retval; +} +/* $ANTLR end type */ +/* ObjC end rules */ + +@end /* end of LangParser implementation line 692 */ diff --git a/runtime/ObjC/Framework/examples/treeparser/Main.java b/runtime/ObjC/Framework/examples/treeparser/Main.java new file mode 100644 index 00000000..10734e3b --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/Main.java @@ -0,0 +1,20 @@ +import org.antlr.runtime.*; +import org.antlr.runtime.tree.*; + +public class Main { + public static void main(String[] args) throws Exception { + CharStream input = new ANTLRFileStream(args[0]); + LangLexer lex = new LangLexer(input); + CommonTokenStream tokens = new CommonTokenStream(lex); + LangParser parser = new LangParser(tokens); + //LangParser.decl_return r = parser.decl(); + LangParser.start_return r = parser.start(); + System.out.println("tree: "+((Tree)r.tree).toStringTree()); + CommonTree r0 = ((CommonTree)r.tree); + + CommonTreeNodeStream nodes = new CommonTreeNodeStream(r0); + nodes.setTokenStream(tokens); + LangDumpDecl walker = new LangDumpDecl(nodes); + walker.decl(); + } +} diff --git a/runtime/ObjC/Framework/examples/treeparser/README.txt b/runtime/ObjC/Framework/examples/treeparser/README.txt new file mode 100644 index 00000000..a964e711 --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/README.txt @@ -0,0 +1,11 @@ +Hi. This is a simple demo of tree construction and tree parsing with ANTLR +v3. Here's how to try it out. + +$ java org.antlr.Tool LangParser.g LangTreeParser.g +$ javac *.java +$ java Main input + +You should see out: + +tree: (DECL int a) +int a diff --git a/runtime/ObjC/Framework/examples/treeparser/files b/runtime/ObjC/Framework/examples/treeparser/files new file mode 100644 index 00000000..eeae6dab --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/files @@ -0,0 +1,6 @@ +README.txt +Main.java +Lang.g +LangDumpDecl.g +input +output diff --git a/runtime/ObjC/Framework/examples/treeparser/input b/runtime/ObjC/Framework/examples/treeparser/input new file mode 100644 index 00000000..4e610c04 --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/input @@ -0,0 +1 @@ +int a; diff --git a/runtime/ObjC/Framework/examples/treeparser/main.m b/runtime/ObjC/Framework/examples/treeparser/main.m new file mode 100644 index 00000000..d1eeaf1a --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/main.m @@ -0,0 +1,55 @@ +#import +#import "antlr3.h" +#import "LangLexer.h" +#import "LangParser.h" +#import "LangDumpDecl.h" +#import "stdio.h" +#include + +/* +import org.antlr.runtime.*; +import org.antlr.runtime.tree.*; + +public class Main { + public static void main(String[] args) throws Exception { + CharStream input = new ANTLRFileStream(args[0]); + LangLexer lex = new LangLexer(input); + CommonTokenStream tokens = new CommonTokenStream(lex); + LangParser parser = new LangParser(tokens); + //LangParser.decl_return r = parser.decl(); + LangParser.start_return r = parser.start(); + System.out.println("tree: "+((Tree)r.tree).toStringTree()); + CommonTree r0 = ((CommonTree)r.tree); + + CommonTreeNodeStream nodes = new CommonTreeNodeStream(r0); + nodes.setTokenStream(tokens); + LangDumpDecl walker = new LangDumpDecl(nodes); + walker.decl(); + } +} +*/ + +int main(int argc, const char * argv[]) +{ + NSError *error; + NSLog(@"starting treeparser\n"); + NSString *dir = @"/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/input"; + NSString *string = [NSString stringWithContentsOfFile:dir encoding:NSASCIIStringEncoding error:&error]; + NSLog(@"input = %@", string); + ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:string]; + LangLexer *lex = [LangLexer newLangLexerWithCharStream:stream]; + ANTLRCommonTokenStream *tokens = [ANTLRCommonTokenStream newANTLRCommonTokenStreamWithTokenSource:lex]; + LangParser *parser = [LangParser newLangParser:tokens]; +// LangParser_decl_return *r = [parser decl]; + LangParser_start_return *r = [parser start]; + NSLog( @"tree: %@", [r.tree toStringTree]); + ANTLRCommonTree *r0 = [r getTree]; + + ANTLRCommonTreeNodeStream *nodes = [ANTLRCommonTreeNodeStream newANTLRCommonTreeNodeStream:r0]; + [nodes setTokenStream:tokens]; + LangDumpDecl *walker = [LangDumpDecl newLangDumpDecl:nodes]; + [walker decl]; + + NSLog(@"exiting treeparser\n"); + return 0; +} \ No newline at end of file diff --git a/runtime/ObjC/Framework/examples/treeparser/output b/runtime/ObjC/Framework/examples/treeparser/output new file mode 100644 index 00000000..64daa7fa --- /dev/null +++ b/runtime/ObjC/Framework/examples/treeparser/output @@ -0,0 +1,2 @@ +tree: (DECL int a) +int a diff --git a/runtime/ObjC/Framework/examples/treerewrite/TreeRewrite.tokens b/runtime/ObjC/Framework/examples/treerewrite/TreeRewrite.tokens index eb18cc62..97819e83 100644 --- a/runtime/ObjC/Framework/examples/treerewrite/TreeRewrite.tokens +++ b/runtime/ObjC/Framework/examples/treerewrite/TreeRewrite.tokens @@ -1,2 +1,2 @@ -WS=5 INT=4 +WS=5 diff --git a/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteLexer.h b/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteLexer.h index 297fe408..f51686c4 100644 --- a/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteLexer.h +++ b/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteLexer.h @@ -1,10 +1,10 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 TreeRewrite.g 2010-08-24 14:18:09 +// $ANTLR ${project.version} ${buildNumber} TreeRewrite.g 2011-05-06 18:56:28 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ @@ -14,17 +14,24 @@ #pragma mark Rule return scopes start #pragma mark Rule return scopes end #pragma mark Tokens +#ifdef EOF +#undef EOF +#endif +#define EOF -1 #define INT 4 #define WS 5 -#define EOF -1 +/* interface lexer class */ @interface TreeRewriteLexer : ANTLRLexer { // line 283 -// start of actions.lexer.memVars -// start of action-actionScope-memVars +/* ObjC start of actions.lexer.memVars */ +/* ObjC end of actions.lexer.memVars */ } ++ (void) initialize; + (TreeRewriteLexer *)newTreeRewriteLexerWithCharStream:(id)anInput; - -- (void)mINT; -- (void)mWS; -- (void)mTokens; +/* ObjC start actions.lexer.methodsDecl */ +/* ObjC end actions.lexer.methodsDecl */ +- (void) mINT ; +- (void) mWS ; +- (void) mTokens ; @end /* end of TreeRewriteLexer interface */ + diff --git a/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteLexer.m b/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteLexer.m index 2ede4646..0d9d31ac 100644 --- a/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteLexer.m +++ b/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteLexer.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : TreeRewrite.g - * - On : 2010-08-24 14:18:09 - * - for the lexer : TreeRewriteLexerLexer * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 18:56:28 + * - for the lexer : TreeRewriteLexerLexer + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 TreeRewrite.g 2010-08-24 14:18:09 +// $ANTLR ${project.version} ${buildNumber} TreeRewrite.g 2011-05-06 18:56:28 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -47,12 +22,10 @@ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ - /** As per Terence: No returns for lexer rules! */ @implementation TreeRewriteLexer // line 330 @@ -73,8 +46,8 @@ + (TreeRewriteLexer *)newTreeRewriteLexerWithCharStream:(id)anI - (id) initWithCharStream:(id)anInput { - if ((self = [super initWithCharStream:anInput State:[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:3+1]]) != nil) { - + self = [super initWithCharStream:anInput State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:3+1] retain]]; + if ( self != nil ) { } return self; } @@ -84,15 +57,18 @@ - (void) dealloc [super dealloc]; } -/* Start of actions.lexer.methods */ -/* start methods() */ +/* ObjC Start of actions.lexer.methods */ +/* ObjC end of actions.lexer.methods */ +/* ObjC start methods() */ +/* ObjC end methods() */ /* Start of Rules */ // $ANTLR start "INT" - (void) mINT { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = INT; @@ -101,55 +77,65 @@ - (void) mINT // TreeRewrite.g:15:7: ( '0' .. '9' )+ // alt { // TreeRewrite.g:15:7: ( '0' .. '9' )+ // positiveClosureBlock - NSInteger cnt1=0; + NSInteger cnt1 = 0; do { - NSInteger alt1=2; + NSInteger alt1 = 2; NSInteger LA1_0 = [input LA:1]; - if ( ((LA1_0>='0' && LA1_0<='9')) ) { + if ( ((LA1_0 >= '0' && LA1_0 <= '9')) ) { alt1=1; } switch (alt1) { case 1 : ; - // TreeRewrite.g:15:8: '0' .. '9' // alt + // TreeRewrite.g: // alt { - [self matchRangeFromChar:'0' to:'9']; /* element() */ - /* elements */ + if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) { + [input consume]; + } else { + ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; + [self recover:mse]; + @throw mse; + } + + } break; default : if ( cnt1 >= 1 ) goto loop1; - ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:1]; + ANTLREarlyExitException *eee = + [ANTLREarlyExitException newException:input decisionNumber:1]; @throw eee; } cnt1++; } while (YES); loop1: ; - /* element() */ - /* elements */ + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "INT" +/* $ANTLR end "INT" */ // $ANTLR start "WS" - (void) mWS { // - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ @try { NSInteger _type = WS; @@ -158,23 +144,26 @@ - (void) mWS // TreeRewrite.g:18:9: ' ' // alt { [self matchChar:' ']; - /* element() */ - _channel=99; /* element() */ - /* elements */ + + + _channel=HIDDEN; + + } // token+rule list labels - [state setType:_type]; - + state.type = _type; state.channel = _channel; } @finally { // + /* Terence's stuff */ + } return; } -// $ANTLR end "WS" +/* $ANTLR end "WS" */ - (void) mTokens { @@ -182,31 +171,35 @@ - (void) mTokens NSInteger alt2=2; NSInteger LA2_0 = [input LA:1]; - if ( ((LA2_0>='0' && LA2_0<='9')) ) { + if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) { alt2=1; } else if ( (LA2_0==' ') ) { alt2=2; } else { - ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:2 state:0 stream:input]; + ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:2 state:0 stream:input]; + nvae.c = LA2_0; @throw nvae; + } switch (alt2) { case 1 : ; // TreeRewrite.g:1:10: INT // alt { - [self mINT]; - /* element() */ - /* elements */ + [self mINT]; + + + } break; case 2 : ; // TreeRewrite.g:1:14: WS // alt { - [self mWS]; - /* element() */ - /* elements */ + [self mWS]; + + + } break; @@ -214,8 +207,4 @@ - (void) mTokens } -@end /* end of TreeRewriteLexer implementation line 397 */ - -/* End of code - * ============================================================================= - */ +@end /* end of TreeRewriteLexer implementation line 397 */ \ No newline at end of file diff --git a/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.h b/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.h index 1b20be6f..f587cddd 100644 --- a/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.h +++ b/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.h @@ -1,76 +1,124 @@ -// $ANTLR 3.2 Aug 24, 2010 10:45:57 TreeRewrite.g 2010-08-24 14:18:09 +// $ANTLR ${project.version} ${buildNumber} TreeRewrite.g 2011-05-06 18:56:28 /* ============================================================================= * Standard antlr3 OBJC runtime definitions */ #import -#import "antlr3.h" +#import /* End of standard antlr3 runtime definitions * ============================================================================= */ /* parserHeaderFile */ +#ifndef ANTLR3TokenTypeAlreadyDefined +#define ANTLR3TokenTypeAlreadyDefined +typedef enum { + ANTLR_EOF = -1, + INVALID, + EOR, + DOWN, + UP, + MIN +} ANTLR3TokenType; +#endif + #pragma mark Tokens -#define WS 5 -#define INT 4 +#ifdef EOF +#undef EOF +#endif #define EOF -1 +#define INT 4 +#define WS 5 #pragma mark Dynamic Global Scopes #pragma mark Dynamic Rule Scopes #pragma mark Rule Return Scopes start -/* returnScopeInterface */ -@interface TreeRewriteParser_rule_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ +/* returnScopeInterface TreeRewriteParser_rule_return */ +@interface TreeRewriteParser_rule_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (TreeRewriteParser_rule_return *)newTreeRewriteParser_rule_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -/* returnScopeInterface */ -@interface TreeRewriteParser_subrule_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1806 */ + + + +/* returnScopeInterface TreeRewriteParser_subrule_return */ +@interface TreeRewriteParser_subrule_return :ANTLRParserRuleReturnScope { /* returnScopeInterface line 1838 */ /* AST returnScopeInterface.memVars */ -ANTLRCommonTree *tree; /* start of memVars() */ +ANTLRCommonTree *tree; /* ObjC start of memVars() */ } +/* start properties */ /* AST returnScopeInterface.properties */ -@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; /* start properties */ +@property (retain, getter=getTree, setter=setTree:) ANTLRCommonTree *tree; + (TreeRewriteParser_subrule_return *)newTreeRewriteParser_subrule_return; /* this is start of set and get methods */ -/* AST returnScopeInterface.methodsdecl */ +/* AST returnScopeInterface.methodsDecl */ - (ANTLRCommonTree *)getTree; + - (void) setTree:(ANTLRCommonTree *)aTree; /* methodsDecl */ @end /* end of returnScopeInterface interface */ -#pragma mark Rule return scopes end + + + +/* Interface grammar class */ @interface TreeRewriteParser : ANTLRParser { /* line 572 */ -// start of globalAttributeScopeMemVar +/* ObjC start of ruleAttributeScopeMemVar */ -// start of action-actionScope-memVars -// start of ruleAttributeScopeMemVar +/* ObjC end of ruleAttributeScopeMemVar */ +/* ObjC start of globalAttributeScopeMemVar */ -// Start of memVars +/* ObjC end of globalAttributeScopeMemVar */ +/* ObjC start of actions.(actionScope).memVars */ +/* ObjC end of actions.(actionScope).memVars */ +/* ObjC start of memVars */ /* AST parserHeaderFile.memVars */ -/* AST parsermemVars */ -id treeAdaptor; +NSInteger ruleLevel; +NSArray *ruleNames; + /* AST super.memVars */ +/* AST parserMemVars */ +id treeAdaptor; /* AST parserMemVars */ +/* ObjC end of memVars */ } -// start of action-actionScope-methodsDecl +/* ObjC start of actions.(actionScope).properties */ +/* ObjC end of actions.(actionScope).properties */ +/* ObjC start of properties */ +/* AST parserHeaderFile.properties */ + /* AST super.properties */ +/* AST parserProperties */ +@property (retain, getter=getTreeAdaptor, setter=setTreeAdaptor:) id treeAdaptor; /* AST parserproperties */ +/* ObjC end of properties */ + ++ (void) initialize; ++ (id) newTreeRewriteParser:(id)aStream; +/* ObjC start of actions.(actionScope).methodsDecl */ +/* ObjC end of actions.(actionScope).methodsDecl */ -/* AST parserHeaderFile.methodsdecl */ +/* ObjC start of methodsDecl */ +/* AST parserHeaderFile.methodsDecl */ + /* AST super.methodsDecl */ /* AST parserMethodsDecl */ - (id) getTreeAdaptor; -- (void) setTreeAdaptor:(id)theTreeAdaptor; +- (void) setTreeAdaptor:(id)theTreeAdaptor; /* AST parsermethodsDecl */ +/* ObjC end of methodsDecl */ - (TreeRewriteParser_rule_return *)rule; - (TreeRewriteParser_subrule_return *)subrule; @end /* end of TreeRewriteParser interface */ + diff --git a/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.m b/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.m index 4dcb7da0..9340e6e3 100644 --- a/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.m +++ b/runtime/ObjC/Framework/examples/treerewrite/TreeRewriteParser.m @@ -1,43 +1,18 @@ /** \file - * This OBJC source file was generated by $ANTLR version 3.2 Aug 24, 2010 10:45:57 + * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber} * * - From the grammar source file : TreeRewrite.g - * - On : 2010-08-24 14:18:09 - * - for the parser : TreeRewriteParserParser * - * Editing it, at least manually, is not wise. + * - On : 2011-05-06 18:56:28 + * - for the parser : TreeRewriteParserParser + * + * Editing it, at least manually, is not wise. * * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. * * */ -// [The "BSD licence"] -// Copyright (c) 2010 Alan Condit -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// $ANTLR 3.2 Aug 24, 2010 10:45:57 TreeRewrite.g 2010-08-24 14:18:09 +// $ANTLR ${project.version} ${buildNumber} TreeRewrite.g 2011-05-06 18:56:28 + /* ----------------------------------------- * Include the ANTLR3 generated header file. @@ -47,13 +22,10 @@ /* ============================================================================= */ - /* ============================================================================= * Start of recognizer */ - - #pragma mark Bitsets static ANTLRBitSet *FOLLOW_INT_in_rule26; static const unsigned long long FOLLOW_INT_in_rule26_data[] = { 0x0000000000000010LL}; @@ -67,8 +39,7 @@ #pragma mark Dynamic Rule Scopes -#pragma mark Rule return scopes start -/* returnScope */ +#pragma mark Rule Return Scopes start @implementation TreeRewriteParser_rule_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -77,6 +48,12 @@ + (TreeRewriteParser_rule_return *)newTreeRewriteParser_rule_return return [[[TreeRewriteParser_rule_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -94,16 +71,15 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ -/* returnScope */ + @implementation TreeRewriteParser_subrule_return /* returnScope */ /* AST returnScope.synthesize */ @synthesize tree; /* start of synthesize -- OBJC-Line 1837 */ @@ -112,6 +88,12 @@ + (TreeRewriteParser_subrule_return *)newTreeRewriteParser_subrule_return return [[[TreeRewriteParser_subrule_return alloc] init] retain]; } +- (id) init +{ + self = [super init]; + return self; +} + /* AST returnScope.methods */ - (ANTLRCommonTree *)getTree { @@ -129,19 +111,36 @@ - (void) setTree:(ANTLRCommonTree *)aTree - (void) dealloc { - [self setTree:nil]; + self.tree = nil; [super dealloc]; } - @end /* end of returnScope implementation */ +//#pragma mark Rule return scopes start +// + +#pragma mark Rule return scopes start @implementation TreeRewriteParser // line 637 +/* ObjC start of ruleAttributeScope */ +#pragma mark Dynamic Rule Scopes +/* ObjC end of ruleAttributeScope */ +#pragma mark global Attribute Scopes +/* ObjC start globalAttributeScope */ +/* ObjC end globalAttributeScope */ +/* ObjC start actions.(actionScope).synthesize */ +/* ObjC end actions.(actionScope).synthesize */ +/* ObjC start synthesize() */ +/* AST genericParser.synthesize */ +/* AST parserProperties */ +@synthesize treeAdaptor; +/* ObjC end synthesize() */ + + (void) initialize { #pragma mark Bitsets @@ -149,26 +148,28 @@ + (void) initialize FOLLOW_subrule_in_rule28 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_subrule_in_rule28_data Count:(NSUInteger)1] retain]; FOLLOW_INT_in_subrule53 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_INT_in_subrule53_data Count:(NSUInteger)1] retain]; - [ANTLRBaseRecognizer setTokenNames:[[[NSArray alloc] initWithObjects:@"", @"", @"", @"", + [ANTLRBaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"", @"", @"", @"", @"INT", @"WS", nil] retain]]; + [ANTLRBaseRecognizer setGrammarFileName:@"TreeRewrite.g"]; } + (TreeRewriteParser *)newTreeRewriteParser:(id)aStream { return [[TreeRewriteParser alloc] initWithTokenStream:aStream]; + } - (id) initWithTokenStream:(id)aStream { - if ((self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:2+1] retain]]) != nil) { - + self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:2+1] retain]]; + if ( self != nil ) { /* start of actions-actionScope-init */ /* start of init */ /* AST genericParser.init */ - [self setTreeAdaptor:[[ANTLRCommonTreeAdaptor newANTLRCommonTreeAdaptor] retain]]; + [self setTreeAdaptor:[[ANTLRCommonTreeAdaptor newTreeAdaptor] retain]]; } return self; } @@ -180,8 +181,12 @@ - (void) dealloc [super dealloc]; } -// start actions.actionScope.methods -// start methods() + +/* ObjC start members */ +/* ObjC end members */ +/* ObjC start actions.(actionScope).methods */ +/* ObjC end actions.(actionScope).methods */ +/* ObjC start methods() */ /* AST genericParser.methods */ /* AST parserMethods */ - (id) getTreeAdaptor @@ -195,32 +200,35 @@ - (void) setTreeAdaptor:(id)aTreeAdaptor treeAdaptor = aTreeAdaptor; } } -// start rules +/* ObjC end methods() */ +/* ObjC start rules */ /* * $ANTLR start rule * TreeRewrite.g:8:1: rule : INT subrule -> ^( subrule INT ) ; */ - (TreeRewriteParser_rule_return *) rule { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ TreeRewriteParser_rule_return * retval = [TreeRewriteParser_rule_return newTreeRewriteParser_rule_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { /* AST ruleLabelDefs */ ANTLRCommonToken *INT1 = nil; - TreeRewriteParser_subrule_return * subrule2 = nil; - + TreeRewriteParser_subrule_return * subrule2 = nil ; + ANTLRCommonTree *INT1_tree=nil; - ANTLRRewriteRuleTokenStream *stream_INT = + ANTLRRewriteRuleTokenStream *stream_INT = [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor description:@"token INT"] retain]; - ANTLRRewriteRuleSubtreeStream *stream_subrule = + ANTLRRewriteRuleSubtreeStream *stream_subrule = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor description:@"rule subrule"] retain]; // TreeRewrite.g:8:5: ( INT subrule -> ^( subrule INT ) ) // ruleBlockSingleAlt @@ -228,14 +236,16 @@ - (TreeRewriteParser_rule_return *) rule { INT1=(ANTLRCommonToken *)[self match:input TokenType:INT Follow:FOLLOW_INT_in_rule26]; [stream_INT addElement:INT1]; - /* element() */ + + + /* ruleRef */ [self pushFollow:FOLLOW_subrule_in_rule28]; subrule2 = [self subrule]; + [self popFollow]; - [stream_subrule addElement:[subrule2 getTree]]; /* element() */ - /* elements */ + [stream_subrule addElement:[subrule2 getTree]]; // AST REWRITE // elements: subrule, INT @@ -244,14 +254,11 @@ - (TreeRewriteParser_rule_return *) rule // token list labels: // rule list labels: // wildcard labels: - [retval setTree:root_0]; - retval.tree = root_0; ANTLRRewriteRuleSubtreeStream *stream_retval = [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor - description:@"token retval" - element:retval!=nil?[retval getTree]:nil] retain]; + description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain]; root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; @@ -260,19 +267,22 @@ - (TreeRewriteParser_rule_return *) rule // TreeRewrite.g:8:22: ^( subrule INT ) { ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; - root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:(id)[stream_subrule nextNode] - old:root_1]; + root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:(id)[stream_subrule nextNode] old:root_1]; // TODO: args: - [treeAdaptor addChild:[stream_INT nextNode] toTree:root_1]; + [treeAdaptor addChild: + [stream_INT nextNode] + toTree:root_1]; [treeAdaptor addChild:root_1 toTree:root_0]; } } + retval.tree = root_0; + } /* ASTParser ruleCleanUp */ @@ -280,36 +290,44 @@ - (TreeRewriteParser_rule_return *) rule // token+rule list labels [retval setStop:[input LT:-1]]; + [stream_INT release]; [stream_subrule release]; retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end rule */ + /* * $ANTLR start subrule * TreeRewrite.g:11:1: subrule : INT ; */ - (TreeRewriteParser_subrule_return *) subrule { - /* ruleScopeSetUp */ + /* my ruleScopeSetUp */ + /* Terence's stuff */ /* AST ruleDeclarations */ TreeRewriteParser_subrule_return * retval = [TreeRewriteParser_subrule_return newTreeRewriteParser_subrule_return]; [retval setStart:[input LT:1]]; + ANTLRCommonTree *root_0 = nil; @try { @@ -323,13 +341,15 @@ - (TreeRewriteParser_subrule_return *) subrule { root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain]; + /* ASTParser tokenRef */ INT3=(ANTLRCommonToken *)[self match:input TokenType:INT Follow:FOLLOW_INT_in_subrule53]; INT3_tree = /* ASTParser createNodeFromToken */ - (ANTLRCommonTree *)[[treeAdaptor createTree:INT3] retain]; + (ANTLRCommonTree *)[[treeAdaptor create:INT3] retain] + ; [treeAdaptor addChild:INT3_tree toTree:root_0]; - /* element() */ - /* elements */ + + } /* ASTParser ruleCleanUp */ @@ -338,25 +358,26 @@ - (TreeRewriteParser_subrule_return *) subrule [retval setStop:[input LT:-1]]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0]; - [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken]; + [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken]; } @catch (ANTLRRecognitionException *re) { [self reportError:re]; [self recover:input Exception:re]; /* ASTParser rule.setErrorReturnValue */ - retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re]; + retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re]; + + } + + @finally { + /* Terence's stuff */ - } @finally { } return retval; } /* $ANTLR end subrule */ +/* ObjC end rules */ @end /* end of TreeRewriteParser implementation line 692 */ - - -/* End of code - * ============================================================================= - */ diff --git a/runtime/ObjC/Framework/java src b/runtime/ObjC/Framework/java src new file mode 100644 index 00000000..7012ce83 Binary files /dev/null and b/runtime/ObjC/Framework/java src differ diff --git a/runtime/ObjC/Framework/test/runtime/TestRewriteRuleTokenStream/TestRewriteRuleTokenStream.h b/runtime/ObjC/Framework/test/runtime/TestRewriteRuleTokenStream/TestRewriteRuleTokenStream.h old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/test/runtime/TestRewriteRuleTokenStream/TestRewriteRuleTokenStream.m b/runtime/ObjC/Framework/test/runtime/TestRewriteRuleTokenStream/TestRewriteRuleTokenStream.m old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/test/runtime/misc/ANTLRFastQueueTest.m b/runtime/ObjC/Framework/test/runtime/misc/ANTLRFastQueueTest.m index 7bb0cf71..74508a7c 100644 --- a/runtime/ObjC/Framework/test/runtime/misc/ANTLRFastQueueTest.m +++ b/runtime/ObjC/Framework/test/runtime/misc/ANTLRFastQueueTest.m @@ -15,14 +15,14 @@ @implementation ANTLRFastQueueTest -(void) testInit { - ANTLRFastQueue *queue = [ANTLRFastQueue newANTLRFastQueue]; + ANTLRFastQueue *queue = [[ANTLRFastQueue newANTLRFastQueue] retain]; STAssertNotNil(queue, @"Queue was not created and was nil"); [queue release]; } -(void) testAddAndGet { - ANTLRFastQueue *queue = [ANTLRFastQueue newANTLRFastQueue]; + ANTLRFastQueue *queue = [[ANTLRFastQueue newANTLRFastQueue] retain]; STAssertNotNil(queue, @"Queue was not created and was nil"); [queue addObject:@"My String"]; STAssertTrue([[queue objectAtIndex:0] isKindOfClass:[NSString class]], @"First object is not a NSString"); @@ -35,7 +35,7 @@ -(void) testInvalidElementIndex { //ANTLRRuntimeException *ANTLRNoSuchElementException = [ANTLRNoSuchElementException newException:@"No such element exception"]; id retVal; - ANTLRFastQueue *queue = [ANTLRFastQueue newANTLRFastQueue]; + ANTLRFastQueue *queue = [[ANTLRFastQueue newANTLRFastQueue] retain]; STAssertNotNil(queue, @"Queue was not created and was nil"); @try { @@ -47,11 +47,12 @@ -(void) testInvalidElementIndex return; } STFail(@"Exception ANTLRNoSuchElementException was not thrown -- %@", [retVal name]); + [queue release]; } -(void) testHead { - ANTLRFastQueue *queue = [ANTLRFastQueue newANTLRFastQueue]; + ANTLRFastQueue *queue = [[ANTLRFastQueue newANTLRFastQueue] retain]; STAssertNotNil(queue, @"Queue was not created and was nil"); [queue addObject:@"Item 1"]; [queue addObject:@"Item 2"]; @@ -64,7 +65,7 @@ -(void) testHead -(void) testClear { - ANTLRFastQueue *queue = [ANTLRFastQueue newANTLRFastQueue]; + ANTLRFastQueue *queue = [[ANTLRFastQueue newANTLRFastQueue] retain]; STAssertNotNil(queue, @"Queue was not created and was nil"); [queue addObject:@"Item 1"]; [queue addObject:@"Item 2"]; @@ -77,7 +78,7 @@ -(void) testClear -(void) testDescription { - ANTLRFastQueue *queue = [ANTLRFastQueue newANTLRFastQueue]; + ANTLRFastQueue *queue = [[ANTLRFastQueue newANTLRFastQueue] retain]; STAssertNotNil(queue, @"Queue was not created and was nil"); [queue addObject:@"My"]; [queue addObject:@"String"]; @@ -87,7 +88,7 @@ -(void) testDescription -(void) testRemove { - ANTLRFastQueue *queue = [ANTLRFastQueue newANTLRFastQueue]; + ANTLRFastQueue *queue = [[ANTLRFastQueue newANTLRFastQueue] retain]; STAssertNotNil(queue, @"Queue was not created and was nil"); [queue addObject:@"My"]; [queue addObject:@"String"]; diff --git a/runtime/ObjC/Framework/test/runtime/misc/TestDictionary.h b/runtime/ObjC/Framework/test/runtime/misc/TestDictionary.h new file mode 100644 index 00000000..c79a135e --- /dev/null +++ b/runtime/ObjC/Framework/test/runtime/misc/TestDictionary.h @@ -0,0 +1,23 @@ +// +// TestDictionary.h +// ST4 +// +// Created by Alan Condit on 4/20/11. +// Copyright 2011 Alan Condit. All rights reserved. +// + +#import + + +@interface TestDictionary : SenTestCase { +@private + +} + +- (void) test01add; +- (void) test02add; +- (void) test03add; +- (void) test04removefromLo; +- (void) test05removefromHi; + +@end diff --git a/runtime/ObjC/Framework/test/runtime/misc/TestDictionary.m b/runtime/ObjC/Framework/test/runtime/misc/TestDictionary.m new file mode 100644 index 00000000..0d3612f7 --- /dev/null +++ b/runtime/ObjC/Framework/test/runtime/misc/TestDictionary.m @@ -0,0 +1,137 @@ +// +// TestDictionary.m +// ST4 +// +// Created by Alan Condit on 4/20/11. +// Copyright 2011 Alan Condit. All rights reserved. +// + +#import "TestDictionary.h" +#import "AMutableDictionary.h" + +@implementation TestDictionary + +- (void)setUp +{ + [super setUp]; + + // Set-up code here. +} + +- (void)tearDown +{ + // Tear-down code here. + + [super tearDown]; +} + +- (void) test01add +{ + AMutableDictionary *testDict; + NSString *key1 = @"a101"; + NSString *obj1 = @"obj101"; + + testDict = [AMutableDictionary newDictionary]; + [testDict setObject:obj1 forKey:key1]; + NSString *expected = obj1; + NSString *result = [testDict objectForKey:key1]; + STAssertTrue( [expected isEqualTo:result], @"Expected \"%@\" but got \"%@\"", expected, result ); +} + +- (void) test02add +{ + AMutableDictionary *testDict; + NSString *key1 = @"a101"; + NSString *obj1 = @"obj101"; + NSString *key2 = @"a102"; + NSString *obj2 = @"obj102"; + + testDict = [AMutableDictionary newDictionary]; + [testDict setObject:obj1 forKey:key1]; + [testDict setObject:obj2 forKey:key2]; + NSString *expected = obj1; + NSString *result = [testDict objectForKey:key1]; + STAssertTrue( [expected isEqualTo:result], @"Expected \"%@\" but got \"%@\"", expected, result ); +} + +- (void) test03add +{ + AMutableDictionary *testDict; + NSString *key1 = @"a101"; + NSString *obj1 = @"obj101"; + + testDict = [AMutableDictionary newDictionary]; + [testDict setObject:obj1 forKey:key1]; + [testDict setObject:@"obj102" forKey:@"a102"]; + [testDict setObject:@"obj103" forKey:@"a103"]; + [testDict setObject:@"obj104" forKey:@"a104"]; + [testDict setObject:@"obj105" forKey:@"a105"]; + [testDict setObject:@"obj106" forKey:@"a106"]; + [testDict setObject:@"obj107" forKey:@"a107"]; + [testDict setObject:@"obj108" forKey:@"a108"]; + [testDict setObject:@"obj109" forKey:@"a109"]; + [testDict setObject:@"obj110" forKey:@"a110"]; + [testDict setObject:@"obj111" forKey:@"a111"]; + [testDict setObject:@"obj112" forKey:@"a112"]; + NSString *expected = @"obj106"; + NSString *result = [testDict objectForKey:@"a106"]; + STAssertTrue( [expected isEqualTo:result], @"Expected \"%@\" but got \"%@\"", expected, result ); +} + +- (void) test04removefromLo +{ + AMutableDictionary *testDict; + NSString *key1 = @"a101"; + NSString *obj1 = @"obj101"; + + testDict = [AMutableDictionary newDictionary]; + [testDict setObject:obj1 forKey:key1]; + [testDict setObject:@"obj107" forKey:@"a107"]; + [testDict setObject:@"obj108" forKey:@"a108"]; + [testDict setObject:@"obj109" forKey:@"a109"]; + [testDict setObject:@"obj110" forKey:@"a110"]; + [testDict setObject:@"obj111" forKey:@"a111"]; + [testDict setObject:@"obj112" forKey:@"a112"]; + [testDict setObject:@"obj102" forKey:@"a102"]; + [testDict setObject:@"obj103" forKey:@"a103"]; + [testDict setObject:@"obj104" forKey:@"a104"]; + [testDict setObject:@"obj105" forKey:@"a105"]; + [testDict setObject:@"obj106" forKey:@"a106"]; + NSString *expected = @"obj105"; + NSString *result = [testDict objectForKey:@"a105"]; + STAssertTrue( [expected isEqualTo:result], @"Expected \"%@\" but got \"%@\"", expected, result ); + [testDict removeObjectForKey:@"a104"]; + result = [testDict objectForKey:@"a106"]; + expected = @"obj106"; + STAssertTrue( [expected isEqualTo:result], @"Expected \"%@\" but got \"%@\"", expected, result ); +} + +- (void) test05removefromHi +{ + AMutableDictionary *testDict; + NSString *key1 = @"a101"; + NSString *obj1 = @"obj101"; + + testDict = [AMutableDictionary newDictionary]; + [testDict setObject:obj1 forKey:key1]; + [testDict setObject:@"obj107" forKey:@"a107"]; + [testDict setObject:@"obj108" forKey:@"a108"]; + [testDict setObject:@"obj109" forKey:@"a109"]; + [testDict setObject:@"obj110" forKey:@"a110"]; + [testDict setObject:@"obj111" forKey:@"a111"]; + [testDict setObject:@"obj112" forKey:@"a112"]; + [testDict setObject:@"obj102" forKey:@"a102"]; + [testDict setObject:@"obj103" forKey:@"a103"]; + [testDict setObject:@"obj104" forKey:@"a104"]; + [testDict setObject:@"obj105" forKey:@"a105"]; + [testDict setObject:@"obj106" forKey:@"a106"]; + NSString *expected = @"obj105"; + NSString *result = [testDict objectForKey:@"a105"]; + STAssertTrue( [expected isEqualTo:result], @"Expected \"%@\" but got \"%@\"", expected, result ); + [testDict removeObjectForKey:@"a108"]; + result = [testDict objectForKey:@"a110"]; + expected = @"obj110"; + STAssertTrue( [expected isEqualTo:result], @"Expected \"%@\" but got \"%@\"", expected, result ); +} + +@end diff --git a/runtime/ObjC/Framework/test/runtime/recognizer/ANTLRRecognizerTest.h b/runtime/ObjC/Framework/test/runtime/recognizer/ANTLRRecognizerTest.h old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/test/runtime/recognizer/ANTLRRecognizerTest.m b/runtime/ObjC/Framework/test/runtime/recognizer/ANTLRRecognizerTest.m old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/test/runtime/sets/ANTLRBitSetTest.m b/runtime/ObjC/Framework/test/runtime/sets/ANTLRBitSetTest.m index 11ecae35..70fd894b 100644 --- a/runtime/ObjC/Framework/test/runtime/sets/ANTLRBitSetTest.m +++ b/runtime/ObjC/Framework/test/runtime/sets/ANTLRBitSetTest.m @@ -26,7 +26,7 @@ -(void) testWithBitData -(void) testWithBitArray { - NSMutableArray *bits = [NSMutableArray arrayWithCapacity:10]; + AMutableArray *bits = [AMutableArray arrayWithCapacity:10]; [bits addObject:[NSNumber numberWithBool:YES]]; [bits addObject:[NSNumber numberWithBool:YES]]; [bits addObject:[NSNumber numberWithBool:NO]]; diff --git a/runtime/ObjC/Framework/test/runtime/stream/ANTLRStringStreamTest.m b/runtime/ObjC/Framework/test/runtime/stream/ANTLRStringStreamTest.m index 1da98a6c..7b6b66e5 100644 --- a/runtime/ObjC/Framework/test/runtime/stream/ANTLRStringStreamTest.m +++ b/runtime/ObjC/Framework/test/runtime/stream/ANTLRStringStreamTest.m @@ -27,16 +27,16 @@ -(void) testConsumeAndReset { ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"This is a string used for input"]; [stream consume]; - STAssertTrue([stream getIndex] > 0, @"Index should be greater than 0 after consume"); + STAssertTrue(stream.index > 0, @"Index should be greater than 0 after consume"); [stream reset]; - STAssertTrue([stream getIndex] == 0, @"Index should be 0 after reset"); + STAssertTrue(stream.index == 0, @"Index should be 0 after reset"); [stream release]; } -(void) testConsumeWithNewLine { ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"This is a string\nused for input"]; - while ([stream getIndex] < [stream size] && stream.line == 1) + while (stream.index < [stream size] && stream.line == 1) { [stream consume]; } @@ -57,7 +57,7 @@ -(void) testLAEOF break; } } - STAssertTrue(eofFound, @"EOF Was not found in stream, Length =%d, index = %d, i = %d", [stream size], [stream getIndex], i); + STAssertTrue(eofFound, @"EOF Was not found in stream, Length =%d, index = %d, i = %d", [stream size], stream.index, i); [stream release]; } @@ -73,7 +73,7 @@ -(void) testLTEOF break; } } - STAssertTrue(eofFound, @"EOF Was not found in stream, Length =%d, index = %d, i = %d", [stream size], [stream getIndex], i); + STAssertTrue(eofFound, @"EOF Was not found in stream, Length =%d, index = %d, i = %d", [stream size], stream.index, i); [stream release]; } @@ -81,7 +81,7 @@ -(void) testSeek { ANTLRStringStream *stream =[ANTLRStringStream newANTLRStringStream:@"This is a string used for input"]; [stream seek:10]; - STAssertTrue([stream getIndex] == 10, @"Index should be 10"); + STAssertTrue(stream.index == 10, @"Index should be 10"); // Get char 10 which is s (with 0 being T) STAssertTrue([stream LA:1] > -1 && (char)[stream LA:1] == 's', @"Char returned should be s"); [stream release]; @@ -92,16 +92,16 @@ -(void) testSeekMarkAndRewind ANTLRStringStream *stream =[ANTLRStringStream newANTLRStringStream:@"This is a string used for input"]; [stream mark]; [stream seek:10]; - STAssertTrue([stream getIndex] == 10, @"Index should be 10"); + STAssertTrue(stream.index == 10, @"Index should be 10"); [stream rewind]; - STAssertTrue([stream getIndex] == 0, @"Index should be 0"); + STAssertTrue(stream.index == 0, @"Index should be 0"); [stream seek:5]; - STAssertTrue([stream getIndex] == 5, @"Index should be 5"); + STAssertTrue(stream.index == 5, @"Index should be 5"); [stream mark]; // make a new marker to test a branch. [stream seek:10]; - STAssertTrue([stream getIndex] == 10, @"Index should be 10"); + STAssertTrue(stream.index == 10, @"Index should be 10"); [stream rewind]; // should be marked to 5. - STAssertTrue([stream getIndex] == 5, @"Index should be 5"); + STAssertTrue(stream.index == 5, @"Index should be 5"); [stream release]; } diff --git a/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.h b/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.h index af745527..77f028b3 100644 --- a/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.h +++ b/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.h @@ -14,12 +14,12 @@ } --(void) testGetEOFToken; --(void) testInitAndRelease; --(void) testInitWithTokenType; --(void) testInitWithTokenTypeAndText; --(void) testInitWithCharStream; --(void) testInitWithToken; --(void) testTokenDescription; +-(void) test01InitAndRelease; +-(void) test02GetEOFToken; +-(void) test03InitWithTokenType; +-(void) test04InitWithTokenTypeAndText; +-(void) test05InitWithCharStream; +-(void) test06InitWithToken; +-(void) test07TokenDescription; @end diff --git a/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.m b/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.m index 4fc3ca06..e945c5d0 100644 --- a/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.m +++ b/runtime/ObjC/Framework/test/runtime/token/ANTLRCommonTokenTest.m @@ -12,24 +12,24 @@ @implementation ANTLRCommonTokenTest --(void) testInitAndRelease +-(void) test01InitAndRelease { - ANTLRCommonToken *token = [ANTLRCommonToken newToken]; + ANTLRCommonToken *token = [[ANTLRCommonToken newToken] retain]; STAssertNotNil(token, @"Token was nil"); [token release]; } --(void) testGetEOFToken +-(void) test02GetEOFToken { - ANTLRCommonToken *token = [ANTLRCommonToken eofToken]; + ANTLRCommonToken *token = [[ANTLRCommonToken eofToken] retain]; STAssertNotNil(token, @"Token was nil"); STAssertEquals(token.type, (NSInteger)ANTLRTokenTypeEOF, @"Token was not of type ANTLRTokenTypeEOF"); [token release]; } --(void) testInitWithTokenType +-(void) test03InitWithTokenType { - ANTLRCommonToken *token = [ANTLRCommonToken newToken:ANTLRTokenTypeUP]; + ANTLRCommonToken *token = [[ANTLRCommonToken newToken:ANTLRTokenTypeUP] retain]; token.text = @""; STAssertNotNil(token, @"Token was nil"); STAssertEquals(token.type, (NSInteger)ANTLRTokenTypeUP, @"Token was not of type ANTLRTokenTypeUP"); @@ -38,9 +38,9 @@ -(void) testInitWithTokenType [token release]; } --(void) testInitWithTokenTypeAndText +-(void) test04InitWithTokenTypeAndText { - ANTLRCommonToken *token = [ANTLRCommonToken newToken:ANTLRTokenTypeUP Text:@""]; + ANTLRCommonToken *token = [[ANTLRCommonToken newToken:ANTLRTokenTypeUP Text:@""] retain]; STAssertNotNil(token, @"Token was nil"); STAssertEquals(token.type, (NSInteger)ANTLRTokenTypeUP, @"Token was not of type ANTLRTokenTypeUP"); STAssertNotNil(token.text, @"Token text was nil, was expecting "); @@ -48,27 +48,28 @@ -(void) testInitWithTokenTypeAndText [token release]; } --(void) testInitWithCharStream +-(void) test05InitWithCharStream { - ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRStringStream *stream = [[ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"] retain]; + ANTLRCommonToken *token = [[ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5] retain]; STAssertNotNil(token, @"Token was nil"); STAssertEquals(token.type, (NSInteger)555, @"Token was not of type 555"); // Nice random type number STAssertNotNil(token.text, @"Token text was nil, was expecting ||"); STAssertTrue([token.text isEqualToString:@"||"], @"Token text was not || was instead: %@", token.text); [token release]; + [stream release]; } --(void) testInitWithToken +-(void) test06InitWithToken { - ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRStringStream *stream = [[ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"] retain]; + ANTLRCommonToken *token = [[ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5] retain]; STAssertNotNil(token, @"Token was nil"); STAssertEquals(token.type, (NSInteger)555, @"Token was not of type 555"); // Nice random type number STAssertNotNil(token.text, @"Token text was nil, was expecting ||"); STAssertTrue([token.text isEqualToString:@"||"], @"Token text was not || was instead: %@", token.text); - ANTLRCommonToken *newToken = [ANTLRCommonToken newTokenWithToken:token]; + ANTLRCommonToken *newToken = [[ANTLRCommonToken newTokenWithToken:token] retain]; STAssertNotNil(newToken, @"New token is nil!"); STAssertEquals(newToken.type, token.type, @"Tokens types do not match %d:%d!", newToken.type, token.type); STAssertEquals(newToken.line, token.line, @"Token lines do not match!"); @@ -79,16 +80,19 @@ -(void) testInitWithToken STAssertEquals(newToken.stopIndex, token.stopIndex, @"Token stop positions do not match"); STAssertTrue([newToken.text isEqualToString:token.text], @"Token text does not match!"); [token release]; - //[newToken release]; + [newToken release]; + [stream release]; } --(void) testTokenDescription +-(void) test07TokenDescription { NSString *aDescription; - ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRStringStream *stream = [[ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"] retain]; + ANTLRCommonToken *token = [[ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5] retain]; aDescription = [token description]; STAssertTrue([aDescription isEqualToString:@"[@0, 4:5='||',<555>,0:0]"], @"String description for token is not correct! got %@", aDescription); + [token release]; + [stream release]; } @end diff --git a/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonErrorNodeTest.h b/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonErrorNodeTest.h old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonErrorNodeTest.m b/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonErrorNodeTest.m old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeAdaptorTest.h b/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeAdaptorTest.h old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeAdaptorTest.m b/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeAdaptorTest.m old mode 100755 new mode 100644 diff --git a/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeTest.m b/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeTest.m index 05124138..b944721a 100644 --- a/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeTest.m +++ b/runtime/ObjC/Framework/test/runtime/tree/ANTLRCommonTreeTest.m @@ -12,12 +12,13 @@ #import "ANTLRCommonTree.h" #import "ANTLRCommonToken.h" #import "ANTLRError.h" +#import "ANTLRRuntimeException.h" @implementation ANTLRCommonTreeTest -(void) test01InitAndRelease { - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTree]; STAssertNotNil(tree, @"Tree was nil"); // FIXME: It doesn't do anything else, perhaps initWithTree should set something somewhere, java says no though... return; @@ -25,7 +26,7 @@ -(void) test01InitAndRelease -(void) test02InitWithTree { - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTree]; STAssertNotNil(tree, @"Tree was nil"); if (tree != nil) STAssertEquals([tree getType], (NSInteger)ANTLRTokenTypeInvalid, @"Tree should have an invalid token type, because it has no token"); @@ -36,17 +37,17 @@ -(void) test02InitWithTree -(void) test03WithToken { ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; token.line = 1; token.charPositionInLine = 4; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; STAssertNotNil(tree, @"Tree was nil"); if (tree != nil) STAssertNotNil(tree.token, @"Tree with token was nil"); if (tree != nil && tree.token != nil) { STAssertEquals((NSUInteger) tree.token.line, (NSUInteger)1, [NSString stringWithFormat:@"Tree should be at line 1, but was at %d", tree.token.line] ); STAssertEquals((NSUInteger) tree.token.charPositionInLine, (NSUInteger)4, [NSString stringWithFormat:@"Char position should be 1, but was at %d", tree.token.charPositionInLine]); - STAssertNotNil(tree.token.text, @"Tree with token with text was nil"); + STAssertNotNil(((ANTLRCommonToken *)tree.token).text, @"Tree with token with text was nil"); } if (tree != nil && tree.token != nil && tree.token.text != nil) STAssertTrue([tree.token.text isEqualToString:@"||"], @"Text was not ||"); @@ -56,7 +57,7 @@ -(void) test03WithToken -(void) test04InvalidTreeNode { - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:[ANTLRCommonToken invalidToken]]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:[ANTLRCommonToken invalidToken]]; STAssertNotNil(tree, @"Tree was nil"); STAssertEquals(tree.token.type, (NSInteger)ANTLRTokenTypeInvalid, @"Tree Token type was not ANTLRTokenTypeInvalid"); //[tree release]; @@ -66,11 +67,11 @@ -(void) test04InvalidTreeNode -(void) test05InitWithCommonTreeNode { ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; STAssertNotNil(tree, @"Tree was nil"); STAssertNotNil(tree.token, @"Tree token was nil"); - ANTLRCommonTree *newTree = [ANTLRCommonTree newANTLRCommonTreeWithTree:tree]; + ANTLRCommonTree *newTree = [ANTLRCommonTree newTreeWithTree:tree]; STAssertNotNil(newTree, @"New tree was nil"); STAssertNotNil(newTree.token, @"New tree token was nil"); STAssertEquals(newTree.token, tree.token, @"Tokens did not match"); @@ -86,10 +87,10 @@ -(void) test05InitWithCommonTreeNode -(void) test06CopyTree { ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; STAssertNotNil(tree, @"Tree was nil"); - ANTLRCommonTree *newTree = [tree copyWithZone:nil]; + ANTLRCommonTree *newTree = (ANTLRCommonTree *)[tree copyWithZone:nil]; STAssertTrue([newTree isKindOfClass:[ANTLRCommonTree class]], @"Copied tree was not an ANTLRCommonTree"); STAssertNotNil(newTree, @"New tree was nil"); // STAssertEquals(newTree.token, tree.token, @"Tokens did not match"); @@ -115,13 +116,13 @@ -(void) test07Description } //[errorTree release]; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeUP]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeUP]; STAssertNotNil(tree, @"Tree is nil"); if (tree != nil) STAssertNil([tree description], @"Tree description was not nil, was: %@", [tree description]); //[tree release]; - tree = [ANTLRCommonTree newANTLRCommonTree]; + tree = [ANTLRCommonTree newTree]; STAssertNotNil(tree, @"Tree is nil"); if (tree != nil) { aString = [tree description]; @@ -132,8 +133,8 @@ -(void) test07Description //[tree release]; ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; - tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + tree = [ANTLRCommonTree newTreeWithToken:token]; STAssertNotNil(tree, @"Tree node is nil"); aString = [tree description]; STAssertNotNil(aString, @"tree description returned nil"); @@ -146,14 +147,14 @@ -(void) test07Description -(void) test08Text { ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; STAssertNotNil(tree, @"Tree was nil"); STAssertTrue([tree.token.text isEqualToString:@"||"], @"Tree text was not valid, should have been || was %@", tree.token.text); //[tree release]; // test nil (for line coverage) - tree = [ANTLRCommonTree newANTLRCommonTree]; + tree = [ANTLRCommonTree newTree]; STAssertNotNil(tree, @"Tree was nil"); STAssertNil(tree.token.text, @"Tree text was not nil: %@", tree.token.text); return; @@ -162,16 +163,16 @@ -(void) test08Text -(void) test09AddChild { // Create a new tree - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:555]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTreeWithTokenType:555]; parent.token.line = 1; parent.token.charPositionInLine = 1; // Child tree ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; token.line = 1; token.charPositionInLine = 4; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; // Add a child to the parent tree [parent addChild:tree]; @@ -194,19 +195,19 @@ -(void) test09AddChild -(void) test10AddChildren { // Create a new tree - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTree]; // Child tree ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; token.line = 1; token.charPositionInLine = 4; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; // Add a child to the parent tree [parent addChild: tree]; - ANTLRCommonTree *newParent = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *newParent = [ANTLRCommonTree newTree]; [newParent addChildren:parent.children]; STAssertEquals([newParent getChild:0], [parent getChild:0], @"Children did not match"); @@ -215,14 +216,14 @@ -(void) test10AddChildren -(void) test11AddSelfAsChild { - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTree]; @try { [parent addChild:parent]; } @catch (NSException *e) { - STAssertTrue([[e name] isEqualToString:ANTLRIllegalArgumentException], @"Got wrong kind of exception! %@", [e name]); + STAssertTrue([[e name] isEqualToString:@"ANTLRIllegalArgumentException"], @"Got wrong kind of exception! %@", [e name]); //[parent release]; return; } @@ -232,8 +233,8 @@ -(void) test11AddSelfAsChild -(void) test12AddEmptyChildWithNoChildren { - ANTLRCommonTree *emptyChild = [ANTLRCommonTree newANTLRCommonTree]; - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *emptyChild = [ANTLRCommonTree newTree]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTree]; [parent addChild:emptyChild]; STAssertEquals((NSInteger)[parent getChildCount], (NSInteger)0, @"There were supposed to be no children!"); //[parent release]; @@ -244,19 +245,19 @@ -(void) test12AddEmptyChildWithNoChildren -(void) test13AddEmptyChildWithChildren { // Create a new tree - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTree]; // Child tree ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; token.line = 1; token.charPositionInLine = 4; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; // Add a child to the parent tree [parent addChild: tree]; - ANTLRCommonTree *newParent = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *newParent = [ANTLRCommonTree newTree]; [newParent addChild:parent]; STAssertEquals((NSInteger)[newParent getChildCount], (NSInteger)1, @"Parent should only have 1 child: %d", [newParent getChildCount]); @@ -270,12 +271,12 @@ -(void) test13AddEmptyChildWithChildren -(void) test14ChildAtIndex { // Create a new tree - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTree]; // Child tree ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; // Add a child to the parent tree [parent addChild: tree]; @@ -291,15 +292,15 @@ -(void) test14ChildAtIndex -(void) test15SetChildAtIndex { - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTree]; // Child tree ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; - tree = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeUP]; + tree = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeUP]; tree.token.text = @""; [parent addChild:tree]; @@ -316,18 +317,18 @@ -(void) test15SetChildAtIndex -(void) test16GetAncestor { - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeUP]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeUP]; parent.token.text = @""; - ANTLRCommonTree *down = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeDOWN]; + ANTLRCommonTree *down = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeDOWN]; down.token.text = @""; [parent addChild:down]; // Child tree ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; [down addChild:tree]; STAssertTrue([tree hasAncestor:ANTLRTokenTypeUP], @"Should have an ancestor of type ANTLRTokenTypeUP"); @@ -342,22 +343,22 @@ -(void) test16GetAncestor -(void) test17FirstChildWithType { // Create a new tree - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTree]; - ANTLRCommonTree *up = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeUP]; - ANTLRCommonTree *down = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeDOWN]; + ANTLRCommonTree *up = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeUP]; + ANTLRCommonTree *down = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeDOWN]; [parent addChild:up]; [parent addChild:down]; - ANTLRCommonTree *found = [parent getFirstChildWithType:ANTLRTokenTypeDOWN]; + ANTLRCommonTree *found = (ANTLRCommonTree *)[parent getFirstChildWithType:ANTLRTokenTypeDOWN]; STAssertNotNil(found, @"Child with type DOWN should not be nil"); if (found != nil) { STAssertNotNil(found.token, @"Child token with type DOWN should not be nil"); if (found.token != nil) STAssertEquals((NSInteger)found.token.type, (NSInteger)ANTLRTokenTypeDOWN, @"Token type was not correct, should be down!"); } - found = [parent getFirstChildWithType:ANTLRTokenTypeUP]; + found = (ANTLRCommonTree *)[parent getFirstChildWithType:ANTLRTokenTypeUP]; STAssertNotNil(found, @"Child with type UP should not be nil"); if (found != nil) { STAssertNotNil(found.token, @"Child token with type UP should not be nil"); @@ -372,10 +373,10 @@ -(void) test18SanityCheckParentAndChildIndexesForParentTree { // Child tree ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:555]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTreeWithTokenType:555]; STAssertNotNil(tree, @"tree should not be nil"); @try { @@ -393,7 +394,7 @@ -(void) test18SanityCheckParentAndChildIndexesForParentTree } @catch (NSException * e) { - STAssertTrue([[e name] isEqualToString:ANTLRIllegalArgumentException], @"Exception was not an ANTLRIllegalArgumentException but was %@", [e name]); + STAssertTrue([[e name] isEqualToString:@"ANTLRIllegalStateException"], @"Exception was not an ANTLRIllegalStateException but was %@", [e name]); passed = YES; } if (!passed) @@ -418,10 +419,10 @@ -(void) test19DeleteChild { // Child tree ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTree]; [parent addChild:tree]; ANTLRCommonTree *deletedChild = [parent deleteChild:0]; @@ -434,22 +435,22 @@ -(void) test20TreeDescriptions { // Child tree ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:@"this||is||a||double||piped||separated||csv"]; - ANTLRCommonToken *token = [ANTLRCommonToken newANTLRCommonToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; - ANTLRCommonTree *tree = [ANTLRCommonTree newANTLRCommonTreeWithToken:token]; + ANTLRCommonToken *token = [ANTLRCommonToken newToken:stream Type:555 Channel:ANTLRTokenChannelDefault Start:4 Stop:5]; + ANTLRCommonTree *tree = [ANTLRCommonTree newTreeWithToken:token]; // Description for tree NSString *treeDesc = [tree treeDescription]; STAssertNotNil(treeDesc, @"Tree description should not be nil"); STAssertTrue([treeDesc isEqualToString:@"||"], @"Tree description was not || but rather %@", treeDesc); - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTree]; STAssertTrue([[parent treeDescription] isEqualToString:@"nil"], @"Tree description was not nil was %@", [parent treeDescription]); [parent addChild:tree]; treeDesc = [parent treeDescription]; STAssertTrue([treeDesc isEqualToString:@"||"], @"Tree description was not || but was: %@", treeDesc); // Test non empty parent - ANTLRCommonTree *down = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeDOWN]; + ANTLRCommonTree *down = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeDOWN]; down.token.text = @""; [tree addChild:down]; @@ -460,9 +461,9 @@ -(void) test20TreeDescriptions -(void) test21ReplaceChildrenAtIndexWithNoChildren { - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTree]; - ANTLRCommonTree *parent2 = [ANTLRCommonTree newANTLRCommonTree]; - ANTLRCommonTree *child = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeDOWN]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTree]; + ANTLRCommonTree *parent2 = [ANTLRCommonTree newTree]; + ANTLRCommonTree *child = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeDOWN]; child.token.text = @""; [parent2 addChild:child]; @try @@ -471,7 +472,7 @@ -(void) test21ReplaceChildrenAtIndexWithNoChildren } @catch (NSException *ex) { - STAssertTrue([[ex name] isEqualToString:ANTLRIllegalArgumentException], @"Expected an illegal argument exception... Got instead: %@", [ex name]); + STAssertTrue([[ex name] isEqualToString:@"ANTLRIllegalArgumentException"], @"Expected an illegal argument exception... Got instead: %@", [ex name]); return; } STFail(@"Exception was not thrown when I tried to replace a child on a parent with no children"); @@ -480,11 +481,11 @@ -(void) test21ReplaceChildrenAtIndexWithNoChildren -(void) test22ReplaceChildrenAtIndex { - ANTLRCommonTree *parent1 = [ANTLRCommonTree newANTLRCommonTree]; - ANTLRCommonTree *child1 = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeUP]; + ANTLRCommonTree *parent1 = [ANTLRCommonTree newTree]; + ANTLRCommonTree *child1 = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeUP]; [parent1 addChild:child1]; - ANTLRCommonTree *parent2 = [ANTLRCommonTree newANTLRCommonTree]; - ANTLRCommonTree *child2 = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeDOWN]; + ANTLRCommonTree *parent2 = [ANTLRCommonTree newTree]; + ANTLRCommonTree *child2 = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeDOWN]; child2.token.text = @""; [parent2 addChild:child2]; @@ -496,10 +497,10 @@ -(void) test22ReplaceChildrenAtIndex -(void) test23ReplaceChildrenAtIndexWithChild { - ANTLRCommonTree *replacement = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeUP]; + ANTLRCommonTree *replacement = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeUP]; replacement.token.text = @""; - ANTLRCommonTree *parent = [ANTLRCommonTree newANTLRCommonTree]; - ANTLRCommonTree *child = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeDOWN]; + ANTLRCommonTree *parent = [ANTLRCommonTree newTree]; + ANTLRCommonTree *child = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeDOWN]; child.token.text = @""; [parent addChild:child]; @@ -511,16 +512,16 @@ -(void) test23ReplaceChildrenAtIndexWithChild -(void) test24ReplacechildrenAtIndexWithLessChildren { - ANTLRCommonTree *parent1 = [ANTLRCommonTree newANTLRCommonTree]; - ANTLRCommonTree *child1 = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeUP]; + ANTLRCommonTree *parent1 = [ANTLRCommonTree newTree]; + ANTLRCommonTree *child1 = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeUP]; [parent1 addChild:child1]; - ANTLRCommonTree *parent2 = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *parent2 = [ANTLRCommonTree newTree]; - ANTLRCommonTree *child2 = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeEOF]; + ANTLRCommonTree *child2 = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeEOF]; [parent2 addChild:child2]; - ANTLRCommonTree *child3 = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeDOWN]; + ANTLRCommonTree *child3 = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeDOWN]; child2.token.text = @""; [parent2 addChild:child3]; @@ -532,15 +533,15 @@ -(void) test24ReplacechildrenAtIndexWithLessChildren -(void) test25ReplacechildrenAtIndexWithMoreChildren { - ANTLRCommonTree *parent1 = [ANTLRCommonTree newANTLRCommonTree]; - ANTLRCommonTree *child1 = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeUP]; + ANTLRCommonTree *parent1 = [ANTLRCommonTree newTree]; + ANTLRCommonTree *child1 = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeUP]; [parent1 addChild:child1]; - ANTLRCommonTree *child2 = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeEOF]; + ANTLRCommonTree *child2 = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeEOF]; [parent1 addChild:child2]; - ANTLRCommonTree *parent2 = [ANTLRCommonTree newANTLRCommonTree]; + ANTLRCommonTree *parent2 = [ANTLRCommonTree newTree]; - ANTLRCommonTree *child3 = [ANTLRCommonTree newANTLRCommonTreeWithTokenType:ANTLRTokenTypeDOWN]; + ANTLRCommonTree *child3 = [ANTLRCommonTree newTreeWithTokenType:ANTLRTokenTypeDOWN]; child2.token.text = @""; [parent2 addChild:child3]; diff --git a/runtime/Perl5/.p4ignore b/runtime/Perl5/.p4ignore deleted file mode 100644 index afa10e0d..00000000 --- a/runtime/Perl5/.p4ignore +++ /dev/null @@ -1,8 +0,0 @@ -Build -Build.bat -Makefile -Makefile.old -_build -blib -pm_to_blib -tags diff --git a/runtime/Perl5/tools/antlr.bat b/runtime/Perl5/tools/antlr.bat old mode 100755 new mode 100644 diff --git a/runtime/Perl5/tools/antlr.sh b/runtime/Perl5/tools/antlr.sh old mode 100755 new mode 100644 diff --git a/runtime/Python/antlr3/__init__.py b/runtime/Python/antlr3/__init__.py index 056f8525..40685598 100644 --- a/runtime/Python/antlr3/__init__.py +++ b/runtime/Python/antlr3/__init__.py @@ -138,30 +138,11 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = 'HEAD' - -def version_str_to_tuple(version_str): - import re - import sys - - if version_str == 'HEAD': - return (sys.maxint, sys.maxint, sys.maxint, sys.maxint) - - m = re.match(r'(\d+)\.(\d+)(\.(\d+))?(b(\d+))?', version_str) - if m is None: - raise ValueError("Bad version string %r" % version_str) - - major = int(m.group(1)) - minor = int(m.group(2)) - patch = int(m.group(4) or 0) - beta = int(m.group(6) or sys.maxint) - - return (major, minor, patch, beta) - - -runtime_version_str = __version__ -runtime_version = version_str_to_tuple(runtime_version_str) +__version__ = '3.4' +# This runtime is compatible with generated parsers using the following +# API versions. 'HEAD' is only used by unittests. +compatible_api_versions = ['HEAD', 1] from constants import * from dfa import * diff --git a/runtime/Python/antlr3/debug.py b/runtime/Python/antlr3/debug.py index f20d2d41..6668fa58 100644 --- a/runtime/Python/antlr3/debug.py +++ b/runtime/Python/antlr3/debug.py @@ -79,12 +79,11 @@ def endBacktrack(self, level, successful): def reportError(self, exc): + Parser.reportError(self, exc) + if isinstance(exc, RecognitionException): self._dbg.recognitionException(exc) - else: - traceback.print_exc(exc) - class DebugTokenStream(TokenStream): def __init__(self, input, dbg=None): @@ -128,7 +127,7 @@ def consume(self): def consumeInitialHiddenTokens(self): """consume all initial off-channel tokens""" - + firstOnChannelTokenIndex = self.input.index() for idx in range(firstOnChannelTokenIndex): self._dbg.consumeHiddenToken(self.input.get(idx)) @@ -399,7 +398,7 @@ def getTreeAdaptor(self): class DebugEventListener(object): """All debugging events that a recognizer can trigger. - + I did not create a separate AST debugging interface as it would create lots of extra classes and DebugParser has a dbg var defined, which makes it hard to change to ASTDebugEventListener. I looked hard at this issue @@ -449,7 +448,7 @@ def exitSubRule(self, decisionNumber): pass - def enterDecision(self, decisionNumber): + def enterDecision(self, decisionNumber, couldBacktrack): """Every decision, fixed k or arbitrary, has an enter/exit event so that a GUI can easily track what LT/consume events are associated with prediction. You will see a single enter/exit @@ -592,7 +591,7 @@ def beginResync(self): """ pass - + def endResync(self): """Indicates that the recognizer has finished consuming tokens in order to resychronize. There may be multiple beginResync/endResync pairs @@ -940,8 +939,9 @@ def exitSubRule(self, decisionNumber): self.transmit("exitSubRule\t%d" % decisionNumber) - def enterDecision(self, decisionNumber): - self.transmit("enterDecision\t%d" % decisionNumber) + def enterDecision(self, decisionNumber, couldBacktrack): + self.transmit( + "enterDecision\t%d\t%d" % (decisionNumber, couldBacktrack)) def exitDecision(self, decisionNumber): @@ -1061,7 +1061,7 @@ def serializeNode(self, buf, t): # buf.append(tokenIndex); # serializeText(buf, text); - + ## A S T E v e n t s def nilNode(self, t): diff --git a/runtime/Python/antlr3/main.py b/runtime/Python/antlr3/main.py index 19a08b50..ae3906fc 100644 --- a/runtime/Python/antlr3/main.py +++ b/runtime/Python/antlr3/main.py @@ -43,7 +43,7 @@ def __init__(self): self.stdout = sys.stdout self.stderr = sys.stderr - + def parseOptions(self, argv): optParser = optparse.OptionParser() optParser.add_option( @@ -92,7 +92,7 @@ def parseOptions(self, argv): ) self.setupOptions(optParser) - + return optParser.parse_args(argv[1:]) @@ -104,7 +104,7 @@ def execute(self, argv): options, args = self.parseOptions(argv) self.setUp(options) - + if options.interactive: while True: try: @@ -112,10 +112,10 @@ def execute(self, argv): except (EOFError, KeyboardInterrupt): self.stdout.write("\nBye.\n") break - + inStream = antlr3.ANTLRStringStream(input) self.parseStream(options, inStream) - + else: if options.input is not None: inStream = antlr3.ANTLRStringStream(options.input) @@ -166,7 +166,7 @@ def execute(self, argv): def setUp(self, options): pass - + def parseStream(self, options, inStream): raise NotImplementedError @@ -185,8 +185,8 @@ def __init__(self, lexerClass): _Main.__init__(self) self.lexerClass = lexerClass - - + + def parseStream(self, options, inStream): lexer = self.lexerClass(inStream) for token in lexer: @@ -200,8 +200,8 @@ def __init__(self, lexerClassName, parserClass): self.lexerClassName = lexerClassName self.lexerClass = None self.parserClass = parserClass - - + + def setupOptions(self, optParser): optParser.add_option( "--lexer", @@ -222,7 +222,7 @@ def setUp(self, options): lexerMod = __import__(options.lexerClass) self.lexerClass = getattr(lexerMod, options.lexerClass) - + def parseStream(self, options, inStream): kwargs = {} if options.port is not None: @@ -235,9 +235,8 @@ def parseStream(self, options, inStream): parser = self.parserClass(tokenStream, **kwargs) result = getattr(parser, options.parserRule)() if result is not None: - if hasattr(result, 'tree'): - if result.tree is not None: - self.writeln(options, result.tree.toStringTree()) + if hasattr(result, 'tree') and result.tree is not None: + self.writeln(options, result.tree.toStringTree()) else: self.writeln(options, repr(result)) @@ -249,8 +248,8 @@ def __init__(self, walkerClass): self.lexerClass = None self.parserClass = None self.walkerClass = walkerClass - - + + def setupOptions(self, optParser): optParser.add_option( "--lexer", @@ -287,7 +286,7 @@ def setUp(self, options): parserMod = __import__(options.parserClass) self.parserClass = getattr(parserMod, options.parserClass) - + def parseStream(self, options, inStream): lexer = self.lexerClass(inStream) tokenStream = antlr3.CommonTokenStream(lexer) @@ -304,4 +303,3 @@ def parseStream(self, options, inStream): self.writeln(options, result.tree.toStringTree()) else: self.writeln(options, repr(result)) - diff --git a/runtime/Python/antlr3/recognizers.py b/runtime/Python/antlr3/recognizers.py index b6bfcc17..d48280a5 100644 --- a/runtime/Python/antlr3/recognizers.py +++ b/runtime/Python/antlr3/recognizers.py @@ -33,7 +33,7 @@ import sys import inspect -from antlr3 import runtime_version, runtime_version_str +from antlr3 import compatible_api_versions from antlr3.constants import DEFAULT_CHANNEL, HIDDEN_CHANNEL, EOF, \ EOR_TOKEN_TYPE, INVALID_TOKEN_TYPE from antlr3.exceptions import RecognitionException, MismatchedTokenException, \ @@ -41,7 +41,7 @@ NoViableAltException, EarlyExitException, MismatchedSetException, \ MismatchedNotSetException, FailedPredicateException, \ BacktrackingFailed, UnwantedTokenException, MissingTokenException -from antlr3.tokens import CommonToken, EOF_TOKEN, SKIP_TOKEN +from antlr3.tokens import CommonToken, SKIP_TOKEN from antlr3.compat import set, frozenset, reversed @@ -121,12 +121,12 @@ def __init__(self): ## You can set the text for the current token to override what is in # the input char buffer. Use setText() or can set this instance var. self.text = None - + class BaseRecognizer(object): """ @brief Common recognizer functionality. - + A generic recognizer that can handle recognizers generated from lexer, parser, and tree grammars. This is all the parsing support code essentially; most of it is error recovery stuff and @@ -145,10 +145,9 @@ class BaseRecognizer(object): # overridden by generated subclasses tokenNames = None - # The antlr_version attribute has been introduced in 3.1. If it is not - # overwritten in the generated recognizer, we assume a default of 3.0.1. - antlr_version = (3, 0, 1, 0) - antlr_version_str = "3.0.1" + # The api_version attribute has been introduced in 3.3. If it is not + # overwritten in the generated recognizer, we assume a default of v0. + api_version = 0 def __init__(self, state=None): # Input stream of the recognizer. Must be initialized by a subclass. @@ -163,41 +162,28 @@ def __init__(self, state=None): state = RecognizerSharedState() self._state = state - if self.antlr_version > runtime_version: - raise RuntimeError( - "ANTLR version mismatch: " - "The recognizer has been generated by V%s, but this runtime " - "is V%s. Please use the V%s runtime or higher." - % (self.antlr_version_str, - runtime_version_str, - self.antlr_version_str)) - elif (self.antlr_version < (3, 1, 0, 0) and - self.antlr_version != runtime_version): - # FIXME: make the runtime compatible with 3.0.1 codegen - # and remove this block. + if self.api_version not in compatible_api_versions: raise RuntimeError( - "ANTLR version mismatch: " - "The recognizer has been generated by V%s, but this runtime " - "is V%s. Please use the V%s runtime." - % (self.antlr_version_str, - runtime_version_str, - self.antlr_version_str)) + ("ANTLR version mismatch: " + "The recognizer has been generated with API V%s, " + "but this runtime does not support this.") + % self.api_version) # this one only exists to shut up pylint :( def setInput(self, input): self.input = input - + def reset(self): """ reset the parser's state; subclasses must rewinds the input stream """ - + # wack everything related to error recovery if self._state is None: # no shared state work to do return - + self._state.following = [] self._state.errorRecovery = False self._state.lastErrorIndex = -1 @@ -221,7 +207,7 @@ def match(self, input, ttype, follow): immediate exit from rule. Rule would recover by resynchronizing to the set of symbols that can follow rule ref. """ - + matchedSymbol = self.getCurrentInputSymbol(input) if self.input.LA(1) == ttype: self.input.consume() @@ -252,7 +238,7 @@ def mismatchIsMissingToken(self, input, follow): # we have no information about the follow; we can only consume # a single token and hope for the best return False - + # compute what can follow this grammar element reference if EOR_TOKEN_TYPE in follow: viableTokensFollowingThisRule = self.computeContextSensitiveRuleFOLLOW() @@ -273,7 +259,7 @@ def mismatchIsMissingToken(self, input, follow): def reportError(self, e): """Report a recognition problem. - + This method sets errorRecovery to indicate the parser is recovering not parsing. Once in recovery mode, no errors are generated. To get out of recovery mode, the parser must successfully match @@ -287,9 +273,9 @@ def reportError(self, e): If you override, make sure to update syntaxErrors if you care about that. - + """ - + # if we've already reported an error and have not matched a token # yet successfully, don't report any errors. if self._state.errorRecovery: @@ -311,7 +297,7 @@ def getErrorMessage(self, e, tokenNames): """ What error message should be generated for the various exception types? - + Not very object-oriented code, but I like having all error message generation within one method rather than spread among all of the exception classes. This also makes it much easier for the exception @@ -410,7 +396,7 @@ def getErrorMessage(self, e, tokenNames): msg = str(e) return msg - + def getNumberOfSyntaxErrors(self): """ @@ -428,7 +414,10 @@ def getErrorHeader(self, e): """ What is the error header, normally line/character position information? """ - + + source_name = self.getSourceName() + if source_name is not None: + return "%s line %d:%d" % (source_name, e.line, e.charPositionInLine) return "line %d:%d" % (e.line, e.charPositionInLine) @@ -442,7 +431,7 @@ def getTokenErrorDisplay(self, t): your token objects because you don't have to go modify your lexer so that it creates a new Java type. """ - + s = t.text if s is None: if t.type == EOF: @@ -451,7 +440,7 @@ def getTokenErrorDisplay(self, t): s = "<"+t.type+">" return repr(s) - + def emitErrorMessage(self, msg): """Override this method to change where error messages go""" @@ -466,7 +455,7 @@ def recover(self, input, re): handle mismatched symbol exceptions but there could be a mismatched token that the match() routine could not recover from. """ - + # PROBLEM? what if input stream is not the same as last time # perhaps make lastErrorIndex a member of input if self._state.lastErrorIndex == input.index(): @@ -478,7 +467,7 @@ def recover(self, input, re): self._state.lastErrorIndex = input.index() followSet = self.computeErrorRecoverySet() - + self.beginResync() self.consumeUntil(input, followSet) self.endResync() @@ -595,10 +584,10 @@ def computeErrorRecoverySet(self): Like Grosch I implemented local FOLLOW sets that are combined at run-time upon error to avoid overhead during parsing. """ - + return self.combineFollows(False) - + def computeContextSensitiveRuleFOLLOW(self): """ Compute the context-sensitive FOLLOW set for current rule. @@ -668,7 +657,7 @@ def combineFollows(self, exact): # us know if have to include follow(start rule); i.e., EOF if idx > 0: followSet.remove(EOR_TOKEN_TYPE) - + else: # can't see end of rule, quit break @@ -764,7 +753,7 @@ def getCurrentInputSymbol(self, input): This is ignored for lexers. """ - + return None @@ -799,7 +788,7 @@ def getMissingSymbol(self, input, e, expectedTokenType, follow): ## both. No tokens are consumed to recover from insertions. Return ## true if recovery was possible else return false. ## """ - + ## if self.mismatchIsMissingToken(input, follow): ## self.reportError(e) ## return True @@ -813,9 +802,9 @@ def consumeUntil(self, input, tokenTypes): Consume tokens until one matches the given token or token set tokenTypes can be a single token type or a set of token types - + """ - + if not isinstance(tokenTypes, (set, frozenset)): tokenTypes = frozenset([tokenTypes]) @@ -864,7 +853,7 @@ def _getRuleInvocationStack(cls, module): # mmmhhh,... perhaps look at the first argument # (f_locals[co_varnames[0]]?) and test if it's a (sub)class of # requested recognizer... - + rules = [] for frame in reversed(inspect.stack()): code = frame[0].f_code @@ -883,9 +872,9 @@ def _getRuleInvocationStack(cls, module): rules.append(code.co_name) return rules - + _getRuleInvocationStack = classmethod(_getRuleInvocationStack) - + def getBacktrackingLevel(self): return self._state.backtracking @@ -894,15 +883,9 @@ def setBacktrackingLevel(self, n): self._state.backtracking = n - def failed(self): - """Return whether or not a backtracking attempt failed.""" - - return self._state.failed - - def getGrammarFileName(self): """For debugging and other purposes, might want the grammar name. - + Have ANTLR generate an implementation for this method. """ @@ -912,7 +895,7 @@ def getGrammarFileName(self): def getSourceName(self): raise NotImplementedError - + def toStrings(self, tokens): """A convenience method for use most often with template rewrites. @@ -933,7 +916,7 @@ def getRuleMemoization(self, ruleIndex, ruleStartIndex): start index before, then return where the rule stopped parsing. It returns the index of the last token matched by the rule. """ - + if ruleIndex not in self._state.ruleMemo: self._state.ruleMemo[ruleIndex] = {} @@ -977,14 +960,14 @@ def memoize(self, input, ruleIndex, ruleStartIndex, success): stopTokenIndex = input.index() - 1 else: stopTokenIndex = self.MEMO_RULE_FAILED - + if ruleIndex in self._state.ruleMemo: self._state.ruleMemo[ruleIndex][ruleStartIndex] = stopTokenIndex def traceIn(self, ruleName, ruleIndex, inputSymbol): sys.stdout.write("enter %s %s" % (ruleName, inputSymbol)) - + if self._state.backtracking > 0: sys.stdout.write(" backtracking=%s" % self._state.backtracking) @@ -993,14 +976,16 @@ def traceIn(self, ruleName, ruleIndex, inputSymbol): def traceOut(self, ruleName, ruleIndex, inputSymbol): sys.stdout.write("exit %s %s" % (ruleName, inputSymbol)) - + if self._state.backtracking > 0: sys.stdout.write(" backtracking=%s" % self._state.backtracking) - if self._state.failed: - sys.stdout.write(" failed") - else: - sys.stdout.write(" succeeded") + # mmmm... we use BacktrackingFailed exceptions now. So how could we + # get that information here? + #if self._state.failed: + # sys.stdout.write(" failed") + #else: + # sys.stdout.write(" succeeded") sys.stdout.write('\n') @@ -1008,7 +993,7 @@ def traceOut(self, ruleName, ruleIndex, inputSymbol): class TokenSource(object): """ @brief Abstract baseclass for token producers. - + A source of tokens must provide a sequence of tokens via nextToken() and also must reveal it's source of characters; CommonToken's text is computed from a CharStream; it only store indices into the char stream. @@ -1022,16 +1007,16 @@ class TokenSource(object): requested a token. Keep lexing until you get a valid one. Just report errors and keep going, looking for a valid token. """ - + def nextToken(self): """Return a Token object from your input stream (usually a CharStream). - + Do not fail/return upon lexing error; keep chewing on the characters until you get a good one; errors are not passed through to the parser. """ raise NotImplementedError - + def __iter__(self): """The TokenSource is an interator. @@ -1040,16 +1025,16 @@ def __iter__(self): for the next() method. """ - + return self - + def next(self): """Return next token or raise StopIteration. Note that this will raise StopIteration when hitting the EOF token, so EOF will not be part of the iteration. - + """ token = self.nextToken() @@ -1057,11 +1042,11 @@ def next(self): raise StopIteration return token - + class Lexer(BaseRecognizer, TokenSource): """ @brief Baseclass for generated lexer classes. - + A lexer is recognizer that draws input symbols from a character stream. lexer grammars result in a subclass of this object. A Lexer object uses simplified match() and error recovery mechanisms in the interest @@ -1071,7 +1056,7 @@ class Lexer(BaseRecognizer, TokenSource): def __init__(self, input, state=None): BaseRecognizer.__init__(self, state) TokenSource.__init__(self) - + # Where is the lexer drawing characters from? self.input = input @@ -1086,7 +1071,7 @@ def reset(self): if self._state is None: # no shared state work to do return - + # wack Lexer state variables self._state.token = None self._state.type = INVALID_TOKEN_TYPE @@ -1097,12 +1082,21 @@ def reset(self): self._state.text = None + def makeEOFToken(self): + eof = CommonToken( + type=EOF, channel=DEFAULT_CHANNEL, + input=self.input, + start=self.input.index(), stop=self.input.index()) + eof.line = self.input.line + eof.charPositionInLine = self.input.charPositionInLine + return eof + def nextToken(self): """ Return a token from this source; i.e., match a token on the char stream. """ - + while 1: self._state.token = None self._state.channel = DEFAULT_CHANNEL @@ -1111,14 +1105,14 @@ def nextToken(self): self._state.tokenStartLine = self.input.line self._state.text = None if self.input.LA(1) == EOF: - return EOF_TOKEN + return self.makeEOFToken() try: self.mTokens() - + if self._state.token is None: self.emit() - + elif self._state.token == SKIP_TOKEN: continue @@ -1141,7 +1135,7 @@ def skip(self): if token==null at end of any token rule, it creates one for you and emits it. """ - + self._state.token = SKIP_TOKEN @@ -1150,7 +1144,7 @@ def mTokens(self): # abstract method raise NotImplementedError - + def setCharStream(self, input): """Set the char stream and reset the lexer""" @@ -1188,7 +1182,7 @@ def emit(self, token=None): token.charPositionInLine = self._state.tokenStartCharPositionInLine self._state.token = token - + return token @@ -1213,9 +1207,9 @@ def match(self, s): mte = MismatchedTokenException(unichr(s), self.input) self.recover(mte) # don't really recover; just consume in lexer raise mte - + self.input.consume() - + def matchAny(self): self.input.consume() @@ -1243,7 +1237,7 @@ def getCharPositionInLine(self): def getCharIndex(self): """What is the index of the current character of lookahead?""" - + return self.input.index() @@ -1254,7 +1248,7 @@ def getText(self): """ if self._state.text is not None: return self._state.text - + return self.input.substring( self._state.tokenStartCharIndex, self.getCharIndex()-1 @@ -1280,7 +1274,7 @@ def reportError(self, e): ## if self.errorRecovery: ## #System.err.print("[SPURIOUS] "); ## return; - ## + ## ## self.errorRecovery = True self.displayRecognitionError(self.tokenNames, e) @@ -1288,7 +1282,7 @@ def reportError(self, e): def getErrorMessage(self, e, tokenNames): msg = None - + if isinstance(e, MismatchedTokenException): msg = "mismatched character " \ + self.getCharErrorDisplay(e.c) \ @@ -1302,7 +1296,7 @@ def getErrorMessage(self, e, tokenNames): elif isinstance(e, EarlyExitException): msg = "required (...)+ loop did not match anything at character " \ + self.getCharErrorDisplay(e.c) - + elif isinstance(e, MismatchedNotSetException): msg = "mismatched character " \ + self.getCharErrorDisplay(e.c) \ @@ -1351,7 +1345,7 @@ def traceIn(self, ruleName, ruleIndex): self.getLine(), self.getCharPositionInLine() ) - + BaseRecognizer.traceIn(self, ruleName, ruleIndex, inputSymbol) @@ -1369,11 +1363,11 @@ class Parser(BaseRecognizer): """ @brief Baseclass for generated parser classes. """ - + def __init__(self, lexer, state=None): BaseRecognizer.__init__(self, state) - self.setTokenStream(lexer) + self.input = lexer def reset(self): @@ -1405,7 +1399,7 @@ def getMissingSymbol(self, input, e, expectedTokenType, follow): def setTokenStream(self, input): """Set the token stream and reset the parser""" - + self.input = None self.reset() self.input = input @@ -1435,13 +1429,13 @@ class RuleReturnScope(object): def getStart(self): """Return the start token or tree.""" return None - + def getStop(self): """Return the stop token or tree.""" return None - + def getTree(self): """Has a value potentially if output=AST.""" return None @@ -1476,8 +1470,9 @@ class ParserRuleReturnScope(RuleReturnScope): def __init__(self): self.start = None self.stop = None + self.tree = None # only used when output=AST + - def getStart(self): return self.start @@ -1485,3 +1480,6 @@ def getStart(self): def getStop(self): return self.stop + + def getTree(self): + return self.tree diff --git a/runtime/Python/antlr3/streams.py b/runtime/Python/antlr3/streams.py index 0dbe0f1f..c9ba7ca7 100644 --- a/runtime/Python/antlr3/streams.py +++ b/runtime/Python/antlr3/streams.py @@ -34,7 +34,7 @@ from StringIO import StringIO from antlr3.constants import DEFAULT_CHANNEL, EOF -from antlr3.tokens import Token, EOF_TOKEN +from antlr3.tokens import Token, CommonToken ############################################################################ @@ -58,7 +58,7 @@ class IntStream(object): def consume(self): raise NotImplementedError - + def LA(self, i): """Get int at current input pointer + i ahead where i=1 is next int. @@ -67,9 +67,9 @@ def LA(self, i): just matched). LA(-i) where i is before first token should yield -1, invalid char / EOF. """ - + raise NotImplementedError - + def mark(self): """ @@ -112,7 +112,7 @@ def rewind(self, marker=None): Do not "pop" the marker off the state. mark(i) and rewind(i) should balance still. It is like invoking rewind(last marker) but it should not "pop" - the marker off. It's like seek(last marker's input position). + the marker off. It's like seek(last marker's input position). """ raise NotImplementedError @@ -153,7 +153,7 @@ def seek(self, index): The index is 0..n-1. A seek to position i means that LA(1) will return the ith symbol. So, seeking to 0 means LA(1) will return the - first element in the stream. + first element in the stream. """ raise NotImplementedError @@ -184,12 +184,12 @@ class CharStream(IntStream): @brief A source of characters for an ANTLR lexer. This is an abstract class that must be implemented by a subclass. - + """ # pylint does not realize that this is an interface, too #pylint: disable-msg=W0223 - + EOF = -1 @@ -201,8 +201,8 @@ def substring(self, start, stop): """ raise NotImplementedError - - + + def LT(self, i): """ Get the ith character of lookahead. This is the same usually as @@ -246,12 +246,12 @@ class TokenStream(IntStream): @brief A stream of tokens accessing tokens from a TokenSource This is an abstract class that must be implemented by a subclass. - + """ - + # pylint does not realize that this is an interface, too #pylint: disable-msg=W0223 - + def LT(self, k): """ Get Token at current input pointer + i ahead where i=1 is next Token. @@ -264,6 +264,15 @@ def LT(self, k): raise NotImplementedError + def range(self): + """ + How far ahead has the stream been asked to look? The return + value is a valid index from 0..n-1. + """ + + raise NotImplementedError + + def get(self, i): """ Get a token at an absolute index i; 0..n-1. This is really only @@ -302,7 +311,7 @@ def toString(self, start=None, stop=None): raise NotImplementedError - + ############################################################################ # # character streams for use in lexers @@ -315,27 +324,27 @@ def toString(self, start=None, stop=None): class ANTLRStringStream(CharStream): """ @brief CharStream that pull data from a unicode string. - + A pretty quick CharStream that pulls all data from an array directly. Every method call counts in the lexer. """ - + def __init__(self, data): """ @param data This should be a unicode string holding the data you want to parse. If you pass in a byte string, the Lexer will choke on non-ascii data. - + """ - + CharStream.__init__(self) - + # The data being scanned self.strdata = unicode(data) self.data = [ord(c) for c in self.strdata] - + # How many characters are actually in the buffer self.n = len(data) @@ -366,7 +375,7 @@ def reset(self): when the object was created *except* the data array is not touched. """ - + self.p = 0 self.line = 1 self.charPositionInLine = 0 @@ -382,7 +391,7 @@ def consume(self): self.charPositionInLine += 1 self.p += 1 - + except IndexError: # happend when we reached EOF and self.data[self.p] fails # just do nothing @@ -423,7 +432,7 @@ def index(self): last symbol has been read. The index is the index of char to be returned from LA(1). """ - + return self.p @@ -438,9 +447,9 @@ def mark(self): except IndexError: self._markers.append(state) self.markDepth += 1 - + self.lastMarker = self.markDepth - + return self.lastMarker @@ -468,7 +477,7 @@ def seek(self, index): consume() ahead until p==index; can't just set p=index as we must update line and charPositionInLine. """ - + if index <= self.p: self.p = index # just jump; don't update stream state (line, ...) return @@ -515,7 +524,7 @@ def getSourceName(self): class ANTLRFileStream(ANTLRStringStream): """ @brief CharStream that opens a file to read the data. - + This is a char buffer stream that is loaded from a file all at once when you construct the object. """ @@ -527,9 +536,9 @@ def __init__(self, fileName, encoding=None): @param encoding If you set the optional encoding argument, then the data will be decoded on the fly. - + """ - + self.fileName = fileName fp = codecs.open(fileName, 'rb', encoding) @@ -537,13 +546,13 @@ def __init__(self, fileName, encoding=None): data = fp.read() finally: fp.close() - + ANTLRStringStream.__init__(self, data) def getSourceName(self): """Deprecated, access o.fileName directly.""" - + return self.fileName @@ -553,7 +562,7 @@ class ANTLRInputStream(ANTLRStringStream): This is a char buffer stream that is loaded from a file like object all at once when you construct the object. - + All input is consumed from the file, but it is not closed. """ @@ -564,16 +573,16 @@ def __init__(self, file, encoding=None): @param encoding If you set the optional encoding argument, then the data will be decoded on the fly. - + """ - + if encoding is not None: # wrap input in a decoding reader reader = codecs.lookup(encoding)[2] file = reader(file) data = file.read() - + ANTLRStringStream.__init__(self, data) @@ -598,7 +607,7 @@ def __init__(self, file, encoding=None): class CommonTokenStream(TokenStream): """ @brief The most common stream of tokens - + The most common stream of tokens is one where every token is buffered up and tokens are prefiltered for a certain channel (the parser will only see these tokens and cannot change the filter channel number during the @@ -612,11 +621,11 @@ def __init__(self, tokenSource=None, channel=DEFAULT_CHANNEL): @param channel Skip tokens on any channel but this one; this is how we skip whitespace... - + """ - + TokenStream.__init__(self) - + self.tokenSource = tokenSource # Record every single token pulled from the source so we can reproduce @@ -629,7 +638,8 @@ def __init__(self, tokenSource=None, channel=DEFAULT_CHANNEL): # Set; discard any tokens with this type self.discardSet = set() - # Skip tokens on any channel but this one; this is how we skip whitespace... + # Skip tokens on any channel but this one; this is how we skip + # whitespace... self.channel = channel # By default, track all incoming tokens @@ -641,11 +651,18 @@ def __init__(self, tokenSource=None, channel=DEFAULT_CHANNEL): # Remember last marked position self.lastMarker = None - + + # how deep have we gone? + self._range = -1 + + + def makeEOFToken(self): + return self.tokenSource.makeEOFToken() + def setTokenSource(self, tokenSource): """Reset this token stream by setting its token source.""" - + self.tokenSource = tokenSource self.tokens = [] self.p = -1 @@ -663,13 +680,13 @@ def fillBuffer(self): This is done upon first LT request because you might want to set some token type / channel overrides before filling buffer. """ - + index = 0 t = self.tokenSource.nextToken() while t is not None and t.type != EOF: discard = False - + if self.discardSet is not None and t.type in self.discardSet: discard = True @@ -679,24 +696,24 @@ def fillBuffer(self): # is there a channel override for token type? try: overrideChannel = self.channelOverrideMap[t.type] - + except KeyError: # no override for this type pass - + else: if overrideChannel == self.channel: t.channel = overrideChannel else: discard = True - + if not discard: t.index = index self.tokens.append(t) index += 1 t = self.tokenSource.nextToken() - + # leave p pointing at first token on channel self.p = 0 self.p = self.skipOffTokenChannels(self.p) @@ -711,7 +728,7 @@ def consume(self): Walk past any token not on the channel the parser is listening to. """ - + if self.p < len(self.tokens): self.p += 1 @@ -730,7 +747,7 @@ def skipOffTokenChannels(self, i): except IndexError: # hit the end of token stream pass - + return i @@ -749,7 +766,7 @@ def setTokenTypeChannel(self, ttype, channel): the stream to force all WS and NEWLINE to be a different, ignored channel. """ - + self.channelOverrideMap[ttype] = channel @@ -769,7 +786,7 @@ def getTokens(self, start=None, stop=None, types=None): if stop is None or stop >= len(self.tokens): stop = len(self.tokens) - 1 - + if start is None or stop < 0: start = 0 @@ -779,7 +796,7 @@ def getTokens(self, start=None, stop=None, types=None): if isinstance(types, (int, long)): # called with a single type, wrap into set types = set([types]) - + filteredTokens = [ token for token in self.tokens[start:stop] if types is None or token.type in types @@ -805,7 +822,7 @@ def LT(self, k): if k < 0: return self.LB(-k) - + i = self.p n = 1 # find k good tokens @@ -814,10 +831,13 @@ def LT(self, k): i = self.skipOffTokenChannels(i+1) # leave p on valid token n += 1 + if i > self._range: + self._range = i + try: return self.tokens[i] except IndexError: - return EOF_TOKEN + return self.makeEOFToken() def LB(self, k): @@ -842,7 +862,7 @@ def LB(self, k): if i < 0: return None - + return self.tokens[i] @@ -855,6 +875,16 @@ def get(self, i): return self.tokens[i] + def slice(self, start, stop): + if self.p == -1: + self.fillBuffer() + + if start < 0 or stop < 0: + return None + + return self.tokens[start:stop+1] + + def LA(self, i): return self.LT(i).type @@ -862,17 +892,21 @@ def LA(self, i): def mark(self): self.lastMarker = self.index() return self.lastMarker - + def release(self, marker=None): # no resources to release pass - + def size(self): return len(self.tokens) + def range(self): + return self._range + + def index(self): return self.p @@ -880,7 +914,7 @@ def index(self): def rewind(self, marker=None): if marker is None: marker = self.lastMarker - + self.seek(marker) @@ -909,7 +943,7 @@ def toString(self, start=None, stop=None): stop = len(self.tokens) - 1 elif not isinstance(stop, int): stop = stop.index - + if stop >= len(self.tokens): stop = len(self.tokens) - 1 @@ -918,9 +952,14 @@ def toString(self, start=None, stop=None): class RewriteOperation(object): """@brief Internal helper class.""" - + def __init__(self, stream, index, text): self.stream = stream + + # What index into rewrites List are we? + self.instructionIndex = None + + # Token buffer index. self.index = index self.text = text @@ -933,7 +972,8 @@ def execute(self, buf): def toString(self): opName = self.__class__.__name__ - return '<%s@%d:"%s">' % (opName, self.index, self.text) + return '<%s@%d:"%s">' % ( + opName, self.index, self.text) __str__ = toString __repr__ = toString @@ -944,14 +984,15 @@ class InsertBeforeOp(RewriteOperation): def execute(self, buf): buf.write(self.text) - buf.write(self.stream.tokens[self.index].text) + if self.stream.tokens[self.index].type != EOF: + buf.write(self.stream.tokens[self.index].text) return self.index + 1 class ReplaceOp(RewriteOperation): """ @brief Internal helper class. - + I'm going to try replacing range from x..y with (y-x)+1 ReplaceOp instructions. """ @@ -969,6 +1010,9 @@ def execute(self, buf): def toString(self): + if self.text is None: + return '' % (self.index, self.lastIndex) + return '' % ( self.index, self.lastIndex, self.text) @@ -976,22 +1020,6 @@ def toString(self): __repr__ = toString -class DeleteOp(ReplaceOp): - """ - @brief Internal helper class. - """ - - def __init__(self, stream, first, last): - ReplaceOp.__init__(self, stream, first, last, None) - - - def toString(self): - return '' % (self.index, self.lastIndex) - - __str__ = toString - __repr__ = toString - - class TokenRewriteStream(CommonTokenStream): """@brief CommonTokenStream that can be modified. @@ -1046,7 +1074,7 @@ class TokenRewriteStream(CommonTokenStream): If you don't use named rewrite streams, a "default" stream is used as the first example shows. """ - + DEFAULT_PROGRAM_NAME = "default" MIN_TOKEN_INDEX = 0 @@ -1058,10 +1086,10 @@ def __init__(self, tokenSource=None, channel=DEFAULT_CHANNEL): # Maps String (name) -> rewrite (List) self.programs = {} self.programs[self.DEFAULT_PROGRAM_NAME] = [] - + # Map String (program name) -> Integer index self.lastRewriteTokenIndexes = {} - + def rollback(self, *args): """ @@ -1078,7 +1106,7 @@ def rollback(self, *args): instructionIndex = args[0] else: raise TypeError("Invalid arguments") - + p = self.programs.get(programName, None) if p is not None: self.programs[programName] = ( @@ -1087,7 +1115,7 @@ def rollback(self, *args): def deleteProgram(self, programName=DEFAULT_PROGRAM_NAME): """Reset the program so that no instructions exist""" - + self.rollback(programName, self.MIN_TOKEN_INDEX) @@ -1096,7 +1124,7 @@ def insertAfter(self, *args): programName = self.DEFAULT_PROGRAM_NAME index = args[0] text = args[1] - + elif len(args) == 3: programName = args[0] index = args[1] @@ -1118,7 +1146,7 @@ def insertBefore(self, *args): programName = self.DEFAULT_PROGRAM_NAME index = args[0] text = args[1] - + elif len(args) == 3: programName = args[0] index = args[1] @@ -1133,6 +1161,7 @@ def insertBefore(self, *args): op = InsertBeforeOp(self, index, text) rewrites = self.getProgram(programName) + op.instructionIndex = len(rewrites) rewrites.append(op) @@ -1142,13 +1171,13 @@ def replace(self, *args): first = args[0] last = args[0] text = args[1] - + elif len(args) == 3: programName = self.DEFAULT_PROGRAM_NAME first = args[0] last = args[1] text = args[2] - + elif len(args) == 4: programName = args[0] first = args[1] @@ -1168,13 +1197,14 @@ def replace(self, *args): if first > last or first < 0 or last < 0 or last >= len(self.tokens): raise ValueError( - "replace: range invalid: "+first+".."+last+ - "(size="+len(self.tokens)+")") + "replace: range invalid: %d..%d (size=%d)" + % (first, last, len(self.tokens))) op = ReplaceOp(self, first, last, text) rewrites = self.getProgram(programName) + op.instructionIndex = len(rewrites) rewrites.append(op) - + def delete(self, *args): self.replace(*(list(args) + [None])) @@ -1203,26 +1233,33 @@ def initializeProgram(self, name): def toOriginalString(self, start=None, end=None): + if self.p == -1: + self.fillBuffer() + if start is None: start = self.MIN_TOKEN_INDEX if end is None: end = self.size() - 1 - + buf = StringIO() i = start while i >= self.MIN_TOKEN_INDEX and i <= end and i < len(self.tokens): - buf.write(self.get(i).text) + if self.get(i).type != EOF: + buf.write(self.get(i).text) i += 1 return buf.getvalue() def toString(self, *args): + if self.p == -1: + self.fillBuffer() + if len(args) == 0: programName = self.DEFAULT_PROGRAM_NAME start = self.MIN_TOKEN_INDEX end = self.size() - 1 - + elif len(args) == 1: programName = args[0] start = self.MIN_TOKEN_INDEX @@ -1232,7 +1269,7 @@ def toString(self, *args): programName = self.DEFAULT_PROGRAM_NAME start = args[0] end = args[1] - + if start is None: start = self.MIN_TOKEN_INDEX elif not isinstance(start, int): @@ -1254,7 +1291,7 @@ def toString(self, *args): if rewrites is None or len(rewrites) == 0: # no instructions to execute return self.toOriginalString(start, end) - + buf = StringIO() # First, optimize instruction stream @@ -1273,7 +1310,8 @@ def toString(self, *args): t = self.tokens[i] if op is None: # no operation at that index, just dump token - buf.write(t.text) + if t.type != EOF: + buf.write(t.text) i += 1 # move to next token else: @@ -1309,8 +1347,16 @@ def reduceToSingleOperationPerIndex(self, rewrites): R.i-j.u R.x-y.v | x-y in i-j ERROR R.i-j.u R.x-y.v | boundaries overlap ERROR - I.i.u R.x-y.v | i in x-y delete I - I.i.u R.x-y.v | i not in x-y leave alone, nonoverlapping + Delete special case of replace (text==null): + D.i-j.u D.x-y.v | boundaries overlapcombine to + max(min)..max(right) + + I.i.u R.x-y.v | i in (x+1)-ydelete I (since + insert before we're not deleting + i) + I.i.u R.x-y.v | i not in (x+1)-yleave alone, + nonoverlapping + R.x-y.v I.i.u | i in x-y ERROR R.x-y.v I.x.u R.x-y.uv (combine, delete I) R.x-y.v I.i.u | i not in x-y leave alone, nonoverlapping @@ -1342,7 +1388,7 @@ def reduceToSingleOperationPerIndex(self, rewrites): Return a map from token index to operation. """ - + # WALK REPLACES for i, rop in enumerate(rewrites): if rop is None: @@ -1353,14 +1399,22 @@ def reduceToSingleOperationPerIndex(self, rewrites): # Wipe prior inserts within range for j, iop in self.getKindOfOps(rewrites, InsertBeforeOp, i): - if iop.index >= rop.index and iop.index <= rop.lastIndex: - rewrites[j] = None # delete insert as it's a no-op. + if iop.index == rop.index: + # E.g., insert before 2, delete 2..2; update replace + # text to include insert before, kill insert + rewrites[iop.instructionIndex] = None + rop.text = self.catOpText(iop.text, rop.text) + + elif iop.index > rop.index and iop.index <= rop.lastIndex: + # delete insert as it's a no-op. + rewrites[j] = None # Drop any prior replaces contained within for j, prevRop in self.getKindOfOps(rewrites, ReplaceOp, i): if (prevRop.index >= rop.index and prevRop.lastIndex <= rop.lastIndex): - rewrites[j] = None # delete replace as it's a no-op. + # delete replace as it's a no-op. + rewrites[j] = None continue # throw exception unless disjoint or identical @@ -1368,7 +1422,18 @@ def reduceToSingleOperationPerIndex(self, rewrites): or prevRop.index > rop.lastIndex) same = (prevRop.index == rop.index and prevRop.lastIndex == rop.lastIndex) - if not disjoint and not same: + + # Delete special case of replace (text==null): + # D.i-j.u D.x-y.v| boundaries overlapcombine to + # max(min)..max(right) + if prevRop.text is None and rop.text is None and not disjoint: + # kill first delete + rewrites[prevRop.instructionIndex] = None + + rop.index = min(prevRop.index, rop.index) + rop.lastIndex = max(prevRop.lastIndex, rop.lastIndex) + + elif not disjoint and not same: raise ValueError( "replace op boundaries of %s overlap with previous %s" % (rop, prevRop)) @@ -1388,24 +1453,27 @@ def reduceToSingleOperationPerIndex(self, rewrites): # whole token buffer so no lazy eval issue with any # templates iop.text = self.catOpText(iop.text, prevIop.text) - rewrites[j] = None # delete redundant prior insert + # delete redundant prior insert + rewrites[j] = None # look for replaces where iop.index is in range; error for j, rop in self.getKindOfOps(rewrites, ReplaceOp, i): if iop.index == rop.index: rop.text = self.catOpText(iop.text, rop.text) - rewrites[i] = None # delete current insert + # delete current insert + rewrites[i] = None continue if iop.index >= rop.index and iop.index <= rop.lastIndex: raise ValueError( "insert op %s within boundaries of previous %s" % (iop, rop)) - + m = {} for i, op in enumerate(rewrites): if op is None: - continue # ignore deleted ops + # ignore deleted ops + continue assert op.index not in m, "should only be one op per index" m[op.index] = op @@ -1424,6 +1492,8 @@ def catOpText(self, a, b): def getKindOfOps(self, rewrites, kind, before=None): + """Get all operations before an index of a particular kind.""" + if before is None: before = len(rewrites) elif before > len(rewrites): diff --git a/runtime/Python/antlr3/tokens.py b/runtime/Python/antlr3/tokens.py index 6fa386fe..d3f39b8e 100644 --- a/runtime/Python/antlr3/tokens.py +++ b/runtime/Python/antlr3/tokens.py @@ -47,7 +47,7 @@ def getText(self): Using setter/getter methods is deprecated. Use o.text instead. """ raise NotImplementedError - + def setText(self, text): """@brief Set the text of the token. @@ -62,48 +62,48 @@ def getType(self): Using setter/getter methods is deprecated. Use o.type instead.""" raise NotImplementedError - + def setType(self, ttype): """@brief Get the type of the token. Using setter/getter methods is deprecated. Use o.type instead.""" raise NotImplementedError - - + + def getLine(self): """@brief Get the line number on which this token was matched Lines are numbered 1..n - + Using setter/getter methods is deprecated. Use o.line instead.""" raise NotImplementedError - + def setLine(self, line): """@brief Set the line number on which this token was matched Using setter/getter methods is deprecated. Use o.line instead.""" raise NotImplementedError - - + + def getCharPositionInLine(self): """@brief Get the column of the tokens first character, - + Columns are numbered 0..n-1 - + Using setter/getter methods is deprecated. Use o.charPositionInLine instead.""" raise NotImplementedError - + def setCharPositionInLine(self, pos): """@brief Set the column of the tokens first character, Using setter/getter methods is deprecated. Use o.charPositionInLine instead.""" raise NotImplementedError - + def getChannel(self): """@brief Get the channel of the token @@ -111,25 +111,25 @@ def getChannel(self): Using setter/getter methods is deprecated. Use o.channel instead.""" raise NotImplementedError - + def setChannel(self, channel): """@brief Set the channel of the token Using setter/getter methods is deprecated. Use o.channel instead.""" raise NotImplementedError - + def getTokenIndex(self): """@brief Get the index in the input stream. An index from 0..n-1 of the token object in the input stream. This must be valid in order to use the ANTLRWorks debugger. - + Using setter/getter methods is deprecated. Use o.index instead.""" raise NotImplementedError - + def setTokenIndex(self, index): """@brief Set the index in the input stream. @@ -173,11 +173,11 @@ class CommonToken(Token): unnecessary copy operations. """ - + def __init__(self, type=None, channel=DEFAULT_CHANNEL, text=None, input=None, start=None, stop=None, oldToken=None): Token.__init__(self) - + if oldToken is not None: self.type = oldToken.type self.line = oldToken.line @@ -185,21 +185,21 @@ def __init__(self, type=None, channel=DEFAULT_CHANNEL, text=None, self.channel = oldToken.channel self.index = oldToken.index self._text = oldToken._text + self.input = oldToken.input if isinstance(oldToken, CommonToken): - self.input = oldToken.input self.start = oldToken.start self.stop = oldToken.stop - + else: self.type = type self.input = input self.charPositionInLine = -1 # set to invalid position self.line = 0 self.channel = channel - + #What token number is this from 0..n-1 tokens; < 0 implies invalid index self.index = -1 - + # We need to be able to change the text once in a while. If # this is non-null, then getText should return this. Note that # start/stop are not affected by changing this. @@ -219,8 +219,11 @@ def getText(self): if self.input is None: return None - - return self.input.substring(self.start, self.stop) + + if self.start < self.input.size() and self.stop < self.input.size(): + return self.input.substring(self.start, self.stop) + + return '' def setText(self, text): @@ -236,7 +239,7 @@ def setText(self, text): def getType(self): - return self.type + return self.type def setType(self, ttype): self.type = ttype @@ -244,31 +247,32 @@ def setType(self, ttype): def getTypeName(self): return str(self.type) - + typeName = property(lambda s: s.getTypeName()) + def getLine(self): return self.line - + def setLine(self, line): self.line = line def getCharPositionInLine(self): return self.charPositionInLine - + def setCharPositionInLine(self, pos): self.charPositionInLine = pos def getChannel(self): return self.channel - + def setChannel(self, channel): self.channel = channel - + def getTokenIndex(self): return self.index - + def setTokenIndex(self, index): self.index = index @@ -300,14 +304,14 @@ def __str__(self): self.index, self.start, self.stop, txt, - self.getTypeName(), channelStr, + self.typeName, channelStr, self.line, self.charPositionInLine ) - + class ClassicToken(Token): """@brief Alternative token implementation. - + A Token object like we'd use in ANTLR 2.x; has an actual string created and associated with this object. These objects are needed for imaginary tree nodes that have payload objects. We need to create a Token object @@ -320,14 +324,14 @@ def __init__(self, type=None, text=None, channel=DEFAULT_CHANNEL, oldToken=None ): Token.__init__(self) - + if oldToken is not None: self.text = oldToken.text self.type = oldToken.type self.line = oldToken.line self.charPositionInLine = oldToken.charPositionInLine self.channel = oldToken.channel - + self.text = text self.type = type self.line = None @@ -344,36 +348,36 @@ def setText(self, text): def getType(self): - return self.type + return self.type def setType(self, ttype): self.type = ttype - + def getLine(self): return self.line - + def setLine(self, line): self.line = line def getCharPositionInLine(self): return self.charPositionInLine - + def setCharPositionInLine(self, pos): self.charPositionInLine = pos def getChannel(self): return self.channel - + def setChannel(self, channel): self.channel = channel - + def getTokenIndex(self): return self.index - + def setTokenIndex(self, index): self.index = index @@ -389,7 +393,7 @@ def toString(self): channelStr = "" if self.channel > 0: channelStr = ",channel=" + str(self.channel) - + txt = self.text if txt is None: txt = "" @@ -401,19 +405,14 @@ def toString(self): self.line, self.charPositionInLine ) - + __str__ = toString __repr__ = toString - -EOF_TOKEN = CommonToken(type=EOF) - INVALID_TOKEN = CommonToken(type=INVALID_TOKEN_TYPE) # In an action, a lexer rule can set token to this SKIP_TOKEN and ANTLR # will avoid creating a token for this symbol and try to fetch another. SKIP_TOKEN = CommonToken(type=INVALID_TOKEN_TYPE) - - diff --git a/runtime/Python/antlr3/tree.py b/runtime/Python/antlr3/tree.py index 5fcf5266..7bc84467 100644 --- a/runtime/Python/antlr3/tree.py +++ b/runtime/Python/antlr3/tree.py @@ -98,7 +98,7 @@ class RewriteEmptyStreamException(RewriteCardinalityException): class Tree(object): """ @brief Abstract baseclass for tree nodes. - + What does a tree look like? ANTLR has a number of support classes such as CommonTreeNodeStream that work on these kinds of trees. You don't have to make your trees implement this interface, but if you do, @@ -106,29 +106,29 @@ class Tree(object): NOTE: When constructing trees, ANTLR can build any kind of tree; it can even use Token objects as trees if you add a child list to your tokens. - + This is a tree node without any payload; just navigation and factory stuff. """ def getChild(self, i): raise NotImplementedError - + def getChildCount(self): raise NotImplementedError - + def getParent(self): """Tree tracks parent and child index now > 3.0""" raise NotImplementedError - + def setParent(self, t): """Tree tracks parent and child index now > 3.0""" raise NotImplementedError - + def hasAncestor(self, ttype): """Walk upwards looking for ancestor with this token type.""" @@ -154,19 +154,19 @@ def getChildIndex(self): """This node is what child index? 0..n-1""" raise NotImplementedError - + def setChildIndex(self, index): """This node is what child index? 0..n-1""" raise NotImplementedError - + def freshenParentAndChildIndexes(self): """Set the parent and child index values for all children""" - + raise NotImplementedError - + def addChild(self, t): """ Add t as a child to this node. If t is null, do nothing. If t @@ -174,18 +174,18 @@ def addChild(self, t): """ raise NotImplementedError - + def setChild(self, i, t): """Set ith child (0..n-1) to t; t must be non-null and non-nil node""" raise NotImplementedError - + def deleteChild(self, i): raise NotImplementedError - - + + def replaceChildren(self, startChildIndex, stopChildIndex, t): """ Delete children from start to stop and replace with t even if t is @@ -204,7 +204,7 @@ def isNil(self): """ raise NotImplementedError - + def getTokenStartIndex(self): """ @@ -234,17 +234,17 @@ def setTokenStopIndex(self, index): def dupNode(self): raise NotImplementedError - - + + def getType(self): """Return a token type; needed for tree parsing.""" raise NotImplementedError - + def getText(self): raise NotImplementedError - + def getLine(self): """ @@ -252,7 +252,7 @@ def getLine(self): """ raise NotImplementedError - + def getCharPositionInLine(self): raise NotImplementedError @@ -270,7 +270,7 @@ def toString(self): class TreeAdaptor(object): """ @brief Abstract baseclass for tree adaptors. - + How to create and navigate trees. Rather than have a separate factory and adaptor, I've merged them. Makes sense to encapsulate. @@ -280,7 +280,7 @@ class TreeAdaptor(object): I do not need to know the type of a tree at all so they are all generic Objects. This may increase the amount of typecasting needed. :( """ - + # C o n s t r u c t i o n def createWithPayload(self, payload): @@ -293,7 +293,7 @@ def createWithPayload(self, payload): """ raise NotImplementedError - + def dupNode(self, treeNode): """Duplicate a single tree node. @@ -362,7 +362,7 @@ def becomeRoot(self, newRoot, oldRoot): """ If oldRoot is a nil root, just copy or move the children to newRoot. If not a nil root, make oldRoot a child of newRoot. - + old=^(nil a b c), new=r yields ^(r a b c) old=^(a b c), new=r yields ^(r ^(a b c)) @@ -505,14 +505,14 @@ def getTokenStartIndex(self, t): raise NotImplementedError - + def getTokenStopIndex(self, t): """ Get the token stop index for this subtree; return -1 if no such index """ raise NotImplementedError - + # N a v i g a t i o n / T r e e P a r s i n g @@ -530,7 +530,7 @@ def setChild(self, t, i, child): def deleteChild(self, t, i): """Remove ith child and shift children down from right.""" - + raise NotImplementedError @@ -546,7 +546,7 @@ def getParent(self, t): If your node type doesn't handle this, it's ok but the tree rewrites in tree parsers need this functionality. """ - + raise NotImplementedError @@ -569,7 +569,7 @@ def getChildIndex(self, t): raise NotImplementedError - + def setChildIndex(self, t, index): """ What index is this node in the child list? Range: 0..n-1 @@ -600,7 +600,7 @@ def create(self, *args): Deprecated, use createWithPayload, createFromToken or createFromType. This method only exists to mimic the Java interface of TreeAdaptor. - + """ if len(args) == 1 and isinstance(args[0], Token): @@ -653,7 +653,7 @@ def create(self, *args): "No create method with this signature found: %s" % (', '.join(type(v).__name__ for v in args)) ) - + ############################################################################ # @@ -682,19 +682,19 @@ class BaseTree(Tree): # BaseTree is abstract, no need to complain about not implemented abstract # methods # pylint: disable-msg=W0223 - + def __init__(self, node=None): """ Create a new node from an existing node does nothing for BaseTree as there are no fields other than the children list, which cannot - be copied as the children are not considered part of this node. + be copied as the children are not considered part of this node. """ - + Tree.__init__(self) self.children = [] self.parent = None self.childIndex = 0 - + def getChild(self, i): try: @@ -709,7 +709,7 @@ def getChildren(self): Note that if you directly mess with the list, do so at your own risk. """ - + # FIXME: mark as deprecated return self.children @@ -736,7 +736,7 @@ def addChild(self, childTree): # this implementation is much simpler and probably less efficient # than the mumbo-jumbo that Ter did for the Java runtime. - + if childTree is None: return @@ -750,7 +750,7 @@ def addChild(self, childTree): for idx, child in enumerate(childTree.children): child.parent = self child.childIndex = len(self.children) + idx - + self.children += childTree.children else: @@ -772,24 +772,24 @@ def setChild(self, i, t): if t.isNil(): raise ValueError("Can't set single child to a list") - + self.children[i] = t t.parent = self t.childIndex = i - + def deleteChild(self, i): killed = self.children[i] - + del self.children[i] - + # walk rest and decrement their child indexes for idx, child in enumerate(self.children[i:]): child.childIndex = i + idx - + return killed - + def replaceChildren(self, startChildIndex, stopChildIndex, newTree): """ Delete children from start to stop and replace with t even if t is @@ -814,8 +814,8 @@ def replaceChildren(self, startChildIndex, stopChildIndex, newTree): replacingWithHowMany = len(newChildren) delta = replacingHowMany - replacingWithHowMany - - + + if delta == 0: # if same number of nodes, do direct replace for idx, child in enumerate(newChildren): @@ -834,7 +834,7 @@ def replaceChildren(self, startChildIndex, stopChildIndex, newTree): # ...and fix indeces self.freshenParentAndChildIndexes(startChildIndex) - + def isNil(self): return False @@ -852,7 +852,7 @@ def sanityCheckParentAndChildIndexes(self, parent=None, i=-1): "parents don't match; expected %r found %r" % (parent, self.parent) ) - + if i != self.childIndex: raise ValueError( "child indexes don't match; expected %d found %d" @@ -865,7 +865,7 @@ def sanityCheckParentAndChildIndexes(self, parent=None, i=-1): def getChildIndex(self): """BaseTree doesn't track child indexes.""" - + return 0 @@ -873,7 +873,7 @@ def setChildIndex(self, index): """BaseTree doesn't track child indexes.""" pass - + def getParent(self): """BaseTree doesn't track parent pointers.""" @@ -960,11 +960,11 @@ class BaseTreeAdaptor(TreeAdaptor): """ @brief A TreeAdaptor that works with any Tree implementation. """ - + # BaseTreeAdaptor is abstract, no need to complain about not implemented # abstract methods # pylint: disable-msg=W0223 - + def nil(self): return self.createWithPayload(None) @@ -982,9 +982,9 @@ def errorNode(self, input, start, stop, exc): You don't have to subclass CommonErrorNode; you will likely need to subclass your own tree node class to avoid class cast exception. """ - + return CommonErrorNode(input, start, stop, exc) - + def isNil(self, tree): return tree.isNil() @@ -1001,12 +1001,12 @@ def dupTree(self, t, parent=None): return None newTree = self.dupNode(t) - + # ensure new subtree root has parent/child index set # same index in new tree self.setChildIndex(newTree, self.getChildIndex(t)) - + self.setParent(newTree, parent) for i in range(self.getChildCount(t)): @@ -1029,7 +1029,7 @@ def addChild(self, tree, child): #if isinstance(child, Token): # child = self.createWithPayload(child) - + if tree is not None and child is not None: tree.addChild(child) @@ -1068,7 +1068,7 @@ def becomeRoot(self, newRoot, oldRoot): if oldRoot is None: return newRoot - + if not isinstance(newRoot, CommonTree): newRoot = self.createWithPayload(newRoot) @@ -1077,7 +1077,7 @@ def becomeRoot(self, newRoot, oldRoot): nc = newRoot.getChildCount() if nc == 1: newRoot = newRoot.getChild(0) - + elif nc > 1: # TODO: make tree run time exceptions hierarchy raise RuntimeError("more than one node as root") @@ -1091,7 +1091,7 @@ def becomeRoot(self, newRoot, oldRoot): def rulePostProcessing(self, root): """Transform ^(nil x) to x and nil to null""" - + if root is not None and root.isNil(): if root.getChildCount() == 0: root = None @@ -1106,6 +1106,9 @@ def rulePostProcessing(self, root): def createFromToken(self, tokenType, fromToken, text=None): + if fromToken is None: + return self.createFromType(tokenType, text) + assert isinstance(tokenType, (int, long)), type(tokenType).__name__ assert isinstance(fromToken, Token), type(fromToken).__name__ assert text is None or isinstance(text, basestring), type(text).__name__ @@ -1121,7 +1124,7 @@ def createFromToken(self, tokenType, fromToken, text=None): def createFromType(self, tokenType, text): assert isinstance(tokenType, (int, long)), type(tokenType).__name__ assert isinstance(text, basestring) or text is None, type(text).__name__ - + fromToken = self.createToken(tokenType=tokenType, text=text) t = self.createWithPayload(fromToken) return t @@ -1201,12 +1204,12 @@ class CommonTree(BaseTree): parent and child index is very difficult and cumbersome. Better to spend the space in every tree node. If you don't want these extra fields, it's easy to cut them out in your own BaseTree subclass. - + """ def __init__(self, payload): BaseTree.__init__(self) - + # What token indexes bracket all tokens associated with this node # and below? self.startIndex = -1 @@ -1214,22 +1217,22 @@ def __init__(self, payload): # Who is the parent node of this node; if null, implies node is root self.parent = None - + # What index is this node in the child list? Range: 0..n-1 self.childIndex = -1 # A single token is the payload if payload is None: self.token = None - + elif isinstance(payload, CommonTree): self.token = payload.token self.startIndex = payload.startIndex self.stopIndex = payload.stopIndex - + elif payload is None or isinstance(payload, Token): self.token = payload - + else: raise TypeError(type(payload).__name__) @@ -1254,16 +1257,16 @@ def getType(self): return self.token.getType() type = property(getType) - + def getText(self): if self.token is None: return None - + return self.token.text text = property(getText) - + def getLine(self): if self.token is None or self.token.getLine() == 0: @@ -1275,7 +1278,7 @@ def getLine(self): return self.token.getLine() line = property(getLine) - + def getCharPositionInLine(self): if self.token is None or self.token.getCharPositionInLine() == -1: @@ -1288,14 +1291,14 @@ def getCharPositionInLine(self): return self.token.getCharPositionInLine() charPositionInLine = property(getCharPositionInLine) - + def getTokenStartIndex(self): if self.startIndex == -1 and self.token is not None: return self.token.getTokenIndex() - + return self.startIndex - + def setTokenStartIndex(self, index): self.startIndex = index @@ -1305,7 +1308,7 @@ def setTokenStartIndex(self, index): def getTokenStopIndex(self): if self.stopIndex == -1 and self.token is not None: return self.token.getTokenIndex() - + return self.stopIndex def setTokenStopIndex(self, index): @@ -1325,7 +1328,7 @@ def setUnknownTokenBoundaries(self): self.startIndex = self.stopIndex = self.token.getTokenIndex() return - + for child in self.children: child.setUnknownTokenBoundaries() @@ -1359,7 +1362,7 @@ def setParent(self, t): #FIXME: mark as deprecated self.parent = t - + def toString(self): if self.isNil(): return "nil" @@ -1369,7 +1372,7 @@ def toString(self): return self.token.text - __str__ = toString + __str__ = toString @@ -1380,7 +1383,7 @@ def toStringTree(self): ret = '' if not self.isNil(): ret += '(%s ' % (self.toString()) - + ret += ' '.join([child.toStringTree() for child in self.children]) if not self.isNil(): @@ -1470,7 +1473,7 @@ def toString(self): class CommonTreeAdaptor(BaseTreeAdaptor): """ @brief A TreeAdaptor that works with any Tree implementation. - + It provides really just factory methods; all the work is done by BaseTreeAdaptor. If you would like to have different tokens created than ClassicToken @@ -1481,7 +1484,7 @@ class CommonTreeAdaptor(BaseTreeAdaptor): create(Token), errorNode(), and to be safe, YourTreeClass.dupNode(). dupNode is called to duplicate nodes during rewrite operations. """ - + def dupNode(self, treeNode): """ Duplicate a node. This is part of the factory; @@ -1493,7 +1496,7 @@ def dupNode(self, treeNode): if treeNode is None: return None - + return treeNode.dupNode() @@ -1511,7 +1514,7 @@ def createToken(self, fromToken=None, tokenType=None, text=None): If you care what the token payload objects' type is, you should override this method and any other createToken variant. """ - + if fromToken is not None: return CommonToken(oldToken=fromToken) @@ -1525,16 +1528,16 @@ def setTokenBoundaries(self, t, startToken, stopToken): seems like this will yield start=i and stop=i-1 in a nil node. Might be useful info so I'll not force to be i..i. """ - + if t is None: return start = 0 stop = 0 - + if startToken is not None: start = startToken.index - + if stopToken is not None: stop = stopToken.index @@ -1563,7 +1566,7 @@ def getText(self, t): def getType(self, t): if t is None: return INVALID_TOKEN_TYPE - + return t.getType() @@ -1636,11 +1639,11 @@ class TreeNodeStream(IntStream): It accessing nodes from a tree of some kind. """ - + # TreeNodeStream is abstract, no need to complain about not implemented # abstract methods # pylint: disable-msg=W0223 - + def get(self, i): """Get a tree node at an absolute index i; 0..n-1. If you don't want to buffer up nodes, then this method makes no @@ -1674,7 +1677,7 @@ def getTreeSource(self): """ raise NotImplementedError - + def getTokenStream(self): """ @@ -1694,7 +1697,7 @@ def getTreeAdaptor(self): """ raise NotImplementedError - + def setUniqueNavigationNodes(self, uniqueNavigationNodes): """ @@ -1706,7 +1709,16 @@ def setUniqueNavigationNodes(self, uniqueNavigationNodes): """ raise NotImplementedError - + + + def reset(self): + """ + Reset the tree node stream in such a way that it acts like + a freshly constructed stream. + """ + + raise NotImplementedError + def toString(self, start, stop): """ @@ -1756,7 +1768,7 @@ class CommonTreeNodeStream(TreeNodeStream): @see UnBufferedTreeNodeStream """ - + def __init__(self, *args): TreeNodeStream.__init__(self) @@ -1793,7 +1805,7 @@ def __init__(self, *args): else: raise TypeError("Invalid arguments") - + # all these navigation nodes are shared and hence they # cannot contain any line/column info if down is not None: @@ -1847,6 +1859,10 @@ def __init__(self, *args): self.calls = [] + def __iter__(self): + return TreeIterator(self.root, self.adaptor) + + def fillBuffer(self): """Walk tree with depth-first-search and fill nodes buffer. Don't do DOWN, UP nodes if its a list (t is isNil). @@ -1858,7 +1874,7 @@ def fillBuffer(self): def _fillBuffer(self, t): nil = self.adaptor.isNil(t) - + if not nil: self.nodes.append(t) # add this node @@ -1880,7 +1896,7 @@ def getNodeIndex(self, node): """What is the stream index for node? 0..n-1 Return -1 if node not found. """ - + if self.p == -1: self.fillBuffer() @@ -1897,9 +1913,9 @@ def addNavigationNode(self, ttype): the tree structure. When debugging we need unique nodes so instantiate new ones when uniqueNavigationNodes is true. """ - + navNode = None - + if ttype == DOWN: if self.hasUniqueNavigationNodes(): navNode = self.adaptor.createFromType(DOWN, "DOWN") @@ -1910,7 +1926,7 @@ def addNavigationNode(self, ttype): else: if self.hasUniqueNavigationNodes(): navNode = self.adaptor.createFromType(UP, "UP") - + else: navNode = self.up @@ -1938,7 +1954,7 @@ def LT(self, k): return self.eof return self.nodes[self.p + k - 1] - + def getCurrentSymbol(self): return self.LT(1) @@ -1946,7 +1962,7 @@ def getCurrentSymbol(self): def LB(self, k): """Look backwards k nodes""" - + if k == 0: return None @@ -1956,6 +1972,10 @@ def LB(self, k): return self.nodes[self.p - k] + def isEOF(self, obj): + return self.adaptor.getType(obj) == EOF + + def getTreeSource(self): return self.root @@ -1987,10 +2007,10 @@ def setUniqueNavigationNodes(self, uniqueNavigationNodes): def consume(self): if self.p == -1: self.fillBuffer() - + self.p += 1 - + def LA(self, i): return self.adaptor.getType(self.LT(i)) @@ -1999,7 +2019,7 @@ def mark(self): if self.p == -1: self.fillBuffer() - + self.lastMarker = self.index() return self.lastMarker @@ -2017,7 +2037,7 @@ def index(self): def rewind(self, marker=None): if marker is None: marker = self.lastMarker - + self.seek(marker) @@ -2054,7 +2074,7 @@ def reset(self): self.lastMarker = 0 self.calls = [] - + def size(self): if self.p == -1: self.fillBuffer() @@ -2098,12 +2118,12 @@ def toString(self, start, stop): # System.out.println(((CommonTree)stop).getToken()); #else # System.out.println(stop); - + # if we have the token stream, use that to dump text in order if self.tokens is not None: beginTokenIndex = self.adaptor.getTokenStartIndex(start) endTokenIndex = self.adaptor.getTokenStopIndex(stop) - + # if it's a tree, use start/stop index from start node # else use token range from start/stop nodes if self.adaptor.getType(stop) == UP: @@ -2138,9 +2158,9 @@ def toString(self, start, stop): text = " " +self.adaptor.getType(stop) buf.append(text) - + return ''.join(buf) - + ## iterator interface def __iter__(self): @@ -2159,7 +2179,7 @@ def __iter__(self): class TreeParser(BaseRecognizer): """@brief Baseclass for generated tree parsers. - + A parser for a stream of tree nodes. "tree grammars" result in a subclass of this. All the error reporting and recovery is shared with Parser via the BaseRecognizer superclass. @@ -2198,7 +2218,9 @@ def getCurrentInputSymbol(self, input): def getMissingSymbol(self, input, e, expectedTokenType, follow): tokenText = "" - return CommonTree(CommonToken(type=expectedTokenType, text=tokenText)) + adaptor = input.adaptor + return adaptor.createToken( + CommonToken(type=expectedTokenType, text=tokenText)) # precompiled regex used by inContext @@ -2218,11 +2240,11 @@ def inContext(self, context, adaptor=None, tokenName=None, t=None): that is a METHOD node. The first node in the context is not necessarily the root. The context matcher stops matching and returns true when it runs out of context. There is no way to force the first - node to be the root. + node to be the root. """ return _inContext( - self.input.getTreeAdaptor(), self.getTokenNames(), + self.input.getTreeAdaptor(), self.getTokenNames(), self.input.LT(1), context) @classmethod @@ -2292,7 +2314,7 @@ def matchAny(self, ignore): # ignore stream, copy of this.input entire tree if node has children. If children, scan until corresponding UP node. """ - + self._state.errorRecovery = False look = self.input.LT(1) @@ -2384,7 +2406,7 @@ def __init__(self, adaptor=None): self.adaptor = adaptor else: self.adaptor = CommonTreeAdaptor() - + def visit(self, t, pre_action=None, post_action=None): """Visit every node in tree t and trigger an action for each node before/after having visited all of its children. Bottom up walk. @@ -2405,15 +2427,131 @@ def visit(self, t, pre_action=None, post_action=None): # if rewritten, walk children of new t t = pre_action(t) - for idx in xrange(self.adaptor.getChildCount(t)): + idx = 0 + while idx < self.adaptor.getChildCount(t): child = self.adaptor.getChild(t, idx) self.visit(child, pre_action, post_action) + idx += 1 if post_action is not None and not isNil: t = post_action(t) return t +############################################################################# +# +# tree iterator +# +############################################################################# + +class TreeIterator(object): + """ + Return a node stream from a doubly-linked tree whose nodes + know what child index they are. + + Emit navigation nodes (DOWN, UP, and EOF) to let show tree structure. + """ + + def __init__(self, tree, adaptor=None): + if adaptor is None: + adaptor = CommonTreeAdaptor() + + self.root = tree + self.adaptor = adaptor + + self.first_time = True + self.tree = tree + + # If we emit UP/DOWN nodes, we need to spit out multiple nodes per + # next() call. + self.nodes = [] + + # navigation nodes to return during walk and at end + self.down = adaptor.createFromType(DOWN, "DOWN") + self.up = adaptor.createFromType(UP, "UP") + self.eof = adaptor.createFromType(EOF, "EOF") + + + def reset(self): + self.first_time = True + self.tree = self.root + self.nodes = [] + + + def __iter__(self): + return self + + + def has_next(self): + if self.first_time: + return self.root is not None + + if len(self.nodes) > 0: + return True + + if self.tree is None: + return False + + if self.adaptor.getChildCount(self.tree) > 0: + return True + + # back at root? + return self.adaptor.getParent(self.tree) is not None + + + def next(self): + if not self.has_next(): + raise StopIteration + + if self.first_time: + # initial condition + self.first_time = False + if self.adaptor.getChildCount(self.tree) == 0: + # single node tree (special) + self.nodes.append(self.eof) + return self.tree + + return self.tree + + # if any queued up, use those first + if len(self.nodes) > 0: + return self.nodes.pop(0) + + # no nodes left? + if self.tree is None: + return self.eof + + # next node will be child 0 if any children + if self.adaptor.getChildCount(self.tree) > 0: + self.tree = self.adaptor.getChild(self.tree, 0) + # real node is next after DOWN + self.nodes.append(self.tree) + return self.down + + # if no children, look for next sibling of tree or ancestor + parent = self.adaptor.getParent(self.tree) + # while we're out of siblings, keep popping back up towards root + while (parent is not None + and self.adaptor.getChildIndex(self.tree)+1 >= self.adaptor.getChildCount(parent)): + # we're moving back up + self.nodes.append(self.up) + self.tree = parent + parent = self.adaptor.getParent(self.tree) + + # no nodes left? + if parent is None: + self.tree = None # back at root? nothing left then + self.nodes.append(self.eof) # add to queue, might have UP nodes in there + return self.nodes.pop(0) + + # must have found a node with an unvisited sibling + # move to it and return it + nextSiblingIndex = self.adaptor.getChildIndex(self.tree) + 1 + self.tree = self.adaptor.getChild(parent, nextSiblingIndex) + self.nodes.append(self.tree) # add to queue, might have UP nodes in there + return self.nodes.pop(0) + + ############################################################################# # @@ -2423,7 +2561,7 @@ def visit(self, t, pre_action=None, post_action=None): class RewriteRuleElementStream(object): """@brief Internal helper class. - + A generic list of elements tracked in an alternative to be used in a -> rewrite rule. We need to subclass to fill in the next() method, which returns either an AST node wrapped around a token payload or @@ -2434,7 +2572,7 @@ class RewriteRuleElementStream(object): @see org.antlr.runtime.tree.RewriteRuleSubtreeStream @see org.antlr.runtime.tree.RewriteRuleTokenStream - + TODO: add mechanism to detect/puke on modification after reading from stream """ @@ -2455,7 +2593,7 @@ def __init__(self, adaptor, elementDescription, elements=None): # can be reused in future subrules. So, reset must set a dirty bit. # If dirty, then next() always returns a dup. self.dirty = False - + # The element or stream description; usually has name of the token or # rule reference that this list tracks. Can include rulename too, but # the exception would track that info. @@ -2480,11 +2618,11 @@ def reset(self): Once we reset the stream, any future use will need duplicates. Set the dirty bit. """ - + self.cursor = 0 self.dirty = True - + def add(self, el): if el is None: return @@ -2508,11 +2646,11 @@ def nextTree(self): """ Return the next element in the stream. If out of elements, throw an exception unless size()==1. If size is 1, then return elements[0]. - + Return a duplicate node/subtree if stream is out of elements and size==1. If we've already used the element, dup (dirty bit set). """ - + if (self.dirty or (self.cursor >= len(self) and len(self) == 1) ): @@ -2536,9 +2674,9 @@ def _next(self): if len(self) == 0: raise RewriteEmptyStreamException(self.elementDescription) - + if self.cursor >= len(self): # out of elements? - if len(self) == 1: # if size is 1, it's ok; return and we'll dup + if len(self) == 1: # if size is 1, it's ok; return and we'll dup return self.toTree(self.singleElement) # out of elements and size was not 1, so we can't dup @@ -2564,7 +2702,7 @@ def dup(self, el): """ raise NotImplementedError - + def toTree(self, el): """ @@ -2582,7 +2720,7 @@ def hasNext(self): ) ) - + def size(self): if self.singleElement is not None: return 1 @@ -2593,11 +2731,11 @@ def size(self): return 0 __len__ = size - + def getDescription(self): """Deprecated. Directly access elementDescription attribute""" - + return self.elementDescription @@ -2614,11 +2752,11 @@ def nextNode(self): t = self._next() return self.adaptor.createWithPayload(t) - + def nextToken(self): return self._next() - + def dup(self, el): raise TypeError("dup can't be called for a token stream.") @@ -2641,7 +2779,7 @@ def nextNode(self): a proper way to refactor. This needs to always call dup node and super.next() doesn't know which to call: dup node or dup tree. """ - + if (self.dirty or (self.cursor >= len(self) and len(self) == 1) ): @@ -2652,7 +2790,11 @@ def nextNode(self): # test size above then fetch el = self._next() - return el + while self.adaptor.isNil(el) and self.adaptor.getChildCount(el) == 1: + el = self.adaptor.getChild(el, 0) + + # dup just the root (want node here) + return self.adaptor.dupNode(el) def dup(self, el): @@ -2663,9 +2805,9 @@ def dup(self, el): class RewriteRuleNodeStream(RewriteRuleElementStream): """ Queues up nodes matched on left side of -> in a tree parser. This is - the analog of RewriteRuleTokenStream for normal parsers. + the analog of RewriteRuleTokenStream for normal parsers. """ - + def nextNode(self): return self._next() @@ -2691,12 +2833,11 @@ class TreeRuleReturnScope(RuleReturnScope): def __init__(self): self.start = None self.tree = None - - + + def getStart(self): return self.start - + def getTree(self): return self.tree - diff --git a/runtime/Python/antlr3/treewizard.py b/runtime/Python/antlr3/treewizard.py index 1d8f4eb7..d96ce780 100644 --- a/runtime/Python/antlr3/treewizard.py +++ b/runtime/Python/antlr3/treewizard.py @@ -89,7 +89,7 @@ def __init__(self, pattern): 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_' ) __idChar = __idStartChar | frozenset('0123456789') - + def nextToken(self): self.sval = "" while self.c != EOF: @@ -213,7 +213,7 @@ def parseTree(self): def parseNode(self): # "%label:" prefix label = None - + if self.ttype == PERCENT: self.ttype = self.tokenizer.nextToken() if self.ttype != ID: @@ -223,7 +223,7 @@ def parseNode(self): self.ttype = self.tokenizer.nextToken() if self.ttype != COLON: return None - + self.ttype = self.tokenizer.nextToken() # move to ID following colon # Wildcard? @@ -241,7 +241,7 @@ def parseNode(self): tokenName = self.tokenizer.sval self.ttype = self.tokenizer.nextToken() - + if tokenName == "nil": return self.adaptor.nil() @@ -279,12 +279,12 @@ def __init__(self, payload): self.label = None self.hasTextArg = None - + def toString(self): if self.label is not None: return '%' + self.label + ':' + CommonTree.toString(self) - + else: return CommonTree.toString(self) @@ -320,7 +320,12 @@ class can translate it to a token type. """ def __init__(self, adaptor=None, tokenNames=None, typeMap=None): - self.adaptor = adaptor + if adaptor is None: + self.adaptor = CommonTreeAdaptor() + + else: + self.adaptor = adaptor + if typeMap is None: self.tokenNameToTypeMap = computeTokenTypes(tokenNames) @@ -344,18 +349,18 @@ def create(self, pattern): """ Create a tree or node from the indicated tree pattern that closely follows ANTLR tree grammar tree element syntax: - + (root child1 ... child2). - + You can also just pass in a node: ID - + Any node can have a text argument: ID[foo] (notice there are no quotes around foo--it's clear it's a string). - + nil is a special name meaning "give me a nil node". Useful for making lists: (nil A B C) is a list of A B C. """ - + tokenizer = TreePatternLexer(pattern) parser = TreePatternParser(tokenizer, self, self.adaptor) return parser.pattern() @@ -363,7 +368,7 @@ def create(self, pattern): def index(self, tree): """Walk the entire tree and make a node name to nodes mapping. - + For now, use recursion but later nonrecursive version may be more efficient. Returns a dict int -> list where the list is of your AST node type. The int is the token type of the node. @@ -396,9 +401,9 @@ def find(self, tree, what): what may either be an integer specifzing the token type to find or a string with a pattern that must be matched. - + """ - + if isinstance(what, (int, long)): return self._findTokenType(tree, what) @@ -424,14 +429,14 @@ def visitor(tree, parent, childIndex, labels): def _findPattern(self, t, pattern): """Return a List of subtrees matching pattern.""" - + subtrees = [] - + # Create a TreePattern from the pattern tokenizer = TreePatternLexer(pattern) parser = TreePatternParser(tokenizer, self, TreePatternTreeAdaptor()) tpattern = parser.pattern() - + # don't allow invalid patterns if (tpattern is None or tpattern.isNil() or isinstance(tpattern, WildcardTreePattern)): @@ -442,7 +447,7 @@ def _findPattern(self, t, pattern): def visitor(tree, parent, childIndex, label): if self._parse(tree, tpattern, None): subtrees.append(tree) - + self.visit(t, rootTokenType, visitor) return subtrees @@ -472,11 +477,11 @@ def visit(self, tree, what, visitor): else: raise TypeError("'what' must be string or integer") - - + + def _visitType(self, t, parent, childIndex, ttype, visitor): """Do the recursive work for visit""" - + if t is None: return @@ -497,7 +502,7 @@ def _visitPattern(self, tree, pattern, visitor): tokenizer = TreePatternLexer(pattern) parser = TreePatternParser(tokenizer, self, TreePatternTreeAdaptor()) tpattern = parser.pattern() - + # don't allow invalid patterns if (tpattern is None or tpattern.isNil() or isinstance(tpattern, WildcardTreePattern)): @@ -509,9 +514,9 @@ def rootvisitor(tree, parent, childIndex, labels): labels = {} if self._parse(tree, tpattern, labels): visitor(tree, parent, childIndex, labels) - + self.visit(tree, rootTokenType, rootvisitor) - + def parse(self, t, pattern, labels=None): """ @@ -539,7 +544,7 @@ def _parse(self, t1, tpattern, labels): text arguments on nodes. Fill labels map with pointers to nodes in tree matched against nodes in pattern with labels. """ - + # make sure both are non-null if t1 is None or tpattern is None: return False @@ -578,7 +583,7 @@ def equals(self, t1, t2, adaptor=None): Compare t1 and t2; return true if token types/text, structure match exactly. The trees are examined in their entirety so that (A B) does not match - (A B C) nor (A (B C)). + (A B C) nor (A (B C)). """ if adaptor is None: @@ -598,7 +603,7 @@ def _equals(self, t1, t2, adaptor): if adaptor.getText(t1) != adaptor.getText(t2): return False - + # check children n1 = adaptor.getChildCount(t1) n2 = adaptor.getChildCount(t2) diff --git a/runtime/Python/dist/antlr_python_runtime-3.1.3-py2.4.egg b/runtime/Python/dist/antlr_python_runtime-3.1.3-py2.4.egg deleted file mode 100644 index 79561ab2..00000000 Binary files a/runtime/Python/dist/antlr_python_runtime-3.1.3-py2.4.egg and /dev/null differ diff --git a/runtime/Python/dist/antlr_python_runtime-3.1.3-py2.5.egg b/runtime/Python/dist/antlr_python_runtime-3.1.3-py2.5.egg deleted file mode 100644 index f8377b71..00000000 Binary files a/runtime/Python/dist/antlr_python_runtime-3.1.3-py2.5.egg and /dev/null differ diff --git a/runtime/Python/dist/antlr_python_runtime-3.1.3.tar.gz b/runtime/Python/dist/antlr_python_runtime-3.1.3.tar.gz deleted file mode 100644 index 9aa46f20..00000000 Binary files a/runtime/Python/dist/antlr_python_runtime-3.1.3.tar.gz and /dev/null differ diff --git a/runtime/Python/dist/antlr_python_runtime-3.1.3.zip b/runtime/Python/dist/antlr_python_runtime-3.1.3.zip deleted file mode 100644 index 19db1210..00000000 Binary files a/runtime/Python/dist/antlr_python_runtime-3.1.3.zip and /dev/null differ diff --git a/runtime/Python/dist/antlr_python_runtime-3.4-py2.4.egg b/runtime/Python/dist/antlr_python_runtime-3.4-py2.4.egg new file mode 100644 index 00000000..5eb9aca1 Binary files /dev/null and b/runtime/Python/dist/antlr_python_runtime-3.4-py2.4.egg differ diff --git a/runtime/Python/dist/antlr_python_runtime-3.4-py2.6.egg b/runtime/Python/dist/antlr_python_runtime-3.4-py2.6.egg new file mode 100644 index 00000000..369a8d92 Binary files /dev/null and b/runtime/Python/dist/antlr_python_runtime-3.4-py2.6.egg differ diff --git a/runtime/Python/dist/antlr_python_runtime-3.4.tar.gz b/runtime/Python/dist/antlr_python_runtime-3.4.tar.gz new file mode 100644 index 00000000..a90b40ec Binary files /dev/null and b/runtime/Python/dist/antlr_python_runtime-3.4.tar.gz differ diff --git a/runtime/Python/dist/antlr_python_runtime-3.4.zip b/runtime/Python/dist/antlr_python_runtime-3.4.zip new file mode 100644 index 00000000..304ce087 Binary files /dev/null and b/runtime/Python/dist/antlr_python_runtime-3.4.zip differ diff --git a/runtime/Python/hudson-build.sh b/runtime/Python/hudson-build.sh old mode 100755 new mode 100644 diff --git a/runtime/Python/mkdoxy.sh b/runtime/Python/mkdoxy.sh old mode 100755 new mode 100644 diff --git a/runtime/Python/setup.py b/runtime/Python/setup.py index daa283a4..17ef6d47 100644 --- a/runtime/Python/setup.py +++ b/runtime/Python/setup.py @@ -210,6 +210,7 @@ def run(self): classpath.extend([ os.path.join(rootDir, 'lib', 'antlr-2.7.7.jar'), os.path.join(rootDir, 'lib', 'stringtemplate-3.2.1.jar'), + os.path.join(rootDir, 'lib', 'ST-4.0.2.jar'), os.path.join(rootDir, 'lib', 'junit-4.2.jar') ]) os.environ['CLASSPATH'] = ':'.join(classpath) @@ -221,17 +222,15 @@ def run(self): # collect tests from all tests/t*.py files testFiles = [] - for testPath in glob.glob(os.path.join(testDir, 't*.py')): - if (testPath.endswith('Lexer.py') - or testPath.endswith('Parser.py') - ): + test_glob = 't[0-9][0-9][0-9]*.py' + for testPath in glob.glob(os.path.join(testDir, test_glob)): + if testPath.endswith('Lexer.py') or testPath.endswith('Parser.py'): continue # if a single testcase has been selected, filter out all other # tests if (self.testcase is not None - and os.path.basename(testPath)[:-3] != self.testcase - ): + and not os.path.basename(testPath)[:-3].startswith(self.testcase)): continue testFiles.append(testPath) @@ -245,20 +244,17 @@ def run(self): = imp.find_module(testID, [testDir]) testMod = imp.load_module( - testID, modFile, modPathname, modDescription - ) + testID, modFile, modPathname, modDescription) suite.addTests( - unittest.defaultTestLoader.loadTestsFromModule(testMod) - ) + unittest.defaultTestLoader.loadTestsFromModule(testMod)) except Exception: buf = StringIO.StringIO() traceback.print_exc(file=buf) loadFailures.append( - (os.path.basename(testPath), buf.getvalue()) - ) + (os.path.basename(testPath), buf.getvalue())) if self.xml_output: import xmlrunner @@ -284,7 +280,7 @@ def run(self): setup(name='antlr_python_runtime', - version='3.1.3', + version='3.4', packages=['antlr3'], author="Benjamin Niemann", diff --git a/runtime/Python/tests/t009lexer.py b/runtime/Python/tests/t009lexer.py index a3858681..c32cbbfb 100644 --- a/runtime/Python/tests/t009lexer.py +++ b/runtime/Python/tests/t009lexer.py @@ -5,8 +5,8 @@ class t009lexer(testbase.ANTLRTest): def setUp(self): self.compileGrammar() - - + + def lexerClass(self, base): class TLexer(base): def emitErrorMessage(self, msg): @@ -18,8 +18,8 @@ def reportError(self, re): raise re return TLexer - - + + def testValid(self): stream = antlr3.StringStream('085') lexer = self.getLexer(stream) @@ -55,15 +55,13 @@ def testMalformedInput(self): token = lexer.nextToken() raise AssertionError, token - except antlr3.MismatchedRangeException, exc: - assert exc.a == '0', repr(exc.a) - assert exc.b == '9', repr(exc.b) + except antlr3.MismatchedSetException, exc: + # TODO: This should provide more useful information + assert exc.expecting is None assert exc.unexpectedType == 'a', repr(exc.unexpectedType) assert exc.charPositionInLine == 1, repr(exc.charPositionInLine) assert exc.line == 1, repr(exc.line) - + if __name__ == '__main__': unittest.main() - - diff --git a/runtime/Python/tests/t033backtracking.py b/runtime/Python/tests/t033backtracking.py index 841c0328..8b5c66a3 100644 --- a/runtime/Python/tests/t033backtracking.py +++ b/runtime/Python/tests/t033backtracking.py @@ -6,7 +6,7 @@ class t033backtracking(testbase.ANTLRTest): def setUp(self): self.compileGrammar() - + def parserClass(self, base): class TParser(base): @@ -15,8 +15,9 @@ def recover(self, input, re): raise return TParser - - + + + @testbase.broken("Some bug in the tool", SyntaxError) def testValid1(self): cStream = antlr3.StringStream('int a;') @@ -28,6 +29,3 @@ def testValid1(self): if __name__ == '__main__': unittest.main() - - - diff --git a/runtime/Python/tests/t044trace.py b/runtime/Python/tests/t044trace.py index 5b1ea796..13c9b761 100644 --- a/runtime/Python/tests/t044trace.py +++ b/runtime/Python/tests/t044trace.py @@ -6,7 +6,7 @@ class T(testbase.ANTLRTest): def setUp(self): self.compileGrammar(options='-trace') - + def lexerClass(self, base): class TLexer(base): @@ -29,8 +29,8 @@ def recover(self, input, re): raise return TLexer - - + + def parserClass(self, base): class TParser(base): def __init__(self, *args, **kwargs): @@ -53,10 +53,10 @@ def recover(self, input, re): def getRuleInvocationStack(self): return self._getRuleInvocationStack(base.__module__) - + return TParser - - + + def testTrace(self): cStream = antlr3.StringStream('< 1 + 2 + 3 >') lexer = self.getLexer(cStream) @@ -66,10 +66,10 @@ def testTrace(self): self.failUnlessEqual( lexer.traces, - [ '>T__6', 'WS', 'INT', 'WS', 'T__8', 'WS', 'INT', 'WS', 'T__8', 'WS', 'INT', 'WS', 'T__7', 'T__7', 'WS', 'INT', 'WS', 'T__6', 'WS', 'INT', 'WS', 'T__6', 'WS', 'INT', 'WS', 'T__8', 'a', '>synpred1_t044trace_fragment', 'b', '>c', 'c', 'c', '') lexer = self.getLexer(cStream) @@ -90,7 +90,6 @@ def testInvokationStack(self): parser._stack, ['a', 'b', 'c'] ) - + if __name__ == '__main__': unittest.main() - diff --git a/runtime/Python/tests/t048rewrite.py b/runtime/Python/tests/t048rewrite.py index 276591bb..685bf863 100644 --- a/runtime/Python/tests/t048rewrite.py +++ b/runtime/Python/tests/t048rewrite.py @@ -16,15 +16,15 @@ def _parse(self, input): cStream = antlr3.StringStream(input) lexer = self.getLexer(cStream) tStream = antlr3.TokenRewriteStream(lexer) - tStream.LT(1) # fill buffer + tStream.fillBuffer() return tStream - + def testInsertBeforeIndex0(self): tokens = self._parse("abc") tokens.insertBefore(0, "0") - + result = tokens.toString() expecting = "0abc" self.failUnlessEqual(result, expecting) @@ -33,7 +33,7 @@ def testInsertBeforeIndex0(self): def testInsertAfterLastIndex(self): tokens = self._parse("abc") tokens.insertAfter(2, "x") - + result = tokens.toString() expecting = "abcx" self.failUnlessEqual(result, expecting) @@ -43,7 +43,7 @@ def test2InsertBeforeAfterMiddleIndex(self): tokens = self._parse("abc") tokens.insertBefore(1, "x") tokens.insertAfter(1, "x") - + result = tokens.toString() expecting = "axbxc" self.failUnlessEqual(result, expecting) @@ -91,7 +91,7 @@ def test2ReplaceMiddleIndex1InsertBefore(self): tokens.insertBefore(0, "_") tokens.replace(1, "x") tokens.replace(1, "y") - + result = tokens.toString() expecting = "_ayc" self.failUnlessEqual(expecting, result) @@ -127,7 +127,7 @@ def testInsertThenReplaceSameIndex(self): tokens.replace(0, "x") # supercedes insert at 0 result = tokens.toString() - expecting = "xbc" + expecting = "0xbc" self.failUnlessEqual(result, expecting) @@ -148,7 +148,7 @@ def test2InsertThenReplaceIndex0(self): tokens.replace(0, "z") result = tokens.toString() - expecting = "zbc" + expecting = "yxzbc" self.failUnlessEqual(result, expecting) @@ -168,7 +168,7 @@ def testInsertThenReplaceLastIndex(self): tokens.replace(2, "x") result = tokens.toString() - expecting = "abx" + expecting = "abyx" self.failUnlessEqual(result, expecting) @@ -176,7 +176,7 @@ def testReplaceThenInsertAfterLastIndex(self): tokens = self._parse("abc") tokens.replace(2, "x") tokens.insertAfter(2, "y") - + result = tokens.toString() expecting = "abxy" self.failUnlessEqual(result, expecting) @@ -269,7 +269,7 @@ def testReplaceSingleMiddleThenOverlappingSuperset(self): tokens = self._parse("abcba") tokens.replace(2, 2, "xyz") tokens.replace(0, 3, "foo") - + result = tokens.toString() expecting = "fooa" self.failUnlessEqual(result, expecting) @@ -374,11 +374,11 @@ def testDropIdenticalReplace(self): def testDropPrevCoveredInsert(self): - tokens = self._parse("abcc") + tokens = self._parse("abc") tokens.insertBefore(1, "foo") tokens.replace(1, 2, "foo") # kill prev insert result = tokens.toString() - expecting = "afooc" + expecting = "afoofoo" self.failUnlessEqual(expecting, result) @@ -400,6 +400,15 @@ def testLeaveAloneDisjointInsert2(self): self.failUnlessEqual(expecting, result) + def testInsertBeforeTokenThenDeleteThatToken(self): + tokens = self._parse("abc") + tokens.insertBefore(2, "y") + tokens.delete(2) + result = tokens.toString() + expecting = "aby" + self.failUnlessEqual(expecting, result) + + class T2(testbase.ANTLRTest): def setUp(self): self.compileGrammar('t048rewrite2.g') @@ -409,11 +418,11 @@ def _parse(self, input): cStream = antlr3.StringStream(input) lexer = self.getLexer(cStream) tStream = antlr3.TokenRewriteStream(lexer) - tStream.LT(1) # fill buffer + tStream.fillBuffer() return tStream - + def testToStringStartStop(self): # Tokens: 0123456789 # Input: x = 3 * 0 @@ -468,7 +477,7 @@ def testToStringStartStop2(self): self.failUnlessEqual(expecting, result) tokens.insertAfter(17, "// comment") - result = tokens.toString(12, 17) + result = tokens.toString(12, 18) expecting = "2 * 0;// comment" self.failUnlessEqual(expecting, result) @@ -479,4 +488,3 @@ def testToStringStartStop2(self): if __name__ == '__main__': unittest.main() - diff --git a/runtime/Python/tests/t051treeRewriteAST.py b/runtime/Python/tests/t051treeRewriteAST.py index b27c4f5d..39253b4a 100644 --- a/runtime/Python/tests/t051treeRewriteAST.py +++ b/runtime/Python/tests/t051treeRewriteAST.py @@ -22,9 +22,9 @@ def traceOut(self, ruleName, ruleIndex): def recover(self, input, re): # no error recovery yet, just crash! raise - + return TWalker - + def execTreeParser(self, grammar, grammarEntry, treeGrammar, treeEntry, input): lexerCls, parserCls = self.compileInlineGrammar(grammar) @@ -44,7 +44,7 @@ def execTreeParser(self, grammar, grammarEntry, treeGrammar, treeEntry, input): return r.tree.toStringTree() return "" - + def testFlatList(self): grammar = textwrap.dedent( @@ -59,7 +59,7 @@ def testFlatList(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP1; @@ -69,7 +69,7 @@ def testFlatList(self): ASTLabelType=CommonTree; tokenVocab=T1; } - + a : ID INT -> INT ID; ''') @@ -95,7 +95,7 @@ def testSimpleTree(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP2; @@ -130,7 +130,7 @@ def testCombinedRewriteAndAuto(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP3; @@ -174,7 +174,7 @@ def testAvoidDup(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP4; @@ -209,7 +209,7 @@ def testLoop(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP5; @@ -244,7 +244,7 @@ def testAutoDup(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP6; @@ -279,7 +279,7 @@ def testAutoDupRule(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP7; @@ -318,7 +318,7 @@ def testAutoWildcard(self): r''' tree grammar TP; options {language=Python;output=AST; ASTLabelType=CommonTree; tokenVocab=T;} - a : ID . + a : ID . ; ''') @@ -332,29 +332,29 @@ def testAutoWildcard(self): # def testNoWildcardAsRootError(self): # ErrorQueue equeue = new ErrorQueue(); # ErrorManager.setErrorListener(equeue); -# > +# > # String treeGrammar = # "tree grammar TP;\n"+ # "options {language=Python;output=AST;} -# "a : ^(. INT) +# "a : ^(. INT) # " ;\n"; -# > +# > # Grammar g = new Grammar(treeGrammar); # Tool antlr = newTool(); # antlr.setOutputDirectory(null); // write to /dev/null # CodeGenerator generator = new CodeGenerator(antlr, g, "Java"); # g.setCodeGenerator(generator); # generator.genRecognizer(); -# > +# > # assertEquals("unexpected errors: "+equeue, 1, equeue.errors.size()); -# > +# > # int expectedMsgID = ErrorManager.MSG_WILDCARD_AS_ROOT; # Object expectedArg = null; # antlr.RecognitionException expectedExc = null; # GrammarSyntaxMessage expectedMessage = # new GrammarSyntaxMessage(expectedMsgID, g, null, expectedArg, expectedExc); -# > -# checkError(equeue, expectedMessage); +# > +# checkError(equeue, expectedMessage); # } def testAutoWildcard2(self): @@ -372,7 +372,7 @@ def testAutoWildcard2(self): r''' tree grammar TP; options {language=Python;output=AST; ASTLabelType=CommonTree; tokenVocab=T;} - a : ^(ID .) + a : ^(ID .) ; ''') @@ -393,12 +393,12 @@ def testAutoWildcardWithLabel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP; options {language=Python;output=AST; ASTLabelType=CommonTree; tokenVocab=T;} - a : ID c=. + a : ID c=. ; ''') @@ -424,7 +424,7 @@ def testAutoWildcardWithListLabel(self): r''' tree grammar TP; options {language=Python;output=AST; ASTLabelType=CommonTree; tokenVocab=T;} - a : ID c+=. + a : ID c+=. ; ''') @@ -448,7 +448,7 @@ def testAutoDupMultiple(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP8; @@ -484,7 +484,7 @@ def testAutoDupTree(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP9; @@ -520,7 +520,7 @@ def testAutoDupTreeWithLabels(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP10; @@ -556,7 +556,7 @@ def testAutoDupTreeWithListLabels(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP11; @@ -592,7 +592,7 @@ def testAutoDupTreeWithRuleRoot(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP12; @@ -628,7 +628,7 @@ def testAutoDupTreeWithRuleRootAndLabels(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP13; @@ -664,7 +664,7 @@ def testAutoDupTreeWithRuleRootAndListLabels(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP14; @@ -701,7 +701,7 @@ def testAutoDupNestedTree(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP15; @@ -737,7 +737,7 @@ def testDelete(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP16; @@ -747,7 +747,7 @@ def testDelete(self): ASTLabelType=CommonTree; tokenVocab=T16; } - a : ID -> + a : ID -> ; ''') @@ -785,7 +785,7 @@ def testSetMatchNoRewrite(self): a : b INT; b : ID | INT; ''') - + found = self.execTreeParser( grammar, 'a', treeGrammar, 'a', @@ -794,7 +794,7 @@ def testSetMatchNoRewrite(self): self.failUnlessEqual("abc 34", found) - + def testSetOptionalMatchNoRewrite(self): grammar = textwrap.dedent( r''' @@ -825,7 +825,7 @@ def testSetOptionalMatchNoRewrite(self): grammar, 'a', treeGrammar, 'a', "abc 34") - + self.failUnlessEqual("abc 34", found) @@ -854,7 +854,7 @@ def testSetMatchNoRewriteLevel2(self): } a : ^(ID (ID | INT) ) ; ''') - + found = self.execTreeParser( grammar, 'a', treeGrammar, 'a', @@ -889,7 +889,7 @@ def testSetMatchNoRewriteLevel2Root(self): } a : ^((ID | INT) INT) ; ''') - + found = self.execTreeParser( grammar, 'a', treeGrammar, 'a', @@ -914,7 +914,7 @@ def testRewriteModeCombinedRewriteAndAuto(self): INT : '0'..'9'+; WS : (' '|'\\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP17; @@ -961,7 +961,7 @@ def testRewriteModeFlatTree(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP18; @@ -976,7 +976,7 @@ def testRewriteModeFlatTree(self): a : INT -> INT["1"] ; ''') - + found = self.execTreeParser( grammar, 'a', treeGrammar, 's', @@ -1167,7 +1167,7 @@ def testRewriteOfRuleRef(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; """) - + treeGrammar = textwrap.dedent( r""" tree grammar TP; @@ -1553,5 +1553,41 @@ def testWildcardListLabel2(self): self.assertEquals("(2 3) (2 3)", found) + def testRuleResultAsRoot(self): + grammar = textwrap.dedent( + r''' + grammar T; + options { + language=Python; + output=AST; + } + a : ID '=' INT -> ^('=' ID INT); + ID : 'a'..'z'+ ; + INT : '0'..'9'+; + COLON : ':' ; + WS : (' '|'\n') {$channel=HIDDEN;} ; + ''') + + treeGrammar = textwrap.dedent( + r''' + tree grammar TP; + options { + language=Python; + output=AST; + rewrite=true; + ASTLabelType=CommonTree; + tokenVocab=T; + } + a : ^(eq e1=ID e2=.) -> ^(eq $e2 $e1) ; + eq : '=' | ':' {pass} ; // bug in set match, doesn't add to tree!! booh. force nonset. + ''') + + found = self.execTreeParser( + grammar, 'a', + treeGrammar, 'a', + "abc = 34") + self.assertEquals("(= 34 abc)", found) + + if __name__ == '__main__': unittest.main() diff --git a/runtime/Python/tests/t052import.py b/runtime/Python/tests/t052import.py index 7d7a183f..89244621 100644 --- a/runtime/Python/tests/t052import.py +++ b/runtime/Python/tests/t052import.py @@ -38,9 +38,9 @@ def traceOut(self, ruleName, ruleIndex): def recover(self, input, re): # no error recovery yet, just crash! raise - + return TParser - + def lexerClass(self, base): class TLexer(base): @@ -65,9 +65,9 @@ def traceOut(self, ruleName, ruleIndex): def recover(self, input): # no error recovery yet, just crash! raise - + return TLexer - + def execParser(self, grammar, grammarEntry, slaves, input): for slave in slaves: @@ -78,7 +78,7 @@ def execParser(self, grammar, grammarEntry, slaves, input): del sys.modules[parserName+'Parser'] except KeyError: pass - + lexerCls, parserCls = self.compileInlineGrammar(grammar) cStream = antlr3.StringStream(input) @@ -88,7 +88,7 @@ def execParser(self, grammar, grammarEntry, slaves, input): getattr(parser, grammarEntry)() return parser._output - + def execLexer(self, grammar, slaves, input): for slave in slaves: @@ -99,7 +99,7 @@ def execLexer(self, grammar, slaves, input): del sys.modules[parserName+'Parser'] except KeyError: pass - + lexerCls = self.compileInlineGrammar(grammar) cStream = antlr3.StringStream(input) @@ -111,9 +111,20 @@ def execLexer(self, grammar, slaves, input): break lexer._output += token.text - + return lexer._output - + + + # @Test public void testWildcardStillWorks() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String grammar = + # "parser grammar S;\n" + + # "a : B . C ;\n"; // not qualified ID + # Grammar g = new Grammar(grammar); + # assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size()); + # } + def testDelegatorInvokesDelegateRule(self): slave = textwrap.dedent( @@ -127,7 +138,7 @@ def capture(self, t): self.gM1.capture(t) } - + a : B { self.capture("S.a") } ; ''') @@ -152,6 +163,27 @@ def capture(self, t): self.failUnlessEqual("S.a", found) + # @Test public void testDelegatorInvokesDelegateRuleWithReturnStruct() throws Exception { + # // must generate something like: + # // public int a(int x) throws RecognitionException { return gS.a(x); } + # // in M. + # String slave = + # "parser grammar S;\n" + + # "a : B {System.out.print(\"S.a\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + # String master = + # "grammar M;\n" + + # "import S;\n" + + # "s : a {System.out.println($a.text);} ;\n" + + # "B : 'b' ;" + // defines B from inherited token space + # "WS : (' '|'\\n') {skip();} ;\n" ; + # String found = execParser("M.g", master, "MParser", "MLexer", + # "s", "b", debug); + # assertEquals("S.ab\n", found); + # } + + def testDelegatorInvokesDelegateRuleWithArgs(self): slave = textwrap.dedent( r''' @@ -325,6 +357,319 @@ def capture(self, t): self.failUnlessEqual("S.x T.y", found) + # @Test public void testDelegatesSeeSameTokenType2() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "parser grammar S;\n" + // A, B, C token type order + # "tokens { A; B; C; }\n" + + # "x : A {System.out.println(\"S.x\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + # String slave2 = + # "parser grammar T;\n" + + # "tokens { C; B; A; }\n" + // reverse order + # "y : A {System.out.println(\"T.y\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "T.g", slave2); + + # String master = + # "grammar M;\n" + + # "import S,T;\n" + + # "s : x y ;\n" + // matches AA, which should be "aa" + # "B : 'b' ;\n" + // another order: B, A, C + # "A : 'a' ;\n" + + # "C : 'c' ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # writeFile(tmpdir, "M.g", master); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + + # String expectedTokenIDToTypeMap = "[A=4, B=5, C=6, WS=7]"; + # String expectedStringLiteralToTypeMap = "{}"; + # String expectedTypeToTokenList = "[A, B, C, WS]"; + + # assertEquals(expectedTokenIDToTypeMap, + # realElements(g.composite.tokenIDToTypeMap).toString()); + # assertEquals(expectedStringLiteralToTypeMap, g.composite.stringLiteralToTypeMap.toString()); + # assertEquals(expectedTypeToTokenList, + # realElements(g.composite.typeToTokenList).toString()); + + # assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size()); + # } + + # @Test public void testCombinedImportsCombined() throws Exception { + # // for now, we don't allow combined to import combined + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "grammar S;\n" + // A, B, C token type order + # "tokens { A; B; C; }\n" + + # "x : 'x' INT {System.out.println(\"S.x\");} ;\n" + + # "INT : '0'..'9'+ ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + + # String master = + # "grammar M;\n" + + # "import S;\n" + + # "s : x INT ;\n"; + # writeFile(tmpdir, "M.g", master); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + + # assertEquals("unexpected errors: "+equeue, 1, equeue.errors.size()); + # String expectedError = "error(161): "+tmpdir.toString().replaceFirst("\\-[0-9]+","")+"/M.g:2:8: combined grammar M cannot import combined grammar S"; + # assertEquals("unexpected errors: "+equeue, expectedError, equeue.errors.get(0).toString().replaceFirst("\\-[0-9]+","")); + # } + + # @Test public void testSameStringTwoNames() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "parser grammar S;\n" + + # "tokens { A='a'; }\n" + + # "x : A {System.out.println(\"S.x\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + # String slave2 = + # "parser grammar T;\n" + + # "tokens { X='a'; }\n" + + # "y : X {System.out.println(\"T.y\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "T.g", slave2); + + # String master = + # "grammar M;\n" + + # "import S,T;\n" + + # "s : x y ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # writeFile(tmpdir, "M.g", master); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + + # String expectedTokenIDToTypeMap = "[A=4, WS=6, X=5]"; + # String expectedStringLiteralToTypeMap = "{'a'=4}"; + # String expectedTypeToTokenList = "[A, X, WS]"; + + # assertEquals(expectedTokenIDToTypeMap, + # realElements(g.composite.tokenIDToTypeMap).toString()); + # assertEquals(expectedStringLiteralToTypeMap, g.composite.stringLiteralToTypeMap.toString()); + # assertEquals(expectedTypeToTokenList, + # realElements(g.composite.typeToTokenList).toString()); + + # Object expectedArg = "X='a'"; + # Object expectedArg2 = "A"; + # int expectedMsgID = ErrorManager.MSG_TOKEN_ALIAS_CONFLICT; + # GrammarSemanticsMessage expectedMessage = + # new GrammarSemanticsMessage(expectedMsgID, g, null, expectedArg, expectedArg2); + # checkGrammarSemanticsError(equeue, expectedMessage); + + # assertEquals("unexpected errors: "+equeue, 1, equeue.errors.size()); + + # String expectedError = + # "error(158): T.g:2:10: cannot alias X='a'; string already assigned to A"; + # assertEquals(expectedError, equeue.errors.get(0).toString()); + # } + + # @Test public void testSameNameTwoStrings() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "parser grammar S;\n" + + # "tokens { A='a'; }\n" + + # "x : A {System.out.println(\"S.x\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + # String slave2 = + # "parser grammar T;\n" + + # "tokens { A='x'; }\n" + + # "y : A {System.out.println(\"T.y\");} ;\n"; + + # writeFile(tmpdir, "T.g", slave2); + + # String master = + # "grammar M;\n" + + # "import S,T;\n" + + # "s : x y ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # writeFile(tmpdir, "M.g", master); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + + # String expectedTokenIDToTypeMap = "[A=4, T__6=6, WS=5]"; + # String expectedStringLiteralToTypeMap = "{'a'=4, 'x'=6}"; + # String expectedTypeToTokenList = "[A, WS, T__6]"; + + # assertEquals(expectedTokenIDToTypeMap, + # realElements(g.composite.tokenIDToTypeMap).toString()); + # assertEquals(expectedStringLiteralToTypeMap, sortMapToString(g.composite.stringLiteralToTypeMap)); + # assertEquals(expectedTypeToTokenList, + # realElements(g.composite.typeToTokenList).toString()); + + # Object expectedArg = "A='x'"; + # Object expectedArg2 = "'a'"; + # int expectedMsgID = ErrorManager.MSG_TOKEN_ALIAS_REASSIGNMENT; + # GrammarSemanticsMessage expectedMessage = + # new GrammarSemanticsMessage(expectedMsgID, g, null, expectedArg, expectedArg2); + # checkGrammarSemanticsError(equeue, expectedMessage); + + # assertEquals("unexpected errors: "+equeue, 1, equeue.errors.size()); + + # String expectedError = + # "error(159): T.g:2:10: cannot alias A='x'; token name already assigned to 'a'"; + # assertEquals(expectedError, equeue.errors.get(0).toString()); + # } + + # @Test public void testImportedTokenVocabIgnoredWithWarning() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "parser grammar S;\n" + + # "options {tokenVocab=whatever;}\n" + + # "tokens { A='a'; }\n" + + # "x : A {System.out.println(\"S.x\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + + # String master = + # "grammar M;\n" + + # "import S;\n" + + # "s : x ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # writeFile(tmpdir, "M.g", master); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + + # Object expectedArg = "S"; + # int expectedMsgID = ErrorManager.MSG_TOKEN_VOCAB_IN_DELEGATE; + # GrammarSemanticsMessage expectedMessage = + # new GrammarSemanticsMessage(expectedMsgID, g, null, expectedArg); + # checkGrammarSemanticsWarning(equeue, expectedMessage); + + # assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size()); + # assertEquals("unexpected errors: "+equeue, 1, equeue.warnings.size()); + + # String expectedError = + # "warning(160): S.g:2:10: tokenVocab option ignored in imported grammar S"; + # assertEquals(expectedError, equeue.warnings.get(0).toString()); + # } + + # @Test public void testImportedTokenVocabWorksInRoot() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "parser grammar S;\n" + + # "tokens { A='a'; }\n" + + # "x : A {System.out.println(\"S.x\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + + # String tokens = + # "A=99\n"; + # writeFile(tmpdir, "Test.tokens", tokens); + + # String master = + # "grammar M;\n" + + # "options {tokenVocab=Test;}\n" + + # "import S;\n" + + # "s : x ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # writeFile(tmpdir, "M.g", master); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + + # String expectedTokenIDToTypeMap = "[A=99, WS=101]"; + # String expectedStringLiteralToTypeMap = "{'a'=100}"; + # String expectedTypeToTokenList = "[A, 'a', WS]"; + + # assertEquals(expectedTokenIDToTypeMap, + # realElements(g.composite.tokenIDToTypeMap).toString()); + # assertEquals(expectedStringLiteralToTypeMap, g.composite.stringLiteralToTypeMap.toString()); + # assertEquals(expectedTypeToTokenList, + # realElements(g.composite.typeToTokenList).toString()); + + # assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size()); + # } + + # @Test public void testSyntaxErrorsInImportsNotThrownOut() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "parser grammar S;\n" + + # "options {toke\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + + # String master = + # "grammar M;\n" + + # "import S;\n" + + # "s : x ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # writeFile(tmpdir, "M.g", master); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + + # // whole bunch of errors from bad S.g file + # assertEquals("unexpected errors: "+equeue, 5, equeue.errors.size()); + # } + + # @Test public void testSyntaxErrorsInImportsNotThrownOut2() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "parser grammar S;\n" + + # ": A {System.out.println(\"S.x\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + + # String master = + # "grammar M;\n" + + # "import S;\n" + + # "s : x ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # writeFile(tmpdir, "M.g", master); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + + # // whole bunch of errors from bad S.g file + # assertEquals("unexpected errors: "+equeue, 3, equeue.errors.size()); + # } + + def testDelegatorRuleOverridesDelegate(self): slave = textwrap.dedent( r''' @@ -360,6 +705,56 @@ def capture(self, t): self.failUnlessEqual("S.a", found) + # @Test public void testDelegatorRuleOverridesLookaheadInDelegate() throws Exception { + # String slave = + # "parser grammar JavaDecl;\n" + + # "type : 'int' ;\n" + + # "decl : type ID ';'\n" + + # " | type ID init ';' {System.out.println(\"JavaDecl: \"+$decl.text);}\n" + + # " ;\n" + + # "init : '=' INT ;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "JavaDecl.g", slave); + # String master = + # "grammar Java;\n" + + # "import JavaDecl;\n" + + # "prog : decl ;\n" + + # "type : 'int' | 'float' ;\n" + + # "\n" + + # "ID : 'a'..'z'+ ;\n" + + # "INT : '0'..'9'+ ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # // for float to work in decl, type must be overridden + # String found = execParser("Java.g", master, "JavaParser", "JavaLexer", + # "prog", "float x = 3;", debug); + # assertEquals("JavaDecl: floatx=3;\n", found); + # } + + # @Test public void testDelegatorRuleOverridesDelegates() throws Exception { + # String slave = + # "parser grammar S;\n" + + # "a : b {System.out.println(\"S.a\");} ;\n" + + # "b : B ;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + + # String slave2 = + # "parser grammar T;\n" + + # "tokens { A='x'; }\n" + + # "b : B {System.out.println(\"T.b\");} ;\n"; + # writeFile(tmpdir, "T.g", slave2); + + # String master = + # "grammar M;\n" + + # "import S, T;\n" + + # "b : 'b'|'c' {System.out.println(\"M.b\");}|B|A ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # String found = execParser("M.g", master, "MParser", "MLexer", + # "a", "c", debug); + # assertEquals("M.b\n" + + # "S.a\n", found); + # } + # LEXER INHERITANCE def testLexerDelegatorInvokesDelegateRule(self): @@ -430,6 +825,379 @@ def capture(self, t): self.failUnlessEqual("M.A a", found) - + # @Test public void testLexerDelegatorRuleOverridesDelegateLeavingNoRules() throws Exception { + # // M.Tokens has nothing to predict tokens from S. Should + # // not include S.Tokens alt in this case? + # String slave = + # "lexer grammar S;\n" + + # "A : 'a' {System.out.println(\"S.A\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + # String master = + # "lexer grammar M;\n" + + # "import S;\n" + + # "A : 'a' {System.out.println(\"M.A\");} ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # writeFile(tmpdir, "/M.g", master); + + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # composite.assignTokenTypes(); + # composite.defineGrammarSymbols(); + # composite.createNFAs(); + # g.createLookaheadDFAs(false); + + # // predict only alts from M not S + # String expectingDFA = + # ".s0-'a'->.s1\n" + + # ".s0-{'\\n', ' '}->:s3=>2\n" + + # ".s1-->:s2=>1\n"; + # org.antlr.analysis.DFA dfa = g.getLookaheadDFA(1); + # FASerializer serializer = new FASerializer(g); + # String result = serializer.serialize(dfa.startState); + # assertEquals(expectingDFA, result); + + # // must not be a "unreachable alt: Tokens" error + # assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size()); + # } + + # @Test public void testInvalidImportMechanism() throws Exception { + # // M.Tokens has nothing to predict tokens from S. Should + # // not include S.Tokens alt in this case? + # String slave = + # "lexer grammar S;\n" + + # "A : 'a' {System.out.println(\"S.A\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + # String master = + # "tree grammar M;\n" + + # "import S;\n" + + # "a : A ;"; + # writeFile(tmpdir, "/M.g", master); + + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + + # assertEquals("unexpected errors: "+equeue, 1, equeue.errors.size()); + # assertEquals("unexpected errors: "+equeue, 0, equeue.warnings.size()); + + # String expectedError = + # "error(161): "+tmpdir.toString().replaceFirst("\\-[0-9]+","")+"/M.g:2:8: tree grammar M cannot import lexer grammar S"; + # assertEquals(expectedError, equeue.errors.get(0).toString().replaceFirst("\\-[0-9]+","")); + # } + + # @Test public void testSyntacticPredicateRulesAreNotInherited() throws Exception { + # // if this compiles, it means that synpred1_S is defined in S.java + # // but not MParser.java. MParser has its own synpred1_M which must + # // be separate to compile. + # String slave = + # "parser grammar S;\n" + + # "a : 'a' {System.out.println(\"S.a1\");}\n" + + # " | 'a' {System.out.println(\"S.a2\");}\n" + + # " ;\n" + + # "b : 'x' | 'y' {;} ;\n"; // preds generated but not need in DFA here + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + # String master = + # "grammar M;\n" + + # "options {backtrack=true;}\n" + + # "import S;\n" + + # "start : a b ;\n" + + # "nonsense : 'q' | 'q' {;} ;" + // forces def of preds here in M + # "WS : (' '|'\\n') {skip();} ;\n" ; + # String found = execParser("M.g", master, "MParser", "MLexer", + # "start", "ax", debug); + # assertEquals("S.a1\n", found); + # } + + # @Test public void testKeywordVSIDGivesNoWarning() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "lexer grammar S;\n" + + # "A : 'abc' {System.out.println(\"S.A\");} ;\n" + + # "ID : 'a'..'z'+ ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + # String master = + # "grammar M;\n" + + # "import S;\n" + + # "a : A {System.out.println(\"M.a\");} ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # String found = execParser("M.g", master, "MParser", "MLexer", + # "a", "abc", debug); + + # assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size()); + # assertEquals("unexpected warnings: "+equeue, 0, equeue.warnings.size()); + + # assertEquals("S.A\nM.a\n", found); + # } + + # @Test public void testWarningForUndefinedToken() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "lexer grammar S;\n" + + # "A : 'abc' {System.out.println(\"S.A\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + # String master = + # "grammar M;\n" + + # "import S;\n" + + # "a : ABC A {System.out.println(\"M.a\");} ;\n" + + # "WS : (' '|'\\n') {skip();} ;\n" ; + # // A is defined in S but M should still see it and not give warning. + # // only problem is ABC. + + # rawGenerateAndBuildRecognizer("M.g", master, "MParser", "MLexer", debug); + + # assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size()); + # assertEquals("unexpected warnings: "+equeue, 1, equeue.warnings.size()); + + # String expectedError = + # "warning(105): "+tmpdir.toString().replaceFirst("\\-[0-9]+","")+"/M.g:3:5: no lexer rule corresponding to token: ABC"; + # assertEquals(expectedError, equeue.warnings.get(0).toString().replaceFirst("\\-[0-9]+","")); + # } + + # /** Make sure that M can import S that imports T. */ + # @Test public void test3LevelImport() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "parser grammar T;\n" + + # "a : T ;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "T.g", slave); + # String slave2 = + # "parser grammar S;\n" + // A, B, C token type order + # "import T;\n" + + # "a : S ;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave2); + + # String master = + # "grammar M;\n" + + # "import S;\n" + + # "a : M ;\n" ; + # writeFile(tmpdir, "M.g", master); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + # g.composite.defineGrammarSymbols(); + + # String expectedTokenIDToTypeMap = "[M=6, S=5, T=4]"; + # String expectedStringLiteralToTypeMap = "{}"; + # String expectedTypeToTokenList = "[T, S, M]"; + + # assertEquals(expectedTokenIDToTypeMap, + # realElements(g.composite.tokenIDToTypeMap).toString()); + # assertEquals(expectedStringLiteralToTypeMap, g.composite.stringLiteralToTypeMap.toString()); + # assertEquals(expectedTypeToTokenList, + # realElements(g.composite.typeToTokenList).toString()); + + # assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size()); + + # boolean ok = + # rawGenerateAndBuildRecognizer("M.g", master, "MParser", null, false); + # boolean expecting = true; // should be ok + # assertEquals(expecting, ok); + # } + + # @Test public void testBigTreeOfImports() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "parser grammar T;\n" + + # "x : T ;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "T.g", slave); + # slave = + # "parser grammar S;\n" + + # "import T;\n" + + # "y : S ;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + + # slave = + # "parser grammar C;\n" + + # "i : C ;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "C.g", slave); + # slave = + # "parser grammar B;\n" + + # "j : B ;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "B.g", slave); + # slave = + # "parser grammar A;\n" + + # "import B,C;\n" + + # "k : A ;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "A.g", slave); + + # String master = + # "grammar M;\n" + + # "import S,A;\n" + + # "a : M ;\n" ; + # writeFile(tmpdir, "M.g", master); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + # g.composite.defineGrammarSymbols(); + + # String expectedTokenIDToTypeMap = "[A=8, B=6, C=7, M=9, S=5, T=4]"; + # String expectedStringLiteralToTypeMap = "{}"; + # String expectedTypeToTokenList = "[T, S, B, C, A, M]"; + + # assertEquals(expectedTokenIDToTypeMap, + # realElements(g.composite.tokenIDToTypeMap).toString()); + # assertEquals(expectedStringLiteralToTypeMap, g.composite.stringLiteralToTypeMap.toString()); + # assertEquals(expectedTypeToTokenList, + # realElements(g.composite.typeToTokenList).toString()); + + # assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size()); + + # boolean ok = + # rawGenerateAndBuildRecognizer("M.g", master, "MParser", null, false); + # boolean expecting = true; // should be ok + # assertEquals(expecting, ok); + # } + + # @Test public void testRulesVisibleThroughMultilevelImport() throws Exception { + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String slave = + # "parser grammar T;\n" + + # "x : T ;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "T.g", slave); + # String slave2 = + # "parser grammar S;\n" + // A, B, C token type order + # "import T;\n" + + # "a : S ;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave2); + + # String master = + # "grammar M;\n" + + # "import S;\n" + + # "a : M x ;\n" ; // x MUST BE VISIBLE TO M + # writeFile(tmpdir, "M.g", master); + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/M.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + # g.composite.defineGrammarSymbols(); + + # String expectedTokenIDToTypeMap = "[M=6, S=5, T=4]"; + # String expectedStringLiteralToTypeMap = "{}"; + # String expectedTypeToTokenList = "[T, S, M]"; + + # assertEquals(expectedTokenIDToTypeMap, + # realElements(g.composite.tokenIDToTypeMap).toString()); + # assertEquals(expectedStringLiteralToTypeMap, g.composite.stringLiteralToTypeMap.toString()); + # assertEquals(expectedTypeToTokenList, + # realElements(g.composite.typeToTokenList).toString()); + + # assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size()); + # } + + # @Test public void testNestedComposite() throws Exception { + # // Wasn't compiling. http://www.antlr.org/jira/browse/ANTLR-438 + # ErrorQueue equeue = new ErrorQueue(); + # ErrorManager.setErrorListener(equeue); + # String gstr = + # "lexer grammar L;\n" + + # "T1: '1';\n" + + # "T2: '2';\n" + + # "T3: '3';\n" + + # "T4: '4';\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "L.g", gstr); + # gstr = + # "parser grammar G1;\n" + + # "s: a | b;\n" + + # "a: T1;\n" + + # "b: T2;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "G1.g", gstr); + + # gstr = + # "parser grammar G2;\n" + + # "import G1;\n" + + # "a: T3;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "G2.g", gstr); + # String G3str = + # "grammar G3;\n" + + # "import G2;\n" + + # "b: T4;\n" ; + # mkdir(tmpdir); + # writeFile(tmpdir, "G3.g", G3str); + + # Tool antlr = newTool(new String[] {"-lib", tmpdir}); + # CompositeGrammar composite = new CompositeGrammar(); + # Grammar g = new Grammar(antlr,tmpdir+"/G3.g",composite); + # composite.setDelegationRoot(g); + # g.parseAndBuildAST(); + # g.composite.assignTokenTypes(); + # g.composite.defineGrammarSymbols(); + + # String expectedTokenIDToTypeMap = "[T1=4, T2=5, T3=6, T4=7]"; + # String expectedStringLiteralToTypeMap = "{}"; + # String expectedTypeToTokenList = "[T1, T2, T3, T4]"; + + # assertEquals(expectedTokenIDToTypeMap, + # realElements(g.composite.tokenIDToTypeMap).toString()); + # assertEquals(expectedStringLiteralToTypeMap, g.composite.stringLiteralToTypeMap.toString()); + # assertEquals(expectedTypeToTokenList, + # realElements(g.composite.typeToTokenList).toString()); + + # assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size()); + + # boolean ok = + # rawGenerateAndBuildRecognizer("G3.g", G3str, "G3Parser", null, false); + # boolean expecting = true; // should be ok + # assertEquals(expecting, ok); + # } + + # @Test public void testHeadersPropogatedCorrectlyToImportedGrammars() throws Exception { + # String slave = + # "parser grammar S;\n" + + # "a : B {System.out.print(\"S.a\");} ;\n"; + # mkdir(tmpdir); + # writeFile(tmpdir, "S.g", slave); + # String master = + # "grammar M;\n" + + # "import S;\n" + + # "@header{package mypackage;}\n" + + # "@lexer::header{package mypackage;}\n" + + # "s : a ;\n" + + # "B : 'b' ;" + // defines B from inherited token space + # "WS : (' '|'\\n') {skip();} ;\n" ; + # boolean ok = antlr("M.g", "M.g", master, debug); + # boolean expecting = true; // should be ok + # assertEquals(expecting, ok); + # } + + if __name__ == '__main__': unittest.main() diff --git a/runtime/Python/tests/t053hetero.py b/runtime/Python/tests/t053hetero.py index a8b6fca4..db3e9dbe 100644 --- a/runtime/Python/tests/t053hetero.py +++ b/runtime/Python/tests/t053hetero.py @@ -29,9 +29,9 @@ def traceOut(self, ruleName, ruleIndex): def recover(self, input, re): # no error recovery yet, just crash! raise - + return TParser - + def lexerClass(self, base): class TLexer(base): @@ -56,9 +56,9 @@ def traceOut(self, ruleName, ruleIndex): def recover(self, input, re): # no error recovery yet, just crash! raise - + return TLexer - + def execParser(self, grammar, grammarEntry, input): lexerCls, parserCls = self.compileInlineGrammar(grammar) @@ -73,7 +73,7 @@ def execParser(self, grammar, grammarEntry, input): return r.tree.toStringTree() return "" - + def execTreeParser(self, grammar, grammarEntry, treeGrammar, treeEntry, input): lexerCls, parserCls = self.compileInlineGrammar(grammar) @@ -125,6 +125,26 @@ def toString(self): self.failUnlessEqual("a", found) + def testTokenCommonTree(self): + grammar = textwrap.dedent( + r''' + grammar T; + options { + language=Python; + output=AST; + } + a : ID ; + ID : 'a'..'z'+ ; + WS : (' '|'\n') {$channel=HIDDEN;} ; + ''') + + found = self.execParser( + grammar, 'a', + input="a") + + self.failUnlessEqual("a", found) + + def testTokenWithQualifiedType(self): grammar = textwrap.dedent( r''' @@ -143,7 +163,7 @@ def toString(self): ID : 'a'..'z'+ ; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser( grammar, 'a', input="a" @@ -152,6 +172,29 @@ def toString(self): self.failUnlessEqual("a", found) + def testNamedType(self): + grammar = textwrap.dedent( + r""" + grammar $T; + options { + language=Python; + output=AST; + } + @header { + class V(CommonTree): + def toString(self): + return self.token.text + "" + __str__ = toString + } + a : ID ; + ID : 'a'..'z'+ ; + WS : (' '|'\\n') {$channel=HIDDEN;} ; + """) + + found = self.execParser(grammar, 'a', input="a") + self.assertEquals("a", found) + + def testTokenWithLabel(self): grammar = textwrap.dedent( r''' @@ -381,7 +424,7 @@ def __init__(self, *args): self.x = x self.y = y self.z = z - + def toString(self): txt = "" if self.token is not None: @@ -557,7 +600,7 @@ def toString(self): self.failUnlessEqual("(int a) (int b) (int c)", found) # TREE PARSERS -- REWRITE AST - + def testTreeParserRewriteFlatList(self): grammar = textwrap.dedent( r''' @@ -682,7 +725,7 @@ def testTreeParserRewriteImaginary(self): class V(CommonTree): def __init__(self, tokenType): CommonTree.__init__(self, CommonToken(tokenType)) - + def toString(self): return tokenNames[self.token.type] + "" __str__ = toString @@ -731,7 +774,7 @@ class V(CommonTree): def __init__(self, tokenType, x): CommonTree.__init__(self, CommonToken(tokenType)) self.x = x - + def toString(self): return tokenNames[self.token.type] + ";" + str(self.x) __str__ = toString @@ -778,7 +821,7 @@ def testTreeParserRewriteImaginaryRoot(self): class V(CommonTree): def __init__(self, tokenType): CommonTree.__init__(self, CommonToken(tokenType)) - + def toString(self): return tokenNames[self.token.type] + "" __str__ = toString @@ -829,7 +872,7 @@ def __init__(self, tokenType, tree=None): else: CommonTree.__init__(self, tree) self.token.type = tokenType - + def toString(self): return tokenNames[self.token.type]+"@"+str(self.token.line) __str__ = toString @@ -861,7 +904,7 @@ def testTreeParserAutoHeteroAST(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + treeGrammar = textwrap.dedent( r''' tree grammar TP; @@ -879,10 +922,10 @@ def toString(self): __str__ = toString } - + a : ID ';'; ''') - + found = self.execTreeParser( grammar, 'a', treeGrammar, 'a', diff --git a/runtime/Python/tests/t054main.py b/runtime/Python/tests/t054main.py index 9bb47a9a..bb26510c 100644 --- a/runtime/Python/tests/t054main.py +++ b/runtime/Python/tests/t054main.py @@ -29,14 +29,14 @@ def testOverrideMain(self): def main(argv): raise RuntimeError("no") } - + ID: ('a'..'z' | '\u00c0'..'\u00ff')+; WS: ' '+ { $channel = HIDDEN; }; """) - - + + stdout = StringIO() - + lexerMod = self.compileInlineGrammar(grammar, returnModule=True) try: lexerMod.main( @@ -45,12 +45,12 @@ def main(argv): self.fail() except RuntimeError: pass - + def testLexerFromFile(self): input = "foo bar" inputPath = self.writeFile("input.txt", input) - + grammar = textwrap.dedent( r"""lexer grammar T1; options { @@ -60,10 +60,10 @@ def testLexerFromFile(self): ID: 'a'..'z'+; WS: ' '+ { $channel = HIDDEN; }; """) - + stdout = StringIO() - + lexerMod = self.compileInlineGrammar(grammar, returnModule=True) lexerMod.main( ['lexer.py', inputPath], @@ -71,11 +71,11 @@ def testLexerFromFile(self): ) self.failUnlessEqual(len(stdout.getvalue().splitlines()), 3) - + def testLexerFromStdIO(self): input = "foo bar" - + grammar = textwrap.dedent( r"""lexer grammar T2; options { @@ -85,10 +85,10 @@ def testLexerFromStdIO(self): ID: 'a'..'z'+; WS: ' '+ { $channel = HIDDEN; }; """) - - + + stdout = StringIO() - + lexerMod = self.compileInlineGrammar(grammar, returnModule=True) lexerMod.main( ['lexer.py'], @@ -97,11 +97,11 @@ def testLexerFromStdIO(self): ) self.failUnlessEqual(len(stdout.getvalue().splitlines()), 3) - + def testLexerEncoding(self): input = u"föö bär".encode('utf-8') - + grammar = textwrap.dedent( r"""lexer grammar T3; options { @@ -111,10 +111,10 @@ def testLexerEncoding(self): ID: ('a'..'z' | '\u00c0'..'\u00ff')+; WS: ' '+ { $channel = HIDDEN; }; """) - - + + stdout = StringIO() - + lexerMod = self.compileInlineGrammar(grammar, returnModule=True) lexerMod.main( ['lexer.py', '--encoding', 'utf-8'], @@ -123,11 +123,11 @@ def testLexerEncoding(self): ) self.failUnlessEqual(len(stdout.getvalue().splitlines()), 3) - + def testCombined(self): input = "foo bar" - + grammar = textwrap.dedent( r"""grammar T4; options { @@ -135,14 +135,14 @@ def testCombined(self): } r returns [res]: (ID)+ EOF { $res = $text; }; - + ID: 'a'..'z'+; WS: ' '+ { $channel = HIDDEN; }; """) - - + + stdout = StringIO() - + lexerMod, parserMod = self.compileInlineGrammar(grammar, returnModule=True) parserMod.main( ['combined.py', '--rule', 'r'], @@ -152,11 +152,11 @@ def testCombined(self): stdout = stdout.getvalue() self.failUnlessEqual(len(stdout.splitlines()), 1, stdout) - + def testCombinedOutputAST(self): input = "foo + bar" - + grammar = textwrap.dedent( r"""grammar T5; options { @@ -165,15 +165,15 @@ def testCombinedOutputAST(self): } r: ID OP^ ID EOF!; - + ID: 'a'..'z'+; OP: '+'; WS: ' '+ { $channel = HIDDEN; }; """) - - + + stdout = StringIO() - + lexerMod, parserMod = self.compileInlineGrammar(grammar, returnModule=True) parserMod.main( ['combined.py', '--rule', 'r'], @@ -183,7 +183,7 @@ def testCombinedOutputAST(self): stdout = stdout.getvalue().strip() self.failUnlessEqual(stdout, "(+ foo bar)") - + def testTreeParser(self): grammar = textwrap.dedent( @@ -194,12 +194,12 @@ def testTreeParser(self): } r: ID OP^ ID EOF!; - + ID: 'a'..'z'+; OP: '+'; WS: ' '+ { $channel = HIDDEN; }; ''') - + treeGrammar = textwrap.dedent( r'''tree grammar T6Walker; options { @@ -224,7 +224,7 @@ def testTreeParser(self): stdout = stdout.getvalue().strip() self.failUnlessEqual(stdout, "u'a + b'") - + def testTreeParserRewrite(self): grammar = textwrap.dedent( @@ -235,12 +235,12 @@ def testTreeParserRewrite(self): } r: ID OP^ ID EOF!; - + ID: 'a'..'z'+; OP: '+'; WS: ' '+ { $channel = HIDDEN; }; ''') - + treeGrammar = textwrap.dedent( r'''tree grammar T7Walker; options { @@ -268,7 +268,7 @@ def testTreeParserRewrite(self): stdout = stdout.getvalue().strip() self.failUnlessEqual(stdout, "(+ (ARG a) (ARG b))") - + def testGrammarImport(self): slave = textwrap.dedent( @@ -277,7 +277,7 @@ def testGrammarImport(self): options { language=Python; } - + a : B; ''') @@ -288,7 +288,7 @@ def testGrammarImport(self): del sys.modules[parserName+'Parser'] except KeyError: pass - + master = textwrap.dedent( r''' grammar T8M; @@ -302,7 +302,7 @@ def testGrammarImport(self): ''') stdout = StringIO() - + lexerMod, parserMod = self.compileInlineGrammar(master, returnModule=True) parserMod.main( ['import.py', '--rule', 's'], diff --git a/runtime/Python/tests/t055templates.py b/runtime/Python/tests/t055templates.py index 86d3ef02..5090b01b 100644 --- a/runtime/Python/tests/t055templates.py +++ b/runtime/Python/tests/t055templates.py @@ -22,7 +22,7 @@ def execParser(self, grammar, grammarEntry, input, group=None): if result.st is not None: return result.st.toString() return None - + def testInlineTemplate(self): grammar = textwrap.dedent( @@ -35,7 +35,7 @@ def testInlineTemplate(self): -> template(id={$ID.text}, int={$INT.text}) "id=, int=" ; - + ID : 'a'..'z'+; INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; @@ -64,7 +64,7 @@ def testExternalTemplate(self): file=StringIO(templates), lexer='angle-bracket' ) - + grammar = textwrap.dedent( r'''grammar T2; options { @@ -75,7 +75,7 @@ def testExternalTemplate(self): -> expr(op={$OP.text}, args={$r}) ; arg: ID -> template(t={$ID.text}) ""; - + ID : 'a'..'z'+; OP: '+'; WS : (' '|'\n') {$channel=HIDDEN;} ; @@ -99,9 +99,9 @@ def testEmptyTemplate(self): output=template; } a : ID INT - -> + -> ; - + ID : 'a'..'z'+; INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; @@ -131,7 +131,7 @@ def testList(self): b: ID -> template(t={$ID.text}) "" ; - + ID : 'a'..'z'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''' @@ -155,7 +155,7 @@ def testAction(self): a: ID -> { stringtemplate3.StringTemplate("hello") } ; - + ID : 'a'..'z'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''' @@ -179,7 +179,7 @@ def testTemplateExpressionInAction(self): a: ID { $st = %{"hello"} } ; - + ID : 'a'..'z'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''' @@ -207,7 +207,7 @@ def testTemplateExpressionInAction2(self): } -> { res } ; - + ID : 'a'..'z'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''' @@ -235,7 +235,7 @@ def testIndirectTemplateConstructor(self): file=StringIO(templates), lexer='angle-bracket' ) - + grammar = textwrap.dedent( r'''grammar T; options { @@ -247,7 +247,7 @@ def testIndirectTemplateConstructor(self): $st = %({"expr"})(args={[1, 2, 3]}, op={"+"}) } ; - + ID : 'a'..'z'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''' @@ -277,7 +277,7 @@ def testPredicates(self): -> template(int={$INT.text}) "C: " ; - + ID : 'a'..'z'+; INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; @@ -304,7 +304,7 @@ def testBacktrackingMode(self): -> template(id={$ID.text}, int={$INT.text}) "id=, int=" ; - + ID : 'a'..'z'+; INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; @@ -341,12 +341,12 @@ def testRewrite(self): : expr -> template(t={$text}) <)>> ; - + expr : ID | INT ; - + ID: 'a'..'z'+; INT: '0'..'9'+; WS: (' '|'\n')+ {$channel=HIDDEN;} ; @@ -365,7 +365,7 @@ def testRewrite(self): return 12; ''' ) - + lexerCls, parserCls = self.compileInlineGrammar(grammar) cStream = antlr3.StringStream(input) @@ -375,7 +375,7 @@ def testRewrite(self): result = parser.prog() found = tStream.toString() - + expected = textwrap.dedent( '''\ if ( foo ) { @@ -387,7 +387,7 @@ def testRewrite(self): return boom(12); ''' ) - + self.failUnlessEqual(expected, found) @@ -403,20 +403,20 @@ def testTreeRewrite(self): BLOCK; ASSIGN; } - + prog: stat+; stat : IF '(' e=expr ')' s=stat -> ^(IF $e $s) | RETURN expr ';' - -> ^(RETURN expr) + -> ^(RETURN expr) | '{' stat* '}' - -> ^(BLOCK stat*) + -> ^(BLOCK stat*) | ID '=' expr ';' -> ^(ASSIGN ID expr) ; - + expr : ID | INT @@ -445,8 +445,8 @@ def testTreeRewrite(self): stat : ^(IF expr stat) - | ^(RETURN return_expr) - | ^(BLOCK stat*) + | ^(RETURN return_expr) + | ^(BLOCK stat*) | ^(ASSIGN ID expr) ; @@ -454,7 +454,7 @@ def testTreeRewrite(self): : expr -> template(t={$text}) <)>> ; - + expr : ID | INT @@ -473,10 +473,10 @@ def testTreeRewrite(self): return 12; ''' ) - + lexerCls, parserCls = self.compileInlineGrammar(grammar) walkerCls = self.compileInlineGrammar(treeGrammar) - + cStream = antlr3.StringStream(input) lexer = lexerCls(cStream) tStream = antlr3.TokenRewriteStream(lexer) @@ -486,9 +486,9 @@ def testTreeRewrite(self): nodes.setTokenStream(tStream) walker = walkerCls(nodes) walker.prog() - + found = tStream.toString() - + expected = textwrap.dedent( '''\ if ( foo ) { @@ -500,9 +500,9 @@ def testTreeRewrite(self): return boom(12); ''' ) - + self.failUnlessEqual(expected, found) - + if __name__ == '__main__': unittest.main() diff --git a/runtime/Python/tests/t057autoAST.py b/runtime/Python/tests/t057autoAST.py index b44740e1..e5c1d35d 100644 --- a/runtime/Python/tests/t057autoAST.py +++ b/runtime/Python/tests/t057autoAST.py @@ -30,9 +30,9 @@ def traceOut(self, ruleName, ruleIndex): def emitErrorMessage(self, msg): self._errors.append(msg) - + return TParser - + def lexerClass(self, base): class TLexer(base): @@ -57,9 +57,9 @@ def traceOut(self, ruleName, ruleIndex): def recover(self, input, re): # no error recovery yet, just crash! raise - + return TLexer - + def execParser(self, grammar, grammarEntry, input, expectErrors=False): lexerCls, parserCls = self.compileInlineGrammar(grammar) @@ -87,7 +87,7 @@ def execParser(self, grammar, grammarEntry, input, expectErrors=False): else: return result, parser._errors - + def execTreeParser(self, grammar, grammarEntry, treeGrammar, treeEntry, input): lexerCls, parserCls = self.compileInlineGrammar(grammar) @@ -119,7 +119,7 @@ def testTokenList(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;}; ''') - + found = self.execParser(grammar, "a", "abc 34") self.assertEquals("abc 34", found); @@ -149,7 +149,7 @@ def testSimpleRootAtOuterLevel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "abc 34") self.assertEquals("(abc 34)", found) @@ -164,7 +164,7 @@ def testSimpleRootAtOuterLevelReverse(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "34 abc") self.assertEquals("(abc 34)", found) @@ -179,7 +179,7 @@ def testBang(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "abc 34 dag 4532") self.assertEquals("abc 4532", found) @@ -209,7 +209,7 @@ def testLabeledStringRoot(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "void foo;") self.assertEquals("(void foo ;)", found) @@ -239,7 +239,7 @@ def testWildcardRoot(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "void foo;") self.assertEquals("(foo void ;)", found) @@ -254,7 +254,7 @@ def testWildcardRootWithLabel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "void foo;") self.assertEquals("(foo void ;)", found) @@ -269,7 +269,7 @@ def testWildcardRootWithListLabel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "void foo;") self.assertEquals("(foo void ;)", found) @@ -299,7 +299,7 @@ def testRootRoot(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a 34 c") self.assertEquals("(34 a c)", found) @@ -314,7 +314,7 @@ def testRootRoot2(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a 34 c") self.assertEquals("(c (34 a))", found) @@ -329,7 +329,7 @@ def testRootThenRootInLoop(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a 34 * b 9 * c") self.assertEquals("(* (* (a 34) b 9) c)", found) @@ -344,7 +344,7 @@ def testNestedSubrule(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "void a b;") self.assertEquals("void a b ;", found) @@ -360,7 +360,7 @@ def testInvokeRule(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "int a") self.assertEquals("int a", found) @@ -376,7 +376,7 @@ def testInvokeRuleAsRoot(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "int a") self.assertEquals("(int a)", found) @@ -392,7 +392,7 @@ def testInvokeRuleAsRootWithLabel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "int a") self.assertEquals("(int a)", found) @@ -408,7 +408,7 @@ def testInvokeRuleAsRootWithListLabel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "int a") self.assertEquals("(int a)", found) @@ -423,7 +423,7 @@ def testRuleRootInLoop(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a+b+c+d") self.assertEquals("(+ (+ (+ a b) c) d)", found) @@ -439,7 +439,7 @@ def testRuleInvocationRuleRootInLoop(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a+b+c-d") self.assertEquals("(- (+ (+ a b) c) d)", found) @@ -456,7 +456,7 @@ def testTailRecursion(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "s", "3 exp 4 exp 5") self.assertEquals("(exp 3 (exp 4 5))", found) @@ -471,7 +471,7 @@ def testSet(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "abc") self.assertEquals("abc", found) @@ -486,12 +486,13 @@ def testSetRoot(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "+abc") self.assertEquals("(+ abc)", found) - @testbase.broken("FAILS until antlr.g rebuilt in v3", RuntimeError) + @testbase.broken( + "FAILS until antlr.g rebuilt in v3", testbase.GrammarCompileError) def testSetRootWithLabel(self): grammar = textwrap.dedent( r''' @@ -502,7 +503,7 @@ def testSetRootWithLabel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "+abc") self.assertEquals("(+ abc)", found) @@ -517,7 +518,7 @@ def testSetAsRuleRootInLoop(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a+b-c") self.assertEquals("(- (+ a b) c)", found) @@ -532,7 +533,7 @@ def testNotSet(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "34+2") self.assertEquals("34 + 2", found) @@ -547,7 +548,7 @@ def testNotSetWithLabel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "34+2") self.assertEquals("34 + 2", found) @@ -562,7 +563,7 @@ def testNotSetWithListLabel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "34+2") self.assertEquals("34 + 2", found) @@ -577,7 +578,7 @@ def testNotSetRoot(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "34 55") self.assertEquals("(34 55)", found) @@ -592,7 +593,7 @@ def testNotSetRootWithLabel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "34 55") self.assertEquals("(34 55)", found) @@ -607,7 +608,7 @@ def testNotSetRootWithListLabel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "34 55") self.assertEquals("(34 55)", found) @@ -623,7 +624,7 @@ def testNotSetRuleRootInLoop(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "3+4+5") self.assertEquals("(+ (+ 3 4) 5)", found) @@ -640,7 +641,7 @@ def testTokenLabelReuse(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a b") self.assertEquals("2nd id=b;a b", found) @@ -656,7 +657,7 @@ def testTokenLabelReuse2(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a b") self.assertEquals("2nd id=b,(b a)", found) @@ -691,7 +692,7 @@ def testTokenListLabelReuse2(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a b") expecting = "id list=[a,b],(a b)" self.assertEquals(expecting, found) @@ -707,7 +708,7 @@ def testTokenListLabelRuleRoot(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a") self.assertEquals("a", found) @@ -722,7 +723,7 @@ def testTokenListLabelBang(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a") self.assertEquals("", found) @@ -741,7 +742,7 @@ def testRuleListLabel(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a b") self.assertEquals("2nd x=b,a b", found) @@ -759,7 +760,7 @@ def testRuleListLabelRuleRoot(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a b") self.assertEquals("x=(b a),(b a)", found) @@ -777,7 +778,7 @@ def testRuleListLabelBang(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a b") self.assertEquals("1st x=a,b", found) @@ -795,7 +796,7 @@ def testComplicatedMelange(self): D : 'd' ; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "a b b c c d") self.assertEquals("a b b c c d", found) @@ -811,7 +812,7 @@ def testReturnValueWithAST(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found = self.execParser(grammar, "a", "abc 34") self.assertEquals("34\nabc 34", found) @@ -821,12 +822,12 @@ def testSetLoop(self): r''' grammar T; options { language=Python;output=AST; } - r : (INT|ID)+ ; + r : (INT|ID)+ ; ID : 'a'..'z' + ; INT : '0'..'9' +; WS: (' ' | '\n' | '\\t')+ {$channel = HIDDEN;}; ''') - + found = self.execParser(grammar, "r", "abc 34 d") self.assertEquals("abc 34 d", found) @@ -842,7 +843,7 @@ def testExtraTokenInSimpleDecl(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found, errors = self.execParser(grammar, "decl", "int 34 x=1;", expectErrors=True) self.assertEquals(["line 1:4 extraneous input u'34' expecting ID"], @@ -862,7 +863,7 @@ def testMissingIDInSimpleDecl(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found, errors = self.execParser(grammar, "decl", "int =1;", expectErrors=True) self.assertEquals(["line 1:4 missing ID at u'='"], errors) @@ -881,7 +882,7 @@ def testMissingSetInSimpleDecl(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found, errors = self.execParser(grammar, "decl", "x=1;", expectErrors=True) self.assertEquals(["line 1:0 mismatched input u'x' expecting set None"], errors) @@ -898,9 +899,9 @@ def testMissingTokenGivesErrorNode(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found, errors = self.execParser(grammar, "a", "abc", expectErrors=True) - self.assertEquals(["line 0:-1 missing INT at ''"], errors) + self.assertEquals(["line 1:3 missing INT at ''"], errors) self.assertEquals("abc ", found) @@ -915,9 +916,9 @@ def testMissingTokenGivesErrorNodeInInvokedRule(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found, errors = self.execParser(grammar, "a", "abc", expectErrors=True) - self.assertEquals(["line 0:-1 mismatched input '' expecting INT"], errors) + self.assertEquals(["line 1:3 mismatched input '' expecting INT"], errors) self.assertEquals(", resync=abc>", found) @@ -933,7 +934,7 @@ def testExtraTokenGivesErrorNode(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found, errors = self.execParser(grammar, "a", "abc ick 34", expectErrors=True) self.assertEquals(["line 1:4 extraneous input u'ick' expecting INT"], @@ -951,7 +952,7 @@ def testMissingFirstTokenGivesErrorNode(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found, errors = self.execParser(grammar, "a", "34", expectErrors=True) self.assertEquals(["line 1:0 missing ID at u'34'"], errors) self.assertEquals(" 34", found) @@ -969,9 +970,9 @@ def testMissingFirstTokenGivesErrorNode2(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found, errors = self.execParser(grammar, "a", "34", expectErrors=True) - + # finds an error at the first token, 34, and re-syncs. # re-synchronizing does not consume a token because 34 follows # ref to rule b (start of c). It then matches 34 in c. @@ -992,7 +993,7 @@ def testNoViableAltGivesErrorNode(self): INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') - + found, errors = self.execParser(grammar, "a", "*", expectErrors=True) self.assertEquals(["line 1:0 no viable alternative at input u'*'"], errors) diff --git a/runtime/Python/tests/t058rewriteAST.py b/runtime/Python/tests/t058rewriteAST.py index 2ebc5cba..15036f47 100644 --- a/runtime/Python/tests/t058rewriteAST.py +++ b/runtime/Python/tests/t058rewriteAST.py @@ -30,9 +30,9 @@ def traceOut(self, ruleName, ruleIndex): def emitErrorMessage(self, msg): self._errors.append(msg) - + return TParser - + def lexerClass(self, base): class TLexer(base): @@ -57,9 +57,9 @@ def traceOut(self, ruleName, ruleIndex): def recover(self, input, re): # no error recovery yet, just crash! raise - + return TLexer - + def execParser(self, grammar, grammarEntry, input, expectErrors=False): lexerCls, parserCls = self.compileInlineGrammar(grammar) @@ -87,7 +87,7 @@ def execParser(self, grammar, grammarEntry, input, expectErrors=False): else: return result, parser._errors - + def execTreeParser(self, grammar, grammarEntry, treeGrammar, treeEntry, input): lexerCls, parserCls = self.compileInlineGrammar(grammar) @@ -470,7 +470,7 @@ def testMultiplePredicate(self): options {language=Python;output=AST;} a : ID INT -> {False}? ID -> {True}? INT - -> + -> ; ID : 'a'..'z'+ ; INT : '0'..'9'+; @@ -1176,7 +1176,7 @@ def testSet(self): grammar = textwrap.dedent( r''' grammar T; - options {language=Python;output=AST;} + options {language=Python;output=AST;} a: (INT|ID)+ -> INT+ ID+ ; INT: '0'..'9'+; ID : 'a'..'z'+; @@ -1191,7 +1191,7 @@ def testSet2(self): grammar = textwrap.dedent( r''' grammar T; - options {language=Python;output=AST;} + options {language=Python;output=AST;} a: (INT|ID) -> INT? ID? ; INT: '0'..'9'+; ID : 'a'..'z'+; @@ -1208,7 +1208,7 @@ def testSetWithLabel(self): grammar = textwrap.dedent( r''' grammar T; - options {language=Python;output=AST;} + options {language=Python;output=AST;} a : x=(INT|ID) -> $x ; INT: '0'..'9'+; ID : 'a'..'z'+; @@ -1222,14 +1222,14 @@ def testSetWithLabel(self): def testRewriteAction(self): grammar = textwrap.dedent( r''' - grammar T; + grammar T; options {language=Python;output=AST;} tokens { FLOAT; } r - : INT -> {CommonTree(CommonToken(type=FLOAT, text=$INT.text+".0"))} - ; - INT : '0'..'9'+; - WS: (' ' | '\n' | '\t')+ {$channel = HIDDEN;}; + : INT -> {CommonTree(CommonToken(type=FLOAT, text=$INT.text+".0"))} + ; + INT : '0'..'9'+; + WS: (' ' | '\n' | '\t')+ {$channel = HIDDEN;}; ''') found = self.execParser(grammar, "r", "25") @@ -1242,13 +1242,13 @@ def testOptionalSubruleWithoutRealElements(self): grammar = textwrap.dedent( r""" grammar T; - options {language=Python;output=AST;} - tokens {PARMS;} - - modulo - : 'modulo' ID ('(' parms+ ')')? -> ^('modulo' ID ^(PARMS parms+)?) - ; - parms : '#'|ID; + options {language=Python;output=AST;} + tokens {PARMS;} + + modulo + : 'modulo' ID ('(' parms+ ')')? -> ^('modulo' ID ^(PARMS parms+)?) + ; + parms : '#'|ID; ID : ('a'..'z' | 'A'..'Z')+; WS : (' '|'\n') {$channel=HIDDEN;} ; """) @@ -1267,7 +1267,7 @@ def testCardinality(self): tokens {BLOCK;} a : ID ID INT INT INT -> (ID INT)+; ID : 'a'..'z'+ ; - INT : '0'..'9'+; + INT : '0'..'9'+; WS : (' '|'\n') {$channel=HIDDEN;} ; ''') @@ -1412,7 +1412,6 @@ def testMissingSetInSimpleDecl(self): self.assertEquals("(EXPR x 1)", found) # tree gets invented ID token - #@testbase.broken("FIXME", AssertionError) def testMissingTokenGivesErrorNode(self): grammar = textwrap.dedent( r''' @@ -1426,7 +1425,7 @@ def testMissingTokenGivesErrorNode(self): found, errors = self.execParser(grammar, "a", "abc", expectErrors=True) - self.assertEquals(["line 0:-1 missing INT at ''"], errors) + self.assertEquals(["line 1:3 missing INT at ''"], errors) # doesn't do in-line recovery for sets (yet?) self.assertEquals("abc ", found) diff --git a/runtime/Python/tests/t059debug.py b/runtime/Python/tests/t059debug.py index 0e15fd8d..1b620d1e 100644 --- a/runtime/Python/tests/t059debug.py +++ b/runtime/Python/tests/t059debug.py @@ -19,7 +19,9 @@ def __init__(self, port): def run(self): # create listening socket - while True: + s = None + tstart = time.time() + while time.time() - tstart < 10: try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('127.0.0.1', self.port)) @@ -29,32 +31,43 @@ def run(self): raise time.sleep(0.1) + if s is None: + self.events.append(['nosocket']) + return + s.setblocking(1) + s.settimeout(10.0) output = s.makefile('w', 0) input = s.makefile('r', 0) - # handshake - l = input.readline().strip() - assert l == 'ANTLR 2' - l = input.readline().strip() - assert l.startswith('grammar "') - - output.write('ACK\n') - output.flush() - - while True: - event = input.readline().strip() - self.events.append(event.split('\t')) + try: + # handshake + l = input.readline().strip() + assert l == 'ANTLR 2' + l = input.readline().strip() + assert l.startswith('grammar "') output.write('ACK\n') output.flush() - if event == 'terminate': - break + while True: + event = input.readline().strip() + self.events.append(event.split('\t')) + + output.write('ACK\n') + output.flush() + + if event == 'terminate': + self.success = True + break + + except socket.timeout: + self.events.append(['timeout']) + except socket.error, exc: + self.events.append(['socketerror', exc.args]) s.close() - self.success = True class T(testbase.ANTLRTest): @@ -78,7 +91,7 @@ def execParser(self, grammar, grammarEntry, input, listener, tStream = antlr3.CommonTokenStream(lexer) parser = parserCls(tStream, dbg=listener, port=port, **parser_args) getattr(parser, grammarEntry)() - + finally: if listener is None: debugger.join() @@ -119,7 +132,7 @@ def testBasicParser(self): "exitRule a"] found = [event for event in listener.events if not event.startswith("LT ")] - self.assertEqual(found, expected) + self.assertListEqual(found, expected) def testSocketProxy(self): grammar = textwrap.dedent( @@ -147,14 +160,14 @@ def testSocketProxy(self): ['LT', '1', '0', '4', '0', '1', '0', '"a'], ['consumeToken', '0', '4', '0', '1', '0', '"a'], ['location', '6', '8'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['consumeToken', '-1', '-1', '0', '0', '-1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '1', '"'], + ['consumeToken', '-1', '-1', '0', '1', '1', '"'], ['location', '6', '11'], ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testRecognitionException(self): grammar = textwrap.dedent( @@ -185,20 +198,20 @@ def testRecognitionException(self): ['location', '6', '8'], ['LT', '1', '2', '4', '0', '1', '2', '"b'], ['LT', '1', '2', '4', '0', '1', '2', '"b'], - ['LT', '2', '-1', '-1', '0', '0', '-1', '"'], + ['LT', '2', '-1', '-1', '0', '1', '3', '"'], ['LT', '1', '2', '4', '0', '1', '2', '"b'], ['LT', '1', '2', '4', '0', '1', '2', '"b'], ['beginResync'], ['consumeToken', '2', '4', '0', '1', '2', '"b'], ['endResync'], ['exception', 'UnwantedTokenException', '2', '1', '2'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['consumeToken', '-1', '-1', '0', '0', '-1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '3', '"'], + ['consumeToken', '-1', '-1', '0', '1', '3', '"'], ['location', '6', '11'], ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testSemPred(self): @@ -229,14 +242,14 @@ def testSemPred(self): ['LT', '1', '0', '4', '0', '1', '0', '"a'], ['consumeToken', '0', '4', '0', '1', '0', '"a'], ['location', '6', '16'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['consumeToken', '-1', '-1', '0', '0', '-1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '1', '"'], + ['consumeToken', '-1', '-1', '0', '1', '1', '"'], ['location', '6', '19'], ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testPositiveClosureBlock(self): @@ -268,7 +281,7 @@ def testPositiveClosureBlock(self): ['consumeHiddenToken', '1', '6', '99', '1', '1', '"'], ['location', '6', '8'], ['enterSubRule', '1'], - ['enterDecision', '1'], + ['enterDecision', '1', '0'], ['LT', '1', '2', '5', '0', '1', '2', '"1'], ['exitDecision', '1'], ['enterAlt', '1'], @@ -276,7 +289,7 @@ def testPositiveClosureBlock(self): ['LT', '1', '2', '5', '0', '1', '2', '"1'], ['consumeToken', '2', '5', '0', '1', '2', '"1'], ['consumeHiddenToken', '3', '6', '99', '1', '3', '"'], - ['enterDecision', '1'], + ['enterDecision', '1', '0'], ['LT', '1', '4', '4', '0', '1', '4', '"b'], ['exitDecision', '1'], ['enterAlt', '1'], @@ -284,7 +297,7 @@ def testPositiveClosureBlock(self): ['LT', '1', '4', '4', '0', '1', '4', '"b'], ['consumeToken', '4', '4', '0', '1', '4', '"b'], ['consumeHiddenToken', '5', '6', '99', '1', '5', '"'], - ['enterDecision', '1'], + ['enterDecision', '1', '0'], ['LT', '1', '6', '4', '0', '1', '6', '"c'], ['exitDecision', '1'], ['enterAlt', '1'], @@ -292,26 +305,26 @@ def testPositiveClosureBlock(self): ['LT', '1', '6', '4', '0', '1', '6', '"c'], ['consumeToken', '6', '4', '0', '1', '6', '"c'], ['consumeHiddenToken', '7', '6', '99', '1', '7', '"'], - ['enterDecision', '1'], + ['enterDecision', '1', '0'], ['LT', '1', '8', '5', '0', '1', '8', '"3'], ['exitDecision', '1'], ['enterAlt', '1'], ['location', '6', '8'], ['LT', '1', '8', '5', '0', '1', '8', '"3'], ['consumeToken', '8', '5', '0', '1', '8', '"3'], - ['enterDecision', '1'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], + ['enterDecision', '1', '0'], + ['LT', '1', '-1', '-1', '0', '1', '9', '"'], ['exitDecision', '1'], ['exitSubRule', '1'], ['location', '6', '22'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['consumeToken', '-1', '-1', '0', '0', '-1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '9', '"'], + ['LT', '1', '-1', '-1', '0', '1', '9', '"'], + ['consumeToken', '-1', '-1', '0', '1', '9', '"'], ['location', '6', '25'], ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testClosureBlock(self): @@ -343,7 +356,7 @@ def testClosureBlock(self): ['consumeHiddenToken', '1', '6', '99', '1', '1', '"'], ['location', '6', '8'], ['enterSubRule', '1'], - ['enterDecision', '1'], + ['enterDecision', '1', '0'], ['LT', '1', '2', '5', '0', '1', '2', '"1'], ['exitDecision', '1'], ['enterAlt', '1'], @@ -351,7 +364,7 @@ def testClosureBlock(self): ['LT', '1', '2', '5', '0', '1', '2', '"1'], ['consumeToken', '2', '5', '0', '1', '2', '"1'], ['consumeHiddenToken', '3', '6', '99', '1', '3', '"'], - ['enterDecision', '1'], + ['enterDecision', '1', '0'], ['LT', '1', '4', '4', '0', '1', '4', '"b'], ['exitDecision', '1'], ['enterAlt', '1'], @@ -359,7 +372,7 @@ def testClosureBlock(self): ['LT', '1', '4', '4', '0', '1', '4', '"b'], ['consumeToken', '4', '4', '0', '1', '4', '"b'], ['consumeHiddenToken', '5', '6', '99', '1', '5', '"'], - ['enterDecision', '1'], + ['enterDecision', '1', '0'], ['LT', '1', '6', '4', '0', '1', '6', '"c'], ['exitDecision', '1'], ['enterAlt', '1'], @@ -367,26 +380,26 @@ def testClosureBlock(self): ['LT', '1', '6', '4', '0', '1', '6', '"c'], ['consumeToken', '6', '4', '0', '1', '6', '"c'], ['consumeHiddenToken', '7', '6', '99', '1', '7', '"'], - ['enterDecision', '1'], + ['enterDecision', '1', '0'], ['LT', '1', '8', '5', '0', '1', '8', '"3'], ['exitDecision', '1'], ['enterAlt', '1'], ['location', '6', '8'], ['LT', '1', '8', '5', '0', '1', '8', '"3'], ['consumeToken', '8', '5', '0', '1', '8', '"3'], - ['enterDecision', '1'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], + ['enterDecision', '1', '0'], + ['LT', '1', '-1', '-1', '0', '1', '9', '"'], ['exitDecision', '1'], ['exitSubRule', '1'], ['location', '6', '22'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['consumeToken', '-1', '-1', '0', '0', '-1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '9', '"'], + ['LT', '1', '-1', '-1', '0', '1', '9', '"'], + ['consumeToken', '-1', '-1', '0', '1', '9', '"'], ['location', '6', '25'], ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testMismatchedSetException(self): @@ -416,19 +429,19 @@ def testMismatchedSetException(self): ['LT', '1', '0', '4', '0', '1', '0', '"a'], ['consumeToken', '0', '4', '0', '1', '0', '"a'], ['location', '6', '8'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['exception', 'MismatchedSetException', '1', '0', '-1'], - ['exception', 'MismatchedSetException', '1', '0', '-1'], + ['LT', '1', '-1', '-1', '0', '1', '1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '1', '"'], + ['exception', 'MismatchedSetException', '1', '1', '1'], + ['exception', 'MismatchedSetException', '1', '1', '1'], ['beginResync'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '1', '"'], ['endResync'], ['location', '6', '24'], ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testBlock(self): @@ -462,7 +475,7 @@ def testBlock(self): ['consumeHiddenToken', '1', '6', '99', '1', '1', '"'], ['location', '6', '8'], ['enterSubRule', '1'], - ['enterDecision', '1'], + ['enterDecision', '1', '0'], ['LT', '1', '2', '5', '0', '1', '2', '"1'], ['exitDecision', '1'], ['enterAlt', '2'], @@ -478,14 +491,14 @@ def testBlock(self): ['exitRule', 'T.g', 'c'], ['exitSubRule', '1'], ['location', '6', '18'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['consumeToken', '-1', '-1', '0', '0', '-1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '3', '"'], + ['LT', '1', '-1', '-1', '0', '1', '3', '"'], + ['consumeToken', '-1', '-1', '0', '1', '3', '"'], ['location', '6', '21'], ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testNoViableAlt(self): @@ -514,30 +527,30 @@ def testNoViableAlt(self): ['location', '6', '1'], ['enterAlt', '1'], ['location', '6', '5'], - ['LT', '1', '0', '4', '0', '1', '0', '"a'], - ['LT', '1', '0', '4', '0', '1', '0', '"a'], - ['consumeToken', '0', '4', '0', '1', '0', '"a'], + ['LT', '1', '0', '5', '0', '1', '0', '"a'], + ['LT', '1', '0', '5', '0', '1', '0', '"a'], + ['consumeToken', '0', '5', '0', '1', '0', '"a'], ['consumeHiddenToken', '1', '7', '99', '1', '1', '"'], ['location', '6', '8'], ['enterSubRule', '1'], - ['enterDecision', '1'], - ['LT', '1', '2', '6', '0', '1', '2', '"!'], - ['LT', '1', '2', '6', '0', '1', '2', '"!'], - ['LT', '1', '2', '6', '0', '1', '2', '"!'], + ['enterDecision', '1', '0'], + ['LT', '1', '2', '4', '0', '1', '2', '"!'], + ['LT', '1', '2', '4', '0', '1', '2', '"!'], + ['LT', '1', '2', '4', '0', '1', '2', '"!'], ['exception', 'NoViableAltException', '2', '1', '2'], ['exitDecision', '1'], ['exitSubRule', '1'], ['exception', 'NoViableAltException', '2', '1', '2'], ['beginResync'], - ['LT', '1', '2', '6', '0', '1', '2', '"!'], - ['consumeToken', '2', '6', '0', '1', '2', '"!'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], + ['LT', '1', '2', '4', '0', '1', '2', '"!'], + ['consumeToken', '2', '4', '0', '1', '2', '"!'], + ['LT', '1', '-1', '-1', '0', '1', '3', '"'], ['endResync'], ['location', '6', '21'], ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testRuleBlock(self): @@ -563,7 +576,7 @@ def testRuleBlock(self): self.assertTrue(debugger.success) expected = [['enterRule', 'T.g', 'a'], ['location', '6', '1'], - ['enterDecision', '1'], + ['enterDecision', '1', '0'], ['LT', '1', '0', '5', '0', '1', '0', '"1'], ['exitDecision', '1'], ['enterAlt', '2'], @@ -581,7 +594,7 @@ def testRuleBlock(self): ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testRuleBlockSingleAlt(self): @@ -621,7 +634,7 @@ def testRuleBlockSingleAlt(self): ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testBlockSingleAlt(self): @@ -663,7 +676,7 @@ def testBlockSingleAlt(self): ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testDFA(self): @@ -693,12 +706,12 @@ def testDFA(self): ['enterAlt', '1'], ['location', '6', '5'], ['enterSubRule', '1'], - ['enterDecision', '1'], + ['enterDecision', '1', '0'], ['mark', '0'], - ['LT', '1', '0', '4', '0', '1', '0', '"a'], - ['consumeToken', '0', '4', '0', '1', '0', '"a'], - ['LT', '1', '1', '6', '0', '1', '1', '"!'], - ['consumeToken', '1', '6', '0', '1', '1', '"!'], + ['LT', '1', '0', '5', '0', '1', '0', '"a'], + ['consumeToken', '0', '5', '0', '1', '0', '"a'], + ['LT', '1', '1', '4', '0', '1', '1', '"!'], + ['consumeToken', '1', '4', '0', '1', '1', '"!'], ['rewind', '0'], ['exitDecision', '1'], ['enterAlt', '2'], @@ -708,34 +721,34 @@ def testDFA(self): ['enterAlt', '1'], ['location', '8', '5'], ['enterSubRule', '3'], - ['enterDecision', '3'], - ['LT', '1', '0', '4', '0', '1', '0', '"a'], + ['enterDecision', '3', '0'], + ['LT', '1', '0', '5', '0', '1', '0', '"a'], ['exitDecision', '3'], ['enterAlt', '1'], ['location', '8', '5'], - ['LT', '1', '0', '4', '0', '1', '0', '"a'], - ['LT', '1', '0', '4', '0', '1', '0', '"a'], - ['consumeToken', '0', '4', '0', '1', '0', '"a'], - ['enterDecision', '3'], - ['LT', '1', '1', '6', '0', '1', '1', '"!'], + ['LT', '1', '0', '5', '0', '1', '0', '"a'], + ['LT', '1', '0', '5', '0', '1', '0', '"a'], + ['consumeToken', '0', '5', '0', '1', '0', '"a'], + ['enterDecision', '3', '0'], + ['LT', '1', '1', '4', '0', '1', '1', '"!'], ['exitDecision', '3'], ['exitSubRule', '3'], ['location', '8', '9'], - ['LT', '1', '1', '6', '0', '1', '1', '"!'], - ['LT', '1', '1', '6', '0', '1', '1', '"!'], - ['consumeToken', '1', '6', '0', '1', '1', '"!'], + ['LT', '1', '1', '4', '0', '1', '1', '"!'], + ['LT', '1', '1', '4', '0', '1', '1', '"!'], + ['consumeToken', '1', '4', '0', '1', '1', '"!'], ['location', '8', '13'], ['exitRule', 'T.g', 'c'], ['exitSubRule', '1'], ['location', '6', '15'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['LT', '1', '-1', '-1', '0', '0', '-1', '"'], - ['consumeToken', '-1', '-1', '0', '0', '-1', '"'], + ['LT', '1', '-1', '-1', '0', '1', '2', '"'], + ['LT', '1', '-1', '-1', '0', '1', '2', '"'], + ['consumeToken', '-1', '-1', '0', '1', '2', '"'], ['location', '6', '18'], ['exitRule', 'T.g', 'a'], ['terminate']] - self.assertEqual(debugger.events, expected) + self.assertListEqual(debugger.events, expected) def testBasicAST(self): diff --git a/runtime/Python/tests/t060leftrecursion.py b/runtime/Python/tests/t060leftrecursion.py new file mode 100644 index 00000000..0c064b60 --- /dev/null +++ b/runtime/Python/tests/t060leftrecursion.py @@ -0,0 +1,468 @@ +import unittest +import re +import textwrap +import antlr3 +import testbase + + +# Left-recursion resolution is not yet enabled in the tool. + +# class TestLeftRecursion(testbase.ANTLRTest): +# def parserClass(self, base): +# class TParser(base): +# def __init__(self, *args, **kwargs): +# base.__init__(self, *args, **kwargs) + +# self._output = "" + + +# def capture(self, t): +# self._output += str(t) + + +# def recover(self, input, re): +# # no error recovery yet, just crash! +# raise + +# return TParser + + +# def execParser(self, grammar, grammarEntry, input): +# lexerCls, parserCls = self.compileInlineGrammar(grammar) + +# cStream = antlr3.StringStream(input) +# lexer = lexerCls(cStream) +# tStream = antlr3.CommonTokenStream(lexer) +# parser = parserCls(tStream) +# getattr(parser, grammarEntry)() +# return parser._output + + +# def runTests(self, grammar, tests, grammarEntry): +# lexerCls, parserCls = self.compileInlineGrammar(grammar) + +# build_ast = re.search(r'output\s*=\s*AST', grammar) + +# for input, expecting in tests: +# cStream = antlr3.StringStream(input) +# lexer = lexerCls(cStream) +# tStream = antlr3.CommonTokenStream(lexer) +# parser = parserCls(tStream) +# r = getattr(parser, grammarEntry)() +# found = parser._output +# if build_ast: +# found += r.tree.toStringTree() + +# self.assertEquals( +# expecting, found, +# "%r != %r (for input %r)" % (expecting, found, input)) + + +# def testSimple(self): +# grammar = textwrap.dedent( +# r""" +# grammar T; +# options { +# language=Python; +# } +# s : a { self.capture($a.text) } ; +# a : a ID +# | ID +# ; +# ID : 'a'..'z'+ ; +# WS : (' '|'\n') {self.skip()} ; +# """) + +# found = self.execParser(grammar, 's', 'a b c') +# expecting = "abc" +# self.assertEquals(expecting, found) + + +# def testSemPred(self): +# grammar = textwrap.dedent( +# r""" +# grammar T; +# options { +# language=Python; +# } +# s : a { self.capture($a.text) } ; +# a : a {True}? ID +# | ID +# ; +# ID : 'a'..'z'+ ; +# WS : (' '|'\n') {self.skip()} ; +# """) + +# found = self.execParser(grammar, "s", "a b c") +# expecting = "abc" +# self.assertEquals(expecting, found) + +# def testTernaryExpr(self): +# grammar = textwrap.dedent( +# r""" +# grammar T; +# options { +# language=Python; +# output=AST; +# } +# e : e '*'^ e +# | e '+'^ e +# | e '?'^ e ':'! e +# | e '='^ e +# | ID +# ; +# ID : 'a'..'z'+ ; +# WS : (' '|'\n') {self.skip()} ; +# """) + +# tests = [ +# ("a", "a"), +# ("a+b", "(+ a b)"), +# ("a*b", "(* a b)"), +# ("a?b:c", "(? a b c)"), +# ("a=b=c", "(= a (= b c))"), +# ("a?b+c:d", "(? a (+ b c) d)"), +# ("a?b=c:d", "(? a (= b c) d)"), +# ("a? b?c:d : e", "(? a (? b c d) e)"), +# ("a?b: c?d:e", "(? a b (? c d e))"), +# ] +# self.runTests(grammar, tests, "e") + + +# def testDeclarationsUsingASTOperators(self): +# grammar = textwrap.dedent( +# r""" +# grammar T; +# options { +# language=Python; +# output=AST; +# } +# declarator +# : declarator '['^ e ']'! +# | declarator '['^ ']'! +# | declarator '('^ ')'! +# | '*'^ declarator // binds less tight than suffixes +# | '('! declarator ')'! +# | ID +# ; +# e : INT ; +# ID : 'a'..'z'+ ; +# INT : '0'..'9'+ ; +# WS : (' '|'\n') {self.skip()} ; +# """) + +# tests = [ +# ("a", "a"), +# ("*a", "(* a)"), +# ("**a", "(* (* a))"), +# ("a[3]", "([ a 3)"), +# ("b[]", "([ b)"), +# ("(a)", "a"), +# ("a[]()", "(( ([ a))"), +# ("a[][]", "([ ([ a))"), +# ("*a[]", "(* ([ a))"), +# ("(*a)[]", "([ (* a))"), +# ] +# self.runTests(grammar, tests, "declarator") + + +# def testDeclarationsUsingRewriteOperators(self): +# grammar = textwrap.dedent( +# r""" +# grammar T; +# options { +# language=Python; +# output=AST; +# } +# declarator +# : declarator '[' e ']' -> ^('[' declarator e) +# | declarator '[' ']' -> ^('[' declarator) +# | declarator '(' ')' -> ^('(' declarator) +# | '*' declarator -> ^('*' declarator) // binds less tight than suffixes +# | '(' declarator ')' -> declarator +# | ID -> ID +# ; +# e : INT ; +# ID : 'a'..'z'+ ; +# INT : '0'..'9'+ ; +# WS : (' '|'\n') {self.skip()} ; +# """) + +# tests = [ +# ("a", "a"), +# ("*a", "(* a)"), +# ("**a", "(* (* a))"), +# ("a[3]", "([ a 3)"), +# ("b[]", "([ b)"), +# ("(a)", "a"), +# ("a[]()", "(( ([ a))"), +# ("a[][]", "([ ([ a))"), +# ("*a[]", "(* ([ a))"), +# ("(*a)[]", "([ (* a))"), +# ] +# self.runTests(grammar, tests, "declarator") + + +# def testExpressionsUsingASTOperators(self): +# grammar = textwrap.dedent( +# r""" +# grammar T; +# options { +# language=Python; +# output=AST; +# } +# e : e '.'^ ID +# | e '.'^ 'this' +# | '-'^ e +# | e '*'^ e +# | e ('+'^|'-'^) e +# | INT +# | ID +# ; +# ID : 'a'..'z'+ ; +# INT : '0'..'9'+ ; +# WS : (' '|'\n') {self.skip()} ; +# """) + +# tests = [ +# ("a", "a"), +# ("1", "1"), +# ("a+1", "(+ a 1)"), +# ("a*1", "(* a 1)"), +# ("a.b", "(. a b)"), +# ("a.this", "(. a this)"), +# ("a-b+c", "(+ (- a b) c)"), +# ("a+b*c", "(+ a (* b c))"), +# ("a.b+1", "(+ (. a b) 1)"), +# ("-a", "(- a)"), +# ("-a+b", "(+ (- a) b)"), +# ("-a.b", "(- (. a b))"), +# ] +# self.runTests(grammar, tests, "e") + + +# @testbase.broken( +# "Grammar compilation returns errors", testbase.GrammarCompileError) +# def testExpressionsUsingRewriteOperators(self): +# grammar = textwrap.dedent( +# r""" +# grammar T; +# options { +# language=Python; +# output=AST; +# } +# e : e '.' ID -> ^('.' e ID) +# | e '.' 'this' -> ^('.' e 'this') +# | '-' e -> ^('-' e) +# | e '*' b=e -> ^('*' e $b) +# | e (op='+'|op='-') b=e -> ^($op e $b) +# | INT -> INT +# | ID -> ID +# ; +# ID : 'a'..'z'+ ; +# INT : '0'..'9'+ ; +# WS : (' '|'\n') {self.skip()} ; +# """) + +# tests = [ +# ("a", "a"), +# ("1", "1"), +# ("a+1", "(+ a 1)"), +# ("a*1", "(* a 1)"), +# ("a.b", "(. a b)"), +# ("a.this", "(. a this)"), +# ("a+b*c", "(+ a (* b c))"), +# ("a.b+1", "(+ (. a b) 1)"), +# ("-a", "(- a)"), +# ("-a+b", "(+ (- a) b)"), +# ("-a.b", "(- (. a b))"), +# ] +# self.runTests(grammar, tests, "e") + + +# def testExpressionAssociativity(self): +# grammar = textwrap.dedent( +# r""" +# grammar T; +# options { +# language=Python; +# output=AST; +# } +# e +# : e '.'^ ID +# | '-'^ e +# | e '^'^ e +# | e '*'^ e +# | e ('+'^|'-'^) e +# | e ('='^ |'+='^) e +# | INT +# | ID +# ; +# ID : 'a'..'z'+ ; +# INT : '0'..'9'+ ; +# WS : (' '|'\n') {self.skip()} ; +# """) + +# tests = [ +# ("a", "a"), +# ("1", "1"), +# ("a+1", "(+ a 1)"), +# ("a*1", "(* a 1)"), +# ("a.b", "(. a b)"), +# ("a-b+c", "(+ (- a b) c)"), +# ("a+b*c", "(+ a (* b c))"), +# ("a.b+1", "(+ (. a b) 1)"), +# ("-a", "(- a)"), +# ("-a+b", "(+ (- a) b)"), +# ("-a.b", "(- (. a b))"), +# ("a^b^c", "(^ a (^ b c))"), +# ("a=b=c", "(= a (= b c))"), +# ("a=b=c+d.e", "(= a (= b (+ c (. d e))))"), +# ] +# self.runTests(grammar, tests, "e") + + +# def testJavaExpressions(self): +# grammar = textwrap.dedent( +# r""" +# grammar T; +# options { +# language=Python; +# output=AST; +# } +# expressionList +# : e (','! e)* +# ; +# e : '('! e ')'! +# | 'this' +# | 'super' +# | INT +# | ID +# | type '.'^ 'class' +# | e '.'^ ID +# | e '.'^ 'this' +# | e '.'^ 'super' '('^ expressionList? ')'! +# | e '.'^ 'new'^ ID '('! expressionList? ')'! +# | 'new'^ type ( '(' expressionList? ')'! | (options {k=1;}:'[' e ']'!)+) // ugly; simplified +# | e '['^ e ']'! +# | '('^ type ')'! e +# | e ('++'^ | '--'^) +# | e '('^ expressionList? ')'! +# | ('+'^|'-'^|'++'^|'--'^) e +# | ('~'^|'!'^) e +# | e ('*'^|'/'^|'%'^) e +# | e ('+'^|'-'^) e +# | e ('<'^ '<' | '>'^ '>' '>' | '>'^ '>') e +# | e ('<='^ | '>='^ | '>'^ | '<'^) e +# | e 'instanceof'^ e +# | e ('=='^ | '!='^) e +# | e '&'^ e +# | e '^'^ e +# | e '|'^ e +# | e '&&'^ e +# | e '||'^ e +# | e '?' e ':' e +# | e ('='^ +# |'+='^ +# |'-='^ +# |'*='^ +# |'/='^ +# |'&='^ +# |'|='^ +# |'^='^ +# |'>>='^ +# |'>>>='^ +# |'<<='^ +# |'%='^) e +# ; +# type: ID +# | ID '['^ ']'! +# | 'int' +# | 'int' '['^ ']'! +# ; +# ID : ('a'..'z'|'A'..'Z'|'_'|'$')+; +# INT : '0'..'9'+ ; +# WS : (' '|'\n') {self.skip()} ; +# """) + +# tests = [ +# ("a", "a"), +# ("1", "1"), +# ("a+1", "(+ a 1)"), +# ("a*1", "(* a 1)"), +# ("a.b", "(. a b)"), +# ("a-b+c", "(+ (- a b) c)"), +# ("a+b*c", "(+ a (* b c))"), +# ("a.b+1", "(+ (. a b) 1)"), +# ("-a", "(- a)"), +# ("-a+b", "(+ (- a) b)"), +# ("-a.b", "(- (. a b))"), +# ("a^b^c", "(^ a (^ b c))"), +# ("a=b=c", "(= a (= b c))"), +# ("a=b=c+d.e", "(= a (= b (+ c (. d e))))"), +# ("a|b&c", "(| a (& b c))"), +# ("(a|b)&c", "(& (| a b) c)"), +# ("a > b", "(> a b)"), +# ("a >> b", "(> a b)"), # text is from one token +# ("a < b", "(< a b)"), +# ("(T)x", "(( T x)"), +# ("new A().b", "(. (new A () b)"), +# ("(T)t.f()", "(( (( T (. t f)))"), +# ("a.f(x)==T.c", "(== (( (. a f) x) (. T c))"), +# ("a.f().g(x,1)", "(( (. (( (. a f)) g) x 1)"), +# ("new T[((n-1) * x) + 1]", "(new T [ (+ (* (- n 1) x) 1))"), +# ] +# self.runTests(grammar, tests, "e") + + +# def testReturnValueAndActions(self): +# grammar = textwrap.dedent( +# r""" +# grammar T; +# options { +# language=Python; +# } +# s : e { self.capture($e.v) } ; +# e returns [v, ignored] +# : e '*' b=e {$v *= $b.v;} +# | e '+' b=e {$v += $b.v;} +# | INT {$v = int($INT.text);} +# ; +# INT : '0'..'9'+ ; +# WS : (' '|'\n') {self.skip()} ; +# """) + +# tests = [ +# ("4", "4"), +# ("1+2", "3") +# ] +# self.runTests(grammar, tests, "s") + + +# def testReturnValueAndActionsAndASTs(self): +# grammar = textwrap.dedent( +# r""" +# grammar T; +# options { +# language=Python; +# output=AST; +# } +# s : e { self.capture("v=\%s, " \% $e.v) } ; +# e returns [v, ignored] +# : e '*'^ b=e {$v *= $b.v;} +# | e '+'^ b=e {$v += $b.v;} +# | INT {$v = int($INT.text);} +# ; +# INT : '0'..'9'+ ; +# WS : (' '|'\n') {self.skip()} ; +# """) + +# tests = [ +# ("4", "v=4, 4"), +# ("1+2", "v=3, (+ 1 2)"), +# ] +# self.runTests(grammar, tests, "s") + + +if __name__ == '__main__': + unittest.main() diff --git a/runtime/Python/tests/testbase.py b/runtime/Python/tests/testbase.py index c0f0bed3..19c7fec7 100644 --- a/runtime/Python/tests/testbase.py +++ b/runtime/Python/tests/testbase.py @@ -8,6 +8,7 @@ import tempfile import shutil import inspect +import hashlib from distutils.errors import * import antlr3 @@ -19,6 +20,11 @@ def unlink(path): raise +class GrammarCompileError(Exception): + """Grammar failed to compile.""" + pass + + # At least on MacOSX tempdir (/tmp) is a symlink. It's sometimes dereferences, # sometimes not, breaking the inspect.getmodule() function. testbasedir = os.path.join( @@ -61,7 +67,7 @@ def replacement(*args, **kwargs): baseDir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..')) libDir = os.path.join(baseDir, 'lib') - jar = os.path.join(libDir, 'stringtemplate-3.1b1.jar') + jar = os.path.join(libDir, 'ST-4.0.1.jar') if not os.path.isfile(jar): raise DistutilsFileError( "Missing file '%s'. Grap it from a distribution package." @@ -91,7 +97,7 @@ def replacement(*args, **kwargs): else: classpath = '' - + class ANTLRTest(unittest.TestCase): def __init__(self, *args, **kwargs): @@ -100,15 +106,23 @@ def __init__(self, *args, **kwargs): self.moduleName = os.path.splitext(os.path.basename(sys.modules[self.__module__].__file__))[0] self.className = self.__class__.__name__ self._baseDir = None - + self.lexerModule = None self.parserModule = None self.grammarName = None self.grammarType = None - self.antlr_version = antlr3.version_str_to_tuple( - os.environ.get('ANTLRVERSION', 'HEAD')) + + def assertListEqual(self, a, b): + if a == b: + return + + import difflib + a = [str(l) + '\n' for l in a] + b = [str(l) + '\n' for l in b] + + raise AssertionError(''.join(difflib.unified_diff(a, b))) @property @@ -141,7 +155,7 @@ def baseDir(self): return self._baseDir - + def _invokeantlr(self, dir, file, options, javaOptions=''): cmd = 'cd %s; java %s %s org.antlr.Tool -o . %s %s 2>&1' % ( dir, javaOptions, classpath, options, file @@ -160,25 +174,25 @@ def _invokeantlr(self, dir, file, options, javaOptions=''): failed = True if failed: - raise RuntimeError( + raise GrammarCompileError( "Failed to compile grammar '%s':\n%s\n\n" % (file, cmd) + output ) - - + + def compileGrammar(self, grammarName=None, options='', javaOptions=''): if grammarName is None: grammarName = self.moduleName + '.g' - + self._baseDir = os.path.join( testbasedir, self.moduleName) if not os.path.isdir(self._baseDir): os.makedirs(self._baseDir) - + if self.grammarName is None: self.grammarName = os.path.splitext(grammarName)[0] - + grammarPath = os.path.join(os.path.dirname(os.path.abspath(__file__)), grammarName) # get type and name from first grammar line @@ -197,92 +211,91 @@ def compileGrammar(self, grammarName=None, options='', javaOptions=''): return try: - # get dependencies from antlr - if grammarName in dependencyCache: - dependencies = dependencyCache[grammarName] - - else: - dependencies = [] - cmd = ('cd %s; java %s %s org.antlr.Tool -o . -depend %s 2>&1' - % (self.baseDir, javaOptions, classpath, grammarPath) - ) - - output = "" - failed = False - - fp = os.popen(cmd) - for line in fp: - output += line - - if line.startswith('error('): - failed = True - elif ':' in line: - a, b = line.strip().split(':', 1) - dependencies.append( - (os.path.join(self.baseDir, a.strip()), - [os.path.join(self.baseDir, b.strip())]) - ) - - rc = fp.close() - if rc is not None: - failed = True - - if failed: - raise RuntimeError( - "antlr -depend failed with code %s on grammar '%s':\n\n" - % (rc, grammarName) - + cmd - + "\n" - + output - ) - - # add dependencies to my .stg files - templateDir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'src', 'org', 'antlr', 'codegen', 'templates', 'Python')) - templates = glob.glob(os.path.join(templateDir, '*.stg')) - - for dst, src in dependencies: - src.extend(templates) - - dependencyCache[grammarName] = dependencies - - - rebuild = False - - for dest, sources in dependencies: - if not os.path.isfile(dest): - rebuild = True - break - - for source in sources: - if os.path.getmtime(source) > os.path.getmtime(dest): - rebuild = True - break - - - if rebuild: - self._invokeantlr(self.baseDir, grammarPath, options, javaOptions) + # # get dependencies from antlr + # if grammarName in dependencyCache: + # dependencies = dependencyCache[grammarName] + + # else: + # dependencies = [] + # cmd = ('cd %s; java %s %s org.antlr.Tool -o . -depend %s 2>&1' + # % (self.baseDir, javaOptions, classpath, grammarPath)) + + # output = "" + # failed = False + + # fp = os.popen(cmd) + # for line in fp: + # output += line + + # if line.startswith('error('): + # failed = True + # elif ':' in line: + # a, b = line.strip().split(':', 1) + # dependencies.append( + # (os.path.join(self.baseDir, a.strip()), + # [os.path.join(self.baseDir, b.strip())]) + # ) + + # rc = fp.close() + # if rc is not None: + # failed = True + + # if failed: + # raise GrammarCompileError( + # "antlr -depend failed with code %s on grammar '%s':\n\n" + # % (rc, grammarName) + # + cmd + # + "\n" + # + output + # ) + + # # add dependencies to my .stg files + # templateDir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'tool', 'src', 'main', 'resources', 'org', 'antlr', 'codegen', 'templates', 'Python')) + # templates = glob.glob(os.path.join(templateDir, '*.stg')) + + # for dst, src in dependencies: + # src.extend(templates) + + # dependencyCache[grammarName] = dependencies + + # rebuild = False + # for dest, sources in dependencies: + # if not os.path.isfile(dest): + # rebuild = True + # break + + # for source in sources: + # if os.path.getmtime(source) > os.path.getmtime(dest): + # rebuild = True + # break + + + # if rebuild: + # self._invokeantlr(self.baseDir, grammarPath, options, javaOptions) + + self._invokeantlr(self.baseDir, grammarPath, options, javaOptions) except: # mark grammar as broken compileErrorCache[grammarName] = True raise - + def lexerClass(self, base): """Optionally build a subclass of generated lexer class""" - + return base def parserClass(self, base): """Optionally build a subclass of generated parser class""" - + return base def walkerClass(self, base): """Optionally build a subclass of generated walker class""" - + return base @@ -293,28 +306,28 @@ def __load_module(self, name): return imp.load_module( name, modFile, modPathname, modDescription ) - - + + def getLexer(self, *args, **kwargs): """Build lexer instance. Arguments are passed to lexer.__init__().""" - if self.grammarType == 'lexer' and self.antlr_version >= (3, 1, 0, 0): + if self.grammarType == 'lexer': self.lexerModule = self.__load_module(self.grammarName) cls = getattr(self.lexerModule, self.grammarName) else: self.lexerModule = self.__load_module(self.grammarName + 'Lexer') cls = getattr(self.lexerModule, self.grammarName + 'Lexer') - + cls = self.lexerClass(cls) lexer = cls(*args, **kwargs) return lexer - + def getParser(self, *args, **kwargs): """Build parser instance. Arguments are passed to parser.__init__().""" - + if self.grammarType == 'parser': self.lexerModule = self.__load_module(self.grammarName) cls = getattr(self.lexerModule, self.grammarName) @@ -326,11 +339,11 @@ def getParser(self, *args, **kwargs): parser = cls(*args, **kwargs) return parser - + def getWalker(self, *args, **kwargs): """Build walker instance. Arguments are passed to walker.__init__().""" - + self.walkerModule = self.__load_module(self.grammarName + 'Walker') cls = getattr(self.walkerModule, self.grammarName + 'Walker') cls = self.walkerClass(cls) @@ -341,6 +354,14 @@ def getWalker(self, *args, **kwargs): def writeInlineGrammar(self, grammar): + # Create a unique ID for this test and use it as the grammar name, + # to avoid class name reuse. This kinda sucks. Need to find a way so + # tests can use the same grammar name without messing up the namespace. + # Well, first I should figure out what the exact problem is... + id = hashlib.md5(self.baseDir).hexdigest()[-8:] + grammar = grammar.replace('$TP', 'TP' + id) + grammar = grammar.replace('$T', 'T' + id) + # get type and name from first grammar line m = re.match(r'\s*((lexer|parser|tree)\s+|)grammar\s+(\S+);', grammar, re.MULTILINE) assert m is not None, grammar @@ -352,26 +373,26 @@ def writeInlineGrammar(self, grammar): assert grammarType in ('lexer', 'parser', 'tree', 'combined'), grammarType grammarPath = os.path.join(self.baseDir, grammarName + '.g') - + # dump temp grammar file fp = open(grammarPath, 'w') fp.write(grammar) fp.close() return grammarName, grammarPath, grammarType - + def writeFile(self, name, contents): testDir = os.path.dirname(os.path.abspath(__file__)) path = os.path.join(self.baseDir, name) - + fp = open(path, 'w') fp.write(contents) fp.close() return path - + def compileInlineGrammar(self, grammar, options='', javaOptions='', returnModule=False): # write grammar file @@ -384,25 +405,25 @@ def compileInlineGrammar(self, grammar, options='', javaOptions='', options, javaOptions ) - + if grammarType == 'combined': lexerMod = self.__load_module(grammarName + 'Lexer') parserMod = self.__load_module(grammarName + 'Parser') if returnModule: return lexerMod, parserMod - + lexerCls = getattr(lexerMod, grammarName + 'Lexer') lexerCls = self.lexerClass(lexerCls) parserCls = getattr(parserMod, grammarName + 'Parser') parserCls = self.parserClass(parserCls) return lexerCls, parserCls - + if grammarType == 'lexer': lexerMod = self.__load_module(grammarName) if returnModule: return lexerMod - + lexerCls = getattr(lexerMod, grammarName) lexerCls = self.lexerClass(lexerCls) @@ -412,7 +433,7 @@ def compileInlineGrammar(self, grammar, options='', javaOptions='', parserMod = self.__load_module(grammarName) if returnModule: return parserMod - + parserCls = getattr(parserMod, grammarName) parserCls = self.parserClass(parserCls) @@ -422,7 +443,7 @@ def compileInlineGrammar(self, grammar, options='', javaOptions='', walkerMod = self.__load_module(grammarName) if returnModule: return walkerMod - + walkerCls = getattr(walkerMod, grammarName) walkerCls = self.walkerClass(walkerCls) diff --git a/runtime/Python/unittests/testdfa.py b/runtime/Python/unittests/testdfa.py index 5b992278..7df3fb85 100644 --- a/runtime/Python/unittests/testdfa.py +++ b/runtime/Python/unittests/testdfa.py @@ -15,16 +15,16 @@ def setUp(self): """ class TRecognizer(antlr3.BaseRecognizer): - antlr_version = antlr3.runtime_version - + api_version = 'HEAD' + self.recog = TRecognizer() - - + + def testInit(self): """DFA.__init__() Just a smoke test. - + """ dfa = antlr3.DFA( @@ -36,7 +36,7 @@ def testInit(self): accept=[], special=[], transition=[] - ) + ) def testUnpack(self): @@ -56,8 +56,8 @@ def testUnpack(self): 6, 6, 6, 6, 6 ] ) - - + + if __name__ == "__main__": unittest.main(testRunner=unittest.TextTestRunner(verbosity=2)) diff --git a/runtime/Python/unittests/testrecognizers.py b/runtime/Python/unittests/testrecognizers.py index 599d281d..1fd87916 100644 --- a/runtime/Python/unittests/testrecognizers.py +++ b/runtime/Python/unittests/testrecognizers.py @@ -6,7 +6,7 @@ class TestBaseRecognizer(unittest.TestCase): """Tests for BaseRecognizer class""" - + def testGetRuleInvocationStack(self): """BaseRecognizer._getRuleInvocationStack()""" @@ -15,19 +15,19 @@ def testGetRuleInvocationStack(self): rules, ['testGetRuleInvocationStack'] ) - + class TestTokenSource(unittest.TestCase): """Testcase to the antlr3.TokenSource class""" - + def testIteratorInterface(self): """TokenSource.next()""" class TrivialToken(object): def __init__(self, type): self.type = type - + class TestSource(antlr3.TokenSource): def __init__(self): self.tokens = [ @@ -41,15 +41,15 @@ def __init__(self): def nextToken(self): return self.tokens.pop(0) - + src = TestSource() tokens = [] for token in src: tokens.append(token.type) self.failUnlessEqual(tokens, [1, 2, 3, 4]) - - + + class TestLexer(unittest.TestCase): @@ -57,11 +57,11 @@ def testInit(self): """Lexer.__init__()""" class TLexer(antlr3.Lexer): - antlr_version = antlr3.runtime_version + api_version = 'HEAD' stream = antlr3.StringStream('foo') TLexer(stream) - + if __name__ == "__main__": unittest.main(testRunner=unittest.TextTestRunner(verbosity=2)) diff --git a/runtime/Python/unittests/teststreams.py b/runtime/Python/unittests/teststreams.py index fe28750d..f8430ba9 100644 --- a/runtime/Python/unittests/teststreams.py +++ b/runtime/Python/unittests/teststreams.py @@ -16,15 +16,15 @@ def testSize(self): self.failUnlessEqual(stream.size(), 3) - + def testIndex(self): """StringStream.index()""" stream = antlr3.StringStream('foo') self.failUnlessEqual(stream.index(), 0) - - + + def testConsume(self): """StringStream.consume()""" @@ -74,8 +74,8 @@ def testConsume(self): self.failUnlessEqual(stream.index(), 7) self.failUnlessEqual(stream.charPositionInLine, 3) self.failUnlessEqual(stream.line, 2) - - + + def testReset(self): """StringStream.reset()""" @@ -89,8 +89,8 @@ def testReset(self): self.failUnlessEqual(stream.line, 1) self.failUnlessEqual(stream.charPositionInLine, 0) self.failUnlessEqual(stream.LT(1), 'f') - - + + def testLA(self): """StringStream.LA()""" @@ -99,7 +99,7 @@ def testLA(self): self.failUnlessEqual(stream.LT(1), 'f') self.failUnlessEqual(stream.LT(2), 'o') self.failUnlessEqual(stream.LT(3), 'o') - + stream.consume() stream.consume() @@ -112,20 +112,20 @@ def testSubstring(self): """StringStream.substring()""" stream = antlr3.StringStream('foobar') - + self.failUnlessEqual(stream.substring(0, 0), 'f') self.failUnlessEqual(stream.substring(0, 1), 'fo') self.failUnlessEqual(stream.substring(0, 5), 'foobar') self.failUnlessEqual(stream.substring(3, 5), 'bar') - - + + def testSeekForward(self): """StringStream.seek(): forward""" stream = antlr3.StringStream('foo\nbar') stream.seek(4) - + self.failUnlessEqual(stream.index(), 4) self.failUnlessEqual(stream.line, 2) self.failUnlessEqual(stream.charPositionInLine, 0) @@ -140,7 +140,7 @@ def testSeekForward(self): ## stream.seek(4) ## stream.seek(1) - + ## self.failUnlessEqual(stream.index(), 1) ## self.failUnlessEqual(stream.line, 1) ## self.failUnlessEqual(stream.charPositionInLine, 1) @@ -162,7 +162,7 @@ def testMark(self): marker = stream.mark() self.failUnlessEqual(marker, 2) self.failUnlessEqual(stream.markDepth, 2) - + def testReleaseLast(self): """StringStream.release(): last marker""" @@ -171,7 +171,7 @@ def testReleaseLast(self): stream.seek(4) marker1 = stream.mark() - + stream.consume() marker2 = stream.mark() @@ -181,7 +181,7 @@ def testReleaseLast(self): # release same marker again, nothing has changed stream.release() self.failUnlessEqual(stream.markDepth, 1) - + def testReleaseNested(self): """StringStream.release(): nested""" @@ -190,16 +190,16 @@ def testReleaseNested(self): stream.seek(4) marker1 = stream.mark() - + stream.consume() marker2 = stream.mark() - + stream.consume() marker3 = stream.mark() stream.release(marker2) self.failUnlessEqual(stream.markDepth, 1) - + def testRewindLast(self): """StringStream.rewind(): last marker""" @@ -218,7 +218,7 @@ def testRewindLast(self): self.failUnlessEqual(stream.line, 2) self.failUnlessEqual(stream.charPositionInLine, 0) self.failUnlessEqual(stream.LT(1), 'b') - + def testRewindNested(self): """StringStream.rewind(): nested""" @@ -227,10 +227,10 @@ def testRewindNested(self): stream.seek(4) marker1 = stream.mark() - + stream.consume() marker2 = stream.mark() - + stream.consume() marker3 = stream.mark() @@ -241,22 +241,22 @@ def testRewindNested(self): self.failUnlessEqual(stream.charPositionInLine, 1) self.failUnlessEqual(stream.LT(1), 'a') - + class TestFileStream(unittest.TestCase): """Test case for the FileStream class.""" def testNoEncoding(self): path = os.path.join(os.path.dirname(__file__), 'teststreams.input1') - + stream = antlr3.FileStream(path) stream.seek(4) marker1 = stream.mark() - + stream.consume() marker2 = stream.mark() - + stream.consume() marker3 = stream.mark() @@ -271,15 +271,15 @@ def testNoEncoding(self): def testEncoded(self): path = os.path.join(os.path.dirname(__file__), 'teststreams.input2') - + stream = antlr3.FileStream(path, 'utf-8') stream.seek(4) marker1 = stream.mark() - + stream.consume() marker2 = stream.mark() - + stream.consume() marker3 = stream.mark() @@ -291,22 +291,22 @@ def testEncoded(self): self.failUnlessEqual(stream.LT(1), u'ä') self.failUnlessEqual(stream.LA(1), ord(u'ä')) - + class TestInputStream(unittest.TestCase): """Test case for the InputStream class.""" def testNoEncoding(self): file = StringIO('foo\nbar') - + stream = antlr3.InputStream(file) stream.seek(4) marker1 = stream.mark() - + stream.consume() marker2 = stream.mark() - + stream.consume() marker3 = stream.mark() @@ -321,15 +321,15 @@ def testNoEncoding(self): def testEncoded(self): file = StringIO(u'foo\nbär'.encode('utf-8')) - + stream = antlr3.InputStream(file, 'utf-8') stream.seek(4) marker1 = stream.mark() - + stream.consume() marker2 = stream.mark() - + stream.consume() marker3 = stream.mark() @@ -341,7 +341,7 @@ def testEncoded(self): self.failUnlessEqual(stream.LT(1), u'ä') self.failUnlessEqual(stream.LA(1), ord(u'ä')) - + class TestCommonTokenStream(unittest.TestCase): """Test case for the StringStream class.""" @@ -357,22 +357,25 @@ class MockSource(object): def __init__(self): self.tokens = [] + def makeEOFToken(self): + return antlr3.CommonToken(type=antlr3.EOF) + def nextToken(self): try: return self.tokens.pop(0) except IndexError: return None - + self.source = MockSource() - - + + def testInit(self): """CommonTokenStream.__init__()""" stream = antlr3.CommonTokenStream(self.source) self.failUnlessEqual(stream.index(), -1) - - + + def testSetTokenSource(self): """CommonTokenStream.setTokenSource()""" @@ -389,7 +392,7 @@ def testLTEmptySource(self): lt1 = stream.LT(1) self.failUnlessEqual(lt1.type, antlr3.EOF) - + def testLT1(self): """CommonTokenStream.LT(1)""" @@ -397,12 +400,12 @@ def testLT1(self): self.source.tokens.append( antlr3.CommonToken(type=12) ) - + stream = antlr3.CommonTokenStream(self.source) lt1 = stream.LT(1) self.failUnlessEqual(lt1.type, 12) - + def testLT1WithHidden(self): """CommonTokenStream.LT(1): with hidden tokens""" @@ -410,16 +413,16 @@ def testLT1WithHidden(self): self.source.tokens.append( antlr3.CommonToken(type=12, channel=antlr3.HIDDEN_CHANNEL) ) - + self.source.tokens.append( antlr3.CommonToken(type=13) ) - + stream = antlr3.CommonTokenStream(self.source) lt1 = stream.LT(1) self.failUnlessEqual(lt1.type, 13) - + def testLT2BeyondEnd(self): """CommonTokenStream.LT(2): beyond end""" @@ -427,16 +430,16 @@ def testLT2BeyondEnd(self): self.source.tokens.append( antlr3.CommonToken(type=12) ) - + self.source.tokens.append( antlr3.CommonToken(type=13, channel=antlr3.HIDDEN_CHANNEL) ) - + stream = antlr3.CommonTokenStream(self.source) lt1 = stream.LT(2) self.failUnlessEqual(lt1.type, antlr3.EOF) - + # not yet implemented def testLTNegative(self): @@ -445,15 +448,15 @@ def testLTNegative(self): self.source.tokens.append( antlr3.CommonToken(type=12) ) - + self.source.tokens.append( antlr3.CommonToken(type=13) ) - + stream = antlr3.CommonTokenStream(self.source) stream.fillBuffer() stream.consume() - + lt1 = stream.LT(-1) self.failUnlessEqual(lt1.type, 12) @@ -464,17 +467,17 @@ def testLB1(self): self.source.tokens.append( antlr3.CommonToken(type=12) ) - + self.source.tokens.append( antlr3.CommonToken(type=13) ) - + stream = antlr3.CommonTokenStream(self.source) stream.fillBuffer() stream.consume() - + self.failUnlessEqual(stream.LB(1).type, 12) - + def testLTZero(self): """CommonTokenStream.LT(0)""" @@ -482,16 +485,16 @@ def testLTZero(self): self.source.tokens.append( antlr3.CommonToken(type=12) ) - + self.source.tokens.append( antlr3.CommonToken(type=13) ) - + stream = antlr3.CommonTokenStream(self.source) lt1 = stream.LT(0) self.failUnless(lt1 is None) - + def testLBBeyondBegin(self): """CommonTokenStream.LB(-1): beyond begin""" @@ -499,26 +502,26 @@ def testLBBeyondBegin(self): self.source.tokens.append( antlr3.CommonToken(type=12) ) - + self.source.tokens.append( antlr3.CommonToken(type=12, channel=antlr3.HIDDEN_CHANNEL) ) - + self.source.tokens.append( antlr3.CommonToken(type=12, channel=antlr3.HIDDEN_CHANNEL) ) - + self.source.tokens.append( antlr3.CommonToken(type=13) ) - + stream = antlr3.CommonTokenStream(self.source) self.failUnless(stream.LB(1) is None) stream.consume() stream.consume() self.failUnless(stream.LB(3) is None) - + def testFillBuffer(self): """CommonTokenStream.fillBuffer()""" @@ -526,19 +529,19 @@ def testFillBuffer(self): self.source.tokens.append( antlr3.CommonToken(type=12) ) - + self.source.tokens.append( antlr3.CommonToken(type=13) ) - + self.source.tokens.append( antlr3.CommonToken(type=14) ) - + self.source.tokens.append( antlr3.CommonToken(type=antlr3.EOF) ) - + stream = antlr3.CommonTokenStream(self.source) stream.fillBuffer() @@ -546,23 +549,23 @@ def testFillBuffer(self): self.failUnlessEqual(stream.tokens[0].type, 12) self.failUnlessEqual(stream.tokens[1].type, 13) self.failUnlessEqual(stream.tokens[2].type, 14) - - + + def testConsume(self): """CommonTokenStream.consume()""" self.source.tokens.append( antlr3.CommonToken(type=12) ) - + self.source.tokens.append( antlr3.CommonToken(type=13) ) - + self.source.tokens.append( antlr3.CommonToken(type=antlr3.EOF) ) - + stream = antlr3.CommonTokenStream(self.source) self.failUnlessEqual(stream.LA(1), 12) @@ -574,23 +577,23 @@ def testConsume(self): stream.consume() self.failUnlessEqual(stream.LA(1), antlr3.EOF) - - + + def testSeek(self): """CommonTokenStream.seek()""" self.source.tokens.append( antlr3.CommonToken(type=12) ) - + self.source.tokens.append( antlr3.CommonToken(type=13) ) - + self.source.tokens.append( antlr3.CommonToken(type=antlr3.EOF) ) - + stream = antlr3.CommonTokenStream(self.source) self.failUnlessEqual(stream.LA(1), 12) @@ -599,60 +602,60 @@ def testSeek(self): stream.seek(0) self.failUnlessEqual(stream.LA(1), 12) - - + + def testMarkRewind(self): """CommonTokenStream.mark()/rewind()""" self.source.tokens.append( antlr3.CommonToken(type=12) ) - + self.source.tokens.append( antlr3.CommonToken(type=13) ) - + self.source.tokens.append( antlr3.CommonToken(type=antlr3.EOF) ) - + stream = antlr3.CommonTokenStream(self.source) stream.fillBuffer() - + stream.consume() marker = stream.mark() - + stream.consume() stream.rewind(marker) - + self.failUnlessEqual(stream.LA(1), 13) def testToString(self): """CommonTokenStream.toString()""" - + self.source.tokens.append( antlr3.CommonToken(type=12, text="foo") ) - + self.source.tokens.append( antlr3.CommonToken(type=13, text="bar") ) - + self.source.tokens.append( antlr3.CommonToken(type=14, text="gnurz") ) - + self.source.tokens.append( antlr3.CommonToken(type=15, text="blarz") ) - + stream = antlr3.CommonTokenStream(self.source) assert stream.toString() == "foobargnurzblarz" assert stream.toString(1, 2) == "bargnurz" assert stream.toString(stream.tokens[1], stream.tokens[-2]) == "bargnurz" - + if __name__ == "__main__": unittest.main(testRunner=unittest.TextTestRunner(verbosity=2)) diff --git a/runtime/Python/unittests/testtree.py b/runtime/Python/unittests/testtree.py index be9a8842..1f4e36ff 100644 --- a/runtime/Python/unittests/testtree.py +++ b/runtime/Python/unittests/testtree.py @@ -5,7 +5,7 @@ from StringIO import StringIO from antlr3.tree import (CommonTreeNodeStream, CommonTree, CommonTreeAdaptor, - TreeParser, TreeVisitor) + TreeParser, TreeVisitor, TreeIterator) from antlr3 import CommonToken, UP, DOWN, EOF from antlr3.treewizard import TreeWizard @@ -194,7 +194,7 @@ def testMarkRewindEntire(self): stream.consume() self.failUnlessEqual(EOF, stream.LT(1).getType()) - self.failUnlessEqual(UP, stream.LT(-1).getType()) + self.failUnlessEqual(UP, stream.LT(-1).getType()) #TODO: remove? stream.rewind(m) # REWIND # consume til end again :) @@ -203,7 +203,7 @@ def testMarkRewindEntire(self): stream.consume() self.failUnlessEqual(EOF, stream.LT(1).getType()) - self.failUnlessEqual(UP, stream.LT(-1).getType()) + self.failUnlessEqual(UP, stream.LT(-1).getType()) #TODO: remove? def testMarkRewindInMiddle(self): @@ -338,6 +338,46 @@ def testSeekFromStart(self): self.failUnlessEqual(104, stream.LT(1).getType()) + def testReset(self): + # ^(101 ^(102 103 ^(106 107) ) 104 105) + # stream has 7 real + 6 nav nodes + # Sequence of types: 101 DN 102 DN 103 106 DN 107 UP UP 104 105 UP EOF + r0 = CommonTree(CommonToken(101)) + r1 = CommonTree(CommonToken(102)) + r0.addChild(r1) + r1.addChild(CommonTree(CommonToken(103))) + r2 = CommonTree(CommonToken(106)) + r2.addChild(CommonTree(CommonToken(107))) + r1.addChild(r2) + r0.addChild(CommonTree(CommonToken(104))) + r0.addChild(CommonTree(CommonToken(105))) + + stream = CommonTreeNodeStream(r0) + v1 = self.toNodesOnlyString(stream) # scan all + stream.reset() + v2 = self.toNodesOnlyString(stream) # scan all + self.assertEquals(v1, v2) + + + def testIterator(self): + r0 = CommonTree(CommonToken(101)) + r1 = CommonTree(CommonToken(102)) + r0.addChild(r1) + r1.addChild(CommonTree(CommonToken(103))) + r2 = CommonTree(CommonToken(106)) + r2.addChild(CommonTree(CommonToken(107))) + r1.addChild(r2) + r0.addChild(CommonTree(CommonToken(104))) + r0.addChild(CommonTree(CommonToken(105))) + + stream = CommonTreeNodeStream(r0) + + expecting = [ + 101, DOWN, 102, DOWN, 103, 106, DOWN, 107, UP, UP, 104, 105, UP] + found = [t.type for t in stream] + self.assertEqual(expecting, found) + + def toNodesOnlyString(self, nodes): buf = [] for i in range(nodes.size()): @@ -347,7 +387,7 @@ def toNodesOnlyString(self, nodes): buf.append(str(type)) return ' '.join(buf) - + class TestCommonTreeNodeStream(unittest.TestCase): """Test case for the CommonTreeNodeStream class.""" @@ -380,7 +420,7 @@ def testPushPop(self): indexOf107 = 12 for _ in range(indexOf107):# consume til 107 node stream.consume() - + # CALL 102 self.failUnlessEqual(107, stream.LT(1).getType()) stream.push(indexOf102) @@ -513,7 +553,7 @@ def setUp(self): self.adaptor = CommonTreeAdaptor() - + def testSingleNode(self): t = CommonTree(CommonToken(101)) self.failUnless(t.parent is None) @@ -546,7 +586,7 @@ def testList(self): self.failUnlessEqual(r0, c0.parent) self.failUnlessEqual(0, c0.childIndex) self.failUnlessEqual(r0, c1.parent) - self.failUnlessEqual(1, c1.childIndex) + self.failUnlessEqual(1, c1.childIndex) self.failUnlessEqual(r0, c2.parent) self.failUnlessEqual(2, c2.childIndex) @@ -698,10 +738,10 @@ def testReplaceWithNoChildren(self): error = False try: t.replaceChildren(0, 0, newChild) - + except IndexError: error = True - + self.failUnless(error) @@ -1157,7 +1197,7 @@ def testDoubleEtc(self): try: TreeParser._inContext(adaptor, self.tokenNames, node, "PRINT ... ... VEC") self.fail() - except ValueError, exc: + except ValueError, exc: expecting = "invalid syntax: ... ..." found = str(exc) self.assertEquals(expecting, found) @@ -1218,5 +1258,94 @@ def post(t): self.assertEquals(expecting, found) + +class TestTreeIterator(unittest.TestCase): + tokens = [ + "", "", "", "", + "A", "B", "C", "D", "E", "F", "G" ] + + def testNode(self): + adaptor = CommonTreeAdaptor() + wiz = TreeWizard(adaptor, self.tokens) + t = wiz.create("A") + it = TreeIterator(t) + expecting = "A EOF" + found = self.toString(it) + self.assertEquals(expecting, found) + + + def testFlatAB(self): + adaptor = CommonTreeAdaptor() + wiz = TreeWizard(adaptor, self.tokens) + t = wiz.create("(nil A B)") + it = TreeIterator(t) + expecting = "nil DOWN A B UP EOF" + found = self.toString(it) + self.assertEquals(expecting, found) + + + def testAB(self): + adaptor = CommonTreeAdaptor() + wiz = TreeWizard(adaptor, self.tokens) + t = wiz.create("(A B)") + it = TreeIterator(t) + expecting = "A DOWN B UP EOF" + found = self.toString(it) + self.assertEquals(expecting, found) + + + def testABC(self): + adaptor = CommonTreeAdaptor() + wiz = TreeWizard(adaptor, self.tokens) + t = wiz.create("(A B C)") + it = TreeIterator(t) + expecting = "A DOWN B C UP EOF" + found = self.toString(it) + self.assertEquals(expecting, found) + + + def testVerticalList(self): + adaptor = CommonTreeAdaptor() + wiz = TreeWizard(adaptor, self.tokens) + t = wiz.create("(A (B C))") + it = TreeIterator(t) + expecting = "A DOWN B DOWN C UP UP EOF" + found = self.toString(it) + self.assertEquals(expecting, found) + + + def testComplex(self): + adaptor = CommonTreeAdaptor() + wiz = TreeWizard(adaptor, self.tokens) + t = wiz.create("(A (B (C D E) F) G)") + it = TreeIterator(t) + expecting = "A DOWN B DOWN C DOWN D E UP F UP G UP EOF" + found = self.toString(it) + self.assertEquals(expecting, found) + + + def testReset(self): + adaptor = CommonTreeAdaptor() + wiz = TreeWizard(adaptor, self.tokens) + t = wiz.create("(A (B (C D E) F) G)") + it = TreeIterator(t) + expecting = "A DOWN B DOWN C DOWN D E UP F UP G UP EOF" + found = self.toString(it) + self.assertEquals(expecting, found) + + it.reset() + expecting = "A DOWN B DOWN C DOWN D E UP F UP G UP EOF" + found = self.toString(it) + self.assertEquals(expecting, found) + + + def toString(self, it): + buf = [] + for n in it: + buf.append(str(n)) + + return ' '.join(buf) + + if __name__ == "__main__": unittest.main(testRunner=unittest.TextTestRunner(verbosity=2)) diff --git a/runtime/Python/unittests/testtreewizard.py b/runtime/Python/unittests/testtreewizard.py index 18537f31..2ad99bed 100644 --- a/runtime/Python/unittests/testtreewizard.py +++ b/runtime/Python/unittests/testtreewizard.py @@ -42,7 +42,7 @@ def testBegin(self): self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False) - + def testEnd(self): """TreePatternLexer(): ')'""" @@ -52,7 +52,7 @@ def testEnd(self): self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False) - + def testPercent(self): """TreePatternLexer(): '%'""" @@ -62,7 +62,7 @@ def testPercent(self): self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False) - + def testDot(self): """TreePatternLexer(): '.'""" @@ -72,7 +72,7 @@ def testDot(self): self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False) - + def testColon(self): """TreePatternLexer(): ':'""" @@ -82,7 +82,7 @@ def testColon(self): self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False) - + def testEOF(self): """TreePatternLexer(): EOF""" @@ -92,7 +92,7 @@ def testEOF(self): self.failUnlessEqual(lexer.sval, '') self.failUnlessEqual(lexer.error, False) - + def testID(self): """TreePatternLexer(): ID""" @@ -102,7 +102,7 @@ def testID(self): self.failUnlessEqual(lexer.sval, '_foo12_bar') self.failUnlessEqual(lexer.error, False) - + def testARG(self): """TreePatternLexer(): ARG""" @@ -131,7 +131,7 @@ def setUp(self): We need a tree adaptor, use CommonTreeAdaptor. And a constant list of token names. - + """ self.adaptor = CommonTreeAdaptor() @@ -172,7 +172,7 @@ def testSingleLevelTree(self): self.failUnlessEqual(tree.getChildCount(), 1) self.failUnlessEqual(tree.getChild(0).getType(), 6) self.failUnlessEqual(tree.getChild(0).getText(), 'B') - + def testNil(self): """TreePatternParser: 'nil'""" @@ -182,7 +182,7 @@ def testNil(self): self.failUnless(isinstance(tree, CommonTree)) self.failUnlessEqual(tree.getType(), 0) self.failUnlessEqual(tree.getText(), None) - + def testWildcard(self): """TreePatternParser: '(.)'""" @@ -190,7 +190,7 @@ def testWildcard(self): parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.failUnless(isinstance(tree, WildcardTreePattern)) - + def testLabel(self): """TreePatternParser: '(%a:A)'""" @@ -199,7 +199,7 @@ def testLabel(self): tree = parser.pattern() self.failUnless(isinstance(tree, TreePattern)) self.failUnlessEqual(tree.label, 'a') - + def testError1(self): """TreePatternParser: ')'""" @@ -207,7 +207,7 @@ def testError1(self): parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.failUnless(tree is None) - + def testError2(self): """TreePatternParser: '()'""" @@ -215,7 +215,7 @@ def testError2(self): parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.failUnless(tree is None) - + def testError3(self): """TreePatternParser: '(A ])'""" @@ -223,7 +223,7 @@ def testError3(self): parser = TreePatternParser(lexer, self.wizard, self.adaptor) tree = parser.pattern() self.failUnless(tree is None) - + class TestTreeWizard(unittest.TestCase): """Test case for the TreeWizard class.""" @@ -233,7 +233,7 @@ def setUp(self): We need a tree adaptor, use CommonTreeAdaptor. And a constant list of token names. - + """ self.adaptor = CommonTreeAdaptor() @@ -269,12 +269,12 @@ def testGetTokenType(self): wiz.getTokenType('A'), 5 ) - + self.failUnlessEqual( wiz.getTokenType('VAR'), 11 ) - + self.failUnlessEqual( wiz.getTokenType('invalid'), INVALID_TOKEN_TYPE @@ -339,7 +339,7 @@ def __simplifyIndexMap(self, indexMap): (ttype, [str(node) for node in nodes]) for ttype, nodes in indexMap.items() ) - + def testSingleNodeIndex(self): wiz = TreeWizard(self.adaptor, self.tokens) tree = wiz.create("ID") @@ -374,9 +374,9 @@ def testNoRepeatsVisit(self): elements = [] def visitor(node, parent, childIndex, labels): elements.append(str(node)) - + wiz.visit(tree, wiz.getTokenType("B"), visitor) - + expecting = ['B'] self.failUnlessEqual(expecting, elements) @@ -388,9 +388,9 @@ def testNoRepeatsVisit2(self): elements = [] def visitor(node, parent, childIndex, labels): elements.append(str(node)) - + wiz.visit(tree, wiz.getTokenType("C"), visitor) - + expecting = ['C'] self.failUnlessEqual(expecting, elements) @@ -402,9 +402,9 @@ def testRepeatsVisit(self): elements = [] def visitor(node, parent, childIndex, labels): elements.append(str(node)) - + wiz.visit(tree, wiz.getTokenType("B"), visitor) - + expecting = ['B', 'B', 'B'] self.failUnlessEqual(expecting, elements) @@ -416,9 +416,9 @@ def testRepeatsVisit2(self): elements = [] def visitor(node, parent, childIndex, labels): elements.append(str(node)) - + wiz.visit(tree, wiz.getTokenType("A"), visitor) - + expecting = ['A', 'A'] self.failUnlessEqual(expecting, elements) @@ -430,9 +430,9 @@ def testRepeatsVisitWithContext(self): elements = [] def visitor(node, parent, childIndex, labels): elements.append('%s@%s[%d]' % (node, parent, childIndex)) - + wiz.visit(tree, wiz.getTokenType("B"), visitor) - + expecting = ['B@A[0]', 'B@A[1]', 'B@A[2]'] self.failUnlessEqual(expecting, elements) @@ -447,9 +447,9 @@ def visitor(node, parent, childIndex, labels): '%s@%s[%d]' % (node, ['nil', parent][parent is not None], childIndex) ) - + wiz.visit(tree, wiz.getTokenType("A"), visitor) - + expecting = ['A@nil[0]', 'A@A[1]'] self.failUnlessEqual(expecting, elements) @@ -463,9 +463,9 @@ def visitor(node, parent, childIndex, labels): elements.append( str(node) ) - + wiz.visit(tree, '(A B)', visitor) - + expecting = ['A'] # shouldn't match overall root, just (A B) self.failUnlessEqual(expecting, elements) @@ -480,9 +480,9 @@ def visitor(node, parent, childIndex, labels): '%s@%s[%d]' % (node, ['nil', parent][parent is not None], childIndex) ) - + wiz.visit(tree, '(A B)', visitor) - + expecting = ['A@A[2]', 'A@D[0]'] self.failUnlessEqual(expecting, elements) @@ -502,9 +502,9 @@ def visitor(node, parent, childIndex, labels): labels['b'], ) ) - + wiz.visit(tree, '(%a:A %b:B)', visitor) - + expecting = ['foo@A[2]foo&bar', 'big@D[0]big&dog'] self.failUnlessEqual(expecting, elements) @@ -567,6 +567,15 @@ def testParseWithText(self): self.failUnless(valid) + def testParseWithText2(self): + wiz = TreeWizard(self.adaptor, self.tokens) + t = wiz.create("(A B[T__32] (C (D E[a])))") + # C pattern has no text arg so despite [bar] in t, no need + # to match text--check structure only. + valid = wiz.parse(t, "(A B[foo] C)") + self.assertEquals("(A T__32 (C (D a)))", t.toStringTree()) + + def testParseWithTextFails(self): wiz = TreeWizard(self.adaptor, self.tokens) t = wiz.create("(A B C)") @@ -634,7 +643,7 @@ def testEqualsWithText(self): same = wiz.equals(t1, t2) self.failUnless(same) - + def testEqualsWithMismatchedText(self): wiz = TreeWizard(self.adaptor, self.tokens) t1 = wiz.create("(A B[foo] C)") diff --git a/runtime/Ruby/lib/antlr3/modes/ast-builder.rb b/runtime/Ruby/lib/antlr3/modes/ast-builder.rb old mode 100755 new mode 100644 diff --git a/runtime/Ruby/lib/antlr3/streams/interactive.rb b/runtime/Ruby/lib/antlr3/streams/interactive.rb old mode 100755 new mode 100644 diff --git a/runtime/Ruby/lib/antlr3/streams/rewrite.rb b/runtime/Ruby/lib/antlr3/streams/rewrite.rb old mode 100755 new mode 100644 diff --git a/runtime/Ruby/lib/antlr3/test/grammar.rb b/runtime/Ruby/lib/antlr3/test/grammar.rb old mode 100755 new mode 100644 diff --git a/runtime/Ruby/lib/antlr3/util.rb b/runtime/Ruby/lib/antlr3/util.rb old mode 100755 new mode 100644