
org.antlr.v4.test.runtime.csharp.CSharp.test.stg Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of antlr4-runtime-testsuite Show documentation
Show all versions of antlr4-runtime-testsuite Show documentation
A collection of tests for ANTLR 4 Runtime libraries.
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.csharp;
import org.junit.Test;
import org.junit.Ignore;
import org.antlr.v4.test.runtime.java.ErrorQueue;
import org.antlr.v4.tool.Grammar;
@SuppressWarnings("unused")
public class Test extends BaseTest {
}; separator="\n", wrap, anchor>
}<\n>
>>
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", "", 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) ::= <);>>
False() ::= "false"
True() ::= "true"
Not(v) ::= "!"
Assert(s) ::= <);>>
Cast(t,v) ::= "(())"
Append(a,b) ::= " + "
Concat(a,b) ::= ""
DeclareLocal(s,v) ::= "Object = ;"
AssertIsList(v) ::= "System.Collections.IList __ttt__ = ;" // just use static type system
AssignLocal(s,v) ::= " = ;"
InitIntMember(n,v) ::= <%int = ;%>
InitBooleanMember(n,v) ::= <%bool = ;%>
GetMember(n) ::= <%this.%>
SetMember(n,v) ::= <%this. = ;%>
AddMember(n,v) ::= <%this. += ;%>
PlusMember(v,n) ::= <% + this.%>
MemberEquals(n,v) ::= <%this. == %>
ModMemberEquals(n,m,v) ::= <%this. % == %>
ModMemberNotEquals(n,m,v) ::= <%this. % != %>
DumpDFA() ::= "this.DumpDFA();"
Pass() ::= ""
StringList() ::= "List\"
BuildParseTrees() ::= "this.BuildParseTree = true;"
BailErrorStrategy() ::= <%ErrorHandler = new BailErrorStrategy();%>
ToStringTree(s) ::= <%.ToStringTree(this)%>
Column() ::= "this.Column"
Text() ::= "this.Text"
ValEquals(a,b) ::= <%==%>
TextEquals(a) ::= <%this.Text.Equals("")%>
PlusText(a) ::= <%"" + this.Text%>
InputText() ::= "this.TokenStream.GetText()"
LTEquals(i, v) ::= <%this.TokenStream.Lt().Text.Equals()%>
LANotEquals(i, v) ::= <%this.InputStream.La()!=%>
TokenStartColumnEquals(i) ::= <%this.TokenStartColumn==%>
ImportListener(X) ::= ""
GetExpectedTokenNames() ::= "this.GetExpectedTokens().ToString(this.Vocabulary)"
RuleInvocationStack() ::= "GetRuleInvocationStackAsString()"
LL_EXACT_AMBIG_DETECTION() ::= <>
ParserPropertyMember() ::= <<
@members {
bool Property() {
return true;
}
}
>>
PositionAdjustingLexer() ::= <<
public override IToken NextToken() {
if (!(Interpreter is PositionAdjustingLexerATNSimulator)) {
Interpreter = new PositionAdjustingLexerATNSimulator(this, _ATN);
}
return base.NextToken();
}
public override IToken Emit() {
switch (Type) {
case TOKENS:
HandleAcceptPositionForKeyword("tokens");
break;
case LABEL:
HandleAcceptPositionForIdentifier();
break;
default:
break;
}
return base.Emit();
}
private bool HandleAcceptPositionForIdentifier() {
string tokenText = this.Text;
int identifierLength = 0;
while (identifierLength \< tokenText.Length && IsIdentifierChar(tokenText[identifierLength])) {
identifierLength++;
}
if (InputStream.Index > TokenStartCharIndex + identifierLength) {
int offset = identifierLength - 1;
getInterpreter().ResetAcceptPosition((ICharStream)InputStream, TokenStartCharIndex + offset, TokenStartLine, TokenStartColumn + offset);
return true;
}
return false;
}
private bool HandleAcceptPositionForKeyword(string keyword) {
if (InputStream.Index > TokenStartCharIndex + keyword.Length) {
int offset = keyword.Length - 1;
getInterpreter().ResetAcceptPosition((ICharStream)InputStream, TokenStartCharIndex + offset, TokenStartLine, TokenStartColumn + offset);
return true;
}
return false;
}
public PositionAdjustingLexerATNSimulator getInterpreter() {
return (PositionAdjustingLexerATNSimulator)base.Interpreter;
}
private static bool IsIdentifierChar(char c) {
return Char.IsLetterOrDigit(c) || c == '_';
}
public class PositionAdjustingLexerATNSimulator : LexerATNSimulator {
public PositionAdjustingLexerATNSimulator(Lexer recog, ATN atn)
: base(recog, atn)
{
}
public void ResetAcceptPosition(ICharStream input, int index, int line, int column) {
input.Seek(index);
this.Line = line;
this.Column = column;
Consume(input);
}
}
>>
BasicListener(X) ::= <<
public class LeafListener : TBaseListener {
public override void VisitTerminal(ITerminalNode node) {
Console.WriteLine(node.Symbol.Text);
}
}
>>
WalkListener(s) ::= <<
ParseTreeWalker walker = new ParseTreeWalker();
walker.Walk(new LeafListener(), );
>>
TreeNodeWithAltNumField(X) ::= <<
@parser::members {
public class MyRuleNode : ParserRuleContext {
public int altNum;
public MyRuleNode(ParserRuleContext parent, int invokingStateNumber): base(parent, invokingStateNumber)
{
}
public override int getAltNumber() { return altNum; }
public override void setAltNumber(int altNum) { this.altNum = altNum; }
}
}
>>
TokenGetterListener(X) ::= <<
public class LeafListener : TBaseListener {
public override void ExitA(TParser.AContext ctx) {
if (ctx.ChildCount==2)
{
StringBuilder sb = new StringBuilder ("[");
foreach (ITerminalNode node in ctx.INT ()) {
sb.Append (node.ToString ());
sb.Append (", ");
}
sb.Length = sb.Length - 2;
sb.Append ("]");
Console.Write ("{0} {1} {2}", ctx.INT (0).Symbol.Text,
ctx.INT (1).Symbol.Text, sb.ToString());
}
else
Console.WriteLine(ctx.ID().Symbol);
}
}
>>
RuleGetterListener(X) ::= <<
public class LeafListener : TBaseListener {
public override void ExitA(TParser.AContext ctx) {
if (ctx.ChildCount==2) {
Console.Write("{0} {1} {2}",ctx.b(0).Start.Text,
ctx.b(1).Start.Text,ctx.b()[0].Start.Text);
} else
Console.WriteLine(ctx.b(0).Start.Text);
}
}
>>
LRListener(X) ::= <<
public class LeafListener : TBaseListener {
public override void ExitE(TParser.EContext ctx) {
if (ctx.ChildCount==3) {
Console.Write("{0} {1} {2}\n",ctx.e(0).Start.Text,
ctx.e(1).Start.Text, ctx.e()[0].Start.Text);
} else
Console.WriteLine(ctx.INT().Symbol.Text);
}
}
>>
LRWithLabelsListener(X) ::= <<
public class LeafListener : TBaseListener {
public override void ExitCall(TParser.CallContext ctx) {
Console.Write("{0} {1}",ctx.e().Start.Text,ctx.eList());
}
public override void ExitInt(TParser.IntContext ctx) {
Console.WriteLine(ctx.INT().Symbol.Text);
}
}
>>
DeclareContextListGettersFunction() ::= <<
void foo() {
SContext s = null;
AContext[] a = s.a();
BContext[] b = s.b();
}
>>
Declare_foo() ::= <>
Invoke_foo() ::= "this.foo();"
Declare_pred() ::= <>
Invoke_pred(v) ::= <)>>
isEmpty ::= [
"": true,
default: false
]
© 2015 - 2025 Weber Informatics LLC | Privacy Policy