All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.antlr.v4.test.runtime.python2.Python2.test.stg Maven / Gradle / Ivy

There is a newer version: 4.13.2
Show newest version
IgnoredTests ::= [
	default: false
]

TestFile(file) ::= <<
/* This file is generated by TestGenerator, any edits will be overwritten by the next generation. */
package org.antlr.v4.test.runtime.python2;

import org.junit.Ignore;
import org.junit.Test;
import static org.junit.Assert.*;


import org.antlr.v4.test.runtime.java.ErrorQueue;


import org.antlr.v4.tool.Grammar;


@SuppressWarnings("unused")
public class Test extends BasePython2Test {

	}; separator="\n", wrap, anchor>

}
>>

LexerTestMethod(test) ::= <<
/* This file and method are generated by TestGenerator, any edits will be overwritten by the next generation. */

public void test() throws Exception {
	mkdir(tmpdir);

 =;
	writeFile(tmpdir, ".g4", slave_);
	}; separator="\n">



	

	String input =;
	String found = execLexer(".g4", grammar, "Lexer", input, );
	assertEquals(, found);
	
	assertEquals(, this.stderrDuringParse);
	
	assertNull(this.stderrDuringParse);
	
	}>
}

>>

CompositeLexerTestMethod(test) ::= <<

>>

ParserTestMethod(test) ::= <<
/* This file and method are generated by TestGenerator, any edits will be overwritten by the next generation. */

public void test() throws Exception {
	mkdir(tmpdir);

 =;

	rawGenerateAndBuildRecognizer(".g4", slave_, null, "");

	writeFile(tmpdir, ".g4", slave_);

	}; separator="\n">


	

	String input =;
	String found = execParser(".g4", grammar, "Parser", "Lexer", "Listener", "Visitor", "", input, );

	assertEquals(, found);
	
	assertEquals(, this.stderrDuringParse);
	
	assertNull(this.stderrDuringParse);
	
	}>
}

>>

CompositeParserTestMethod(test) ::= <<

>>

AbstractParserTestMethod(test) ::= <<
/* this file and method are generated, any edit will be overwritten by the next generation */
String test(String input) throws Exception {
	String grammar = };separator="\\n\" +\n", wrap, anchor>";
	return execParser(".g4", grammar, "Parser", "Lexer", "", input, );
}

>>

ConcreteParserTestMethod(test) ::= <<
/* this file and method are generated, any edit will be overwritten by the next generation */
@Test
public void test() throws Exception {
	String found = test("");
	assertEquals("", found);
	
	assertEquals("", this.stderrDuringParse);
	
	assertNull(this.stderrDuringParse);
	
}

>>

testAnnotations(test) ::= <%
@Test

<\n>@Ignore()
.})))>
<\n>@Ignore(.})))>)

%>

buildStringLiteral(text, variable) ::= <<
StringBuilder Builder = new StringBuilder();
Builder.append("");}; separator="\n">
String  = Builder.toString();
>>

writeStringLiteral(text) ::= <%

""



%>

writeLines(textLines) ::= <%

		"}; separator="\" +">"

""

%>

string(text) ::= <<
""
>>

writeBoolean(o) ::= "truefalse"

writeln(s) ::= <)>>

write(s) ::= <,end='')>>

False() ::= "False"

True() ::= "True"

Not(v) ::= "not "

Assert(s) ::= ""

Cast(t,v) ::= ""

Append(a,b) ::= " + str()"

Concat(a,b) ::= ""

DeclareLocal(s,v) ::= " = "

AssertIsList(v) ::= "assert isinstance(v, (list, tuple))"

AssignLocal(s,v) ::= " = "

InitIntMember(n,v) ::= <% = %>

InitBooleanMember(n,v) ::= <% = %>

GetMember(n) ::= <%self.%>

SetMember(n,v) ::= <%self. = %>

AddMember(n,v) ::= <%self. += %>

PlusMember(v,n) ::= <% + str(self.)%>

MemberEquals(n,v) ::= <%self. == %>

ModMemberEquals(n,m,v) ::= <%self. %  == %>

ModMemberNotEquals(n,m,v) ::= <%self. %  != %>

DumpDFA() ::= "self.dumpDFA()"

Pass() ::= "pass"

StringList() ::= ""

BuildParseTrees() ::= "self._buildParseTrees = True"

BailErrorStrategy() ::= <%self._errHandler = BailErrorStrategy()%>

ToStringTree(s) ::= <%.toStringTree(recog=self)%>

Column() ::= "self.column"

Text() ::= "self.text"

ValEquals(a,b) ::= <%==%>

TextEquals(a) ::= <%self.text==""%>

PlusText(a) ::= <%"" + self.text%>

InputText() ::= "self._input.getText()"

LTEquals(i, v) ::= <%self._input.LT().text==%>

LANotEquals(i, v) ::= <%self._input.LA()!=%>

TokenStartColumnEquals(i) ::= <%self._tokenStartColumn==%>

ImportListener(X) ::= ""

GetExpectedTokenNames() ::= "self.getExpectedTokens().toString(self.literalNames, self.symbolicNames)"

RuleInvocationStack() ::= "str_list(self.getRuleInvocationStack())"

LL_EXACT_AMBIG_DETECTION() ::= <>

ParserPropertyMember() ::= <<
@members {
def Property(self):
    return True

}
>>

PositionAdjustingLexer() ::= <<

def resetAcceptPosition(self, index, line, column):
	self._input.seek(index)
	self.line = line
	self.column = column
	self._interp.consume(self._input)

def nextToken(self):
	if self._interp.__dict__.get("resetAcceptPosition", None) is None:
		self._interp.__dict__["resetAcceptPosition"] = self.resetAcceptPosition
	return super(type(self),self).nextToken()

def emit(self):
	if self._type==PositionAdjustingLexer.TOKENS:
		self.handleAcceptPositionForKeyword("tokens")
	elif self._type==PositionAdjustingLexer.LABEL:
		self.handleAcceptPositionForIdentifier()
	return super(type(self),self).emit()

def handleAcceptPositionForIdentifier(self):
	tokenText = self.text
	identifierLength = 0
	while identifierLength \< len(tokenText) and self.isIdentifierChar(tokenText[identifierLength]):
		identifierLength += 1

	if self._input.index > self._tokenStartCharIndex + identifierLength:
		offset = identifierLength - 1
		self._interp.resetAcceptPosition(self._tokenStartCharIndex + offset,
				self._tokenStartLine, self._tokenStartColumn + offset)
		return True
	else:
		return False


def handleAcceptPositionForKeyword(self, keyword):
	if self._input.index > self._tokenStartCharIndex + len(keyword):
		offset = len(keyword) - 1
		self._interp.resetAcceptPosition(self._tokenStartCharIndex + offset,
			self._tokenStartLine, self._tokenStartColumn + offset)
		return True
	else:
		return False

@staticmethod
def isIdentifierChar(c):
	return c.isalnum() or c == '_'

>>

BasicListener(X) ::= <<
if __name__ is not None and "." in __name__:
    from .Listener import Listener
else:
    from Listener import Listener

class LeafListener(TListener):
    def visitTerminal(self, node):
        print(node.symbol.text)

>>

WalkListener(s) ::= <<
walker = ParseTreeWalker()
walker.walk(TParser.LeafListener(), )
>>

TreeNodeWithAltNumField(X) ::= <<
@parser::members {
class MyRuleNode(ParserRuleContext):
    def __init__(self, parent = None, invokingStateNumber = None ):
        super(Parser.MyRuleNode, self).__init__(parent, invokingStateNumber)
        self.altNum = 0;
    def getAltNumber(self):
        return self.altNum
    def setAltNumber(self, altNum):
        self.altNum = altNum
}
>>

TokenGetterListener(X) ::= <<
if __name__ is not None and "." in __name__:
    from .Listener import Listener
else:
    from Listener import Listener

class LeafListener(TListener):
    def exitA(self, ctx):
        if ctx.getChildCount()==2:
            print(ctx.INT(0).symbol.text + ' ' + ctx.INT(1).symbol.text + ' ' + str_list(ctx.INT()))
        else:
            print(str(ctx.ID().symbol))

>>

RuleGetterListener(X) ::= <<
if __name__ is not None and "." in __name__:
    from .Listener import Listener
else:
    from Listener import Listener

class LeafListener(TListener):
    def exitA(self, ctx):
        if ctx.getChildCount()==2:
            print(ctx.b(0).start.text + ' ' + ctx.b(1).start.text + ' ' + ctx.b()[0].start.text)
        else:
            print(ctx.b(0).start.text)

>>


LRListener(X) ::= <<
if __name__ is not None and "." in __name__:
    from .Listener import Listener
else:
    from Listener import Listener

class LeafListener(TListener):
    def exitE(self, ctx):
        if ctx.getChildCount()==3:
            print(ctx.e(0).start.text + ' ' + ctx.e(1).start.text + ' ' + ctx.e()[0].start.text)
        else:
            print(ctx.INT().symbol.text)

>>

LRWithLabelsListener(X) ::= <<
if __name__ is not None and "." in __name__:
    from .Listener import Listener
else:
    from Listener import Listener

class LeafListener(TListener):
    def exitCall(self, ctx):
        print(ctx.e().start.text + ' ' + str(ctx.eList()))
    def exitInt(self, ctx):
        print(ctx.INT().symbol.text)

>>

DeclareContextListGettersFunction() ::= <<
def foo():
    s = SContext()
    a = s.a()
    b = s.b()
>>

Declare_foo() ::= <>

Invoke_foo() ::= "self.foo()"

Declare_pred() ::= <