antlrcommontreeadaptor.m

来自「antlr最新版本V3源代码」· M 代码 · 共 72 行

M
72
字号
// [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 "ANTLRCommonTreeAdaptor.h"@implementation ANTLRCommonTreeAdaptor- (id<ANTLRTree>) newTreeWithToken:(ANTLRToken *) payload{	// I simply don't get the warning here...gcc says:	// warning: class 'ANTLRCommonToken' does not implement the 'ANTLRTree' protocol	// IMHO that's FUBAR...#warning WTF is this warning about?		return [[ANTLRCommonTree alloc] initWithToken:(ANTLRCommonToken *)payload];}- (ANTLRToken *) newTokenWithToken:(ANTLRToken *)fromToken{	return [[ANTLRCommonToken alloc] initWithToken:(ANTLRCommonToken *)fromToken];}- (ANTLRToken *) newTokenWithTokenType:(int)tokenType text:(NSString *)tokenText{	ANTLRCommonToken *newToken = [[ANTLRCommonToken alloc] init];	[newToken setType:tokenType];	[newToken setText:tokenText];	return newToken;}- (void) setBoundariesForTree:(id<ANTLRTree>)aTree fromToken:(ANTLRToken *)startToken toToken:(ANTLRToken *)stopToken{	ANTLRCommonTree *tmpTree = (ANTLRCommonTree *)aTree;	[tmpTree setStartIndex:[startToken tokenIndex]];	[tmpTree setStopIndex:[stopToken tokenIndex]];		}- (int) tokenStartIndexForTree:(id<ANTLRTree>)aTree{	return [(ANTLRCommonTree *)aTree startIndex];}- (int) tokenStopIndexForTree:(id<ANTLRTree>)aTree{	return [(ANTLRCommonTree *)aTree stopIndex];}@end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?