aboutsummaryrefslogtreecommitdiff
path: root/antlr-3.4/runtime/ObjC/Framework/examples/treerewrite/output1/TreeRewriteParser.m
diff options
context:
space:
mode:
Diffstat (limited to 'antlr-3.4/runtime/ObjC/Framework/examples/treerewrite/output1/TreeRewriteParser.m')
-rw-r--r--antlr-3.4/runtime/ObjC/Framework/examples/treerewrite/output1/TreeRewriteParser.m354
1 files changed, 354 insertions, 0 deletions
diff --git a/antlr-3.4/runtime/ObjC/Framework/examples/treerewrite/output1/TreeRewriteParser.m b/antlr-3.4/runtime/ObjC/Framework/examples/treerewrite/output1/TreeRewriteParser.m
new file mode 100644
index 0000000..efd085f
--- /dev/null
+++ b/antlr-3.4/runtime/ObjC/Framework/examples/treerewrite/output1/TreeRewriteParser.m
@@ -0,0 +1,354 @@
+/** \file
+ * This OBJC source file was generated by $ANTLR version 3.2 Aug 20, 2010 15:00:19
+ *
+ * - From the grammar source file : /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g
+ * - On : 2010-08-20 15:03:14
+ * - for the parser : TreeRewriteParserParser *
+ * Editing it, at least manually, is not wise.
+ *
+ * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
+ *
+ *
+*/
+// [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 20, 2010 15:00:19 /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g 2010-08-20 15:03:14
+
+/* -----------------------------------------
+ * Include the ANTLR3 generated header file.
+ */
+#import "TreeRewriteParser.h"
+/* ----------------------------------------- */
+
+
+/* ============================================================================= */
+
+/* =============================================================================
+ * Start of recognizer
+ */
+
+
+
+#pragma mark Bitsets
+static ANTLRBitSet *FOLLOW_INT_in_rule26;
+
+const unsigned long long FOLLOW_INT_in_rule26_data[] = { 0x0000000000000010LL};
+
+static ANTLRBitSet *FOLLOW_subrule_in_rule28;
+
+const unsigned long long FOLLOW_subrule_in_rule28_data[] = { 0x0000000000000002LL};
+
+static ANTLRBitSet *FOLLOW_INT_in_subrule53;
+
+const unsigned long long FOLLOW_INT_in_subrule53_data[] = { 0x0000000000000002LL};
+
+
+
+#pragma mark Dynamic Global Scopes
+
+#pragma mark Dynamic Rule Scopes
+
+#pragma mark Rule return scopes start
+@implementation TreeRewriteParser_rule_return
+@synthesize tree;
++ (TreeRewriteParser_rule_return *)newTreeRewriteParser_rule_return
+{
+ return [[[TreeRewriteParser_rule_return alloc] init] retain];
+}
+
+// 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 setTree:nil];
+ [super dealloc];
+}
+
+
+
+
+@end
+
+@implementation TreeRewriteParser_subrule_return
+@synthesize tree;
++ (TreeRewriteParser_subrule_return *)newTreeRewriteParser_subrule_return
+{
+ return [[[TreeRewriteParser_subrule_return alloc] init] retain];
+}
+
+// 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 setTree:nil];
+ [super dealloc];
+}
+
+
+
+
+@end
+
+
+
+@implementation TreeRewriteParser // line 610
+
++ (void) initialize
+{
+ FOLLOW_INT_in_rule26 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_INT_in_rule26_data Count:(NSUInteger)1] retain];
+ 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:@"<invalid>", @"<EOR>", @"<DOWN>", @"<UP>",
+ @"INT", @"WS", nil] retain]];
+}
+
++ (TreeRewriteParser *)newTreeRewriteParser:(id<ANTLRTokenStream>)aStream
+{
+ return [[TreeRewriteParser alloc] initWithTokenStream:aStream];
+
+}
+
+- (id) initWithTokenStream:(id<ANTLRTokenStream>)aStream
+{
+ if ((self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:2+1] retain]]) != nil) {
+
+
+
+ // start of actions-actionScope-init
+ // start of init
+ // genericParser.init
+ [self setTreeAdaptor:[[ANTLRCommonTreeAdaptor newANTLRCommonTreeAdaptor] retain]];
+ }
+ return self;
+}
+
+- (void) dealloc
+{
+ [self setTreeAdaptor:nil];
+
+ [super dealloc];
+}
+// start actions.actionScope.methods
+// start methods()
+// genericParser.methods
+// parserMethods
+- (id<ANTLRTreeAdaptor>) getTreeAdaptor
+{
+ return treeAdaptor;
+}
+
+- (void) setTreeAdaptor:(id<ANTLRTreeAdaptor>)aTreeAdaptor
+{
+ if (aTreeAdaptor != treeAdaptor) {
+ treeAdaptor = aTreeAdaptor;
+ }
+}
+// start rules
+/*
+ * $ANTLR start rule
+ * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:8:1: rule : INT subrule -> ^( subrule INT ) ;
+ */
+- (TreeRewriteParser_rule_return *) rule
+{
+ // ruleScopeSetUp
+
+ // ruleDeclarations
+ TreeRewriteParser_rule_return * retval = [TreeRewriteParser_rule_return newTreeRewriteParser_rule_return];
+ [retval setStart:[input LT:1]];
+
+ ANTLRCommonTree *root_0 = nil;
+
+ @try {
+ // ruleLabelDefs
+ id<ANTLRToken> INT1 = nil;
+ TreeRewriteParser_subrule_return * subrule2 = nil;
+
+
+ ANTLRCommonTree *INT1_tree=nil;
+ ANTLRRewriteRuleTokenStream *stream_INT =
+ [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
+ description:@"token INT"] retain];
+ ANTLRRewriteRuleSubtreeStream *stream_subrule =
+ [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
+ description:@"rule subrule"] retain];
+ // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:8:5: ( INT subrule -> ^( subrule INT ) ) // ruleBlockSingleAlt
+ // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:8:7: INT subrule // alt
+ {
+ INT1=(id<ANTLRToken>)[self match:input TokenType:INT Follow:FOLLOW_INT_in_rule26];
+ [stream_INT addElement:INT1];
+ /* element() */
+ [self pushFollow:FOLLOW_subrule_in_rule28];
+ subrule2 = [self subrule];
+ [self popFollow];
+
+
+ [stream_subrule addElement:[subrule2 getTree]]; /* element() */
+ /* elements */
+
+ // AST REWRITE
+ // elements: INT, subrule
+ // 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];
+
+ root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
+
+ // 8:19: -> ^( subrule INT )
+ {
+ // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:8:22: ^( subrule INT )
+ {
+ ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
+ root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:(id<ANTLRTree>)[stream_subrule nextNode]
+ old:root_1];
+
+ // TODO: args:
+ [treeAdaptor addChild:[stream_INT nextNode] toTree:root_1];
+
+ [treeAdaptor addChild:root_1 toTree:root_0];
+ }
+
+ }
+
+ retval.tree = root_0;
+
+ }
+
+ // 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];
+
+ }
+ @catch (ANTLRRecognitionException *re) {
+ [self reportError:re];
+ [self recover:input Exception:re];
+ retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re];
+
+ } @finally {
+ }
+ return retval;
+}
+/* $ANTLR end rule */
+/*
+ * $ANTLR start subrule
+ * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:11:1: subrule : INT ;
+ */
+- (TreeRewriteParser_subrule_return *) subrule
+{
+ // ruleScopeSetUp
+
+ // ruleDeclarations
+ TreeRewriteParser_subrule_return * retval = [TreeRewriteParser_subrule_return newTreeRewriteParser_subrule_return];
+ [retval setStart:[input LT:1]];
+
+ ANTLRCommonTree *root_0 = nil;
+
+ @try {
+ // ruleLabelDefs
+ id<ANTLRToken> INT3 = nil;
+
+ ANTLRCommonTree *INT3_tree=nil;
+
+ // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:12:5: ( INT ) // ruleBlockSingleAlt
+ // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:12:9: INT // alt
+ {
+ root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
+
+ INT3=(id<ANTLRToken>)[self match:input TokenType:INT Follow:FOLLOW_INT_in_subrule53];
+ INT3_tree = (ANTLRCommonTree *)[[treeAdaptor createTree:INT3] retain];
+ [treeAdaptor addChild:INT3_tree toTree:root_0];
+ /* element() */
+ /* elements */
+ }
+
+ // token+rule list labels
+ [retval setStop:[input LT:-1]];
+
+
+ retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
+ [treeAdaptor setTokenBoundaries:retval.tree From:retval.startToken To:retval.stopToken];
+
+ }
+ @catch (ANTLRRecognitionException *re) {
+ [self reportError:re];
+ [self recover:input Exception:re];
+ retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.startToken To:[input LT:-1] Exception:re];
+
+ } @finally {
+ }
+ return retval;
+}
+/* $ANTLR end subrule */
+
+@end /* end of TreeRewriteParser implementation line 669 */
+
+
+/* End of code
+ * =============================================================================
+ */