Files
LuaCsForBarotraumaEP/Libraries/MonoGame.Framework/Src/Tools/2MGFX/TPGParser/Parser.cs
2019-06-25 16:00:44 +03:00

3978 lines
186 KiB
C#

// Generated by TinyPG v1.3 available at www.codeproject.com
using System;
using System.Collections.Generic;
// Disable unused variable warnings which
// can happen during the parser generation.
#pragma warning disable 168
namespace TwoMGFX.TPGParser
{
#region Parser
public partial class Parser
{
private Scanner scanner;
private ParseTree tree;
public Parser(Scanner scanner)
{
this.scanner = scanner;
}
public ParseTree Parse(string input)
{
return Parse(input, "", new ParseTree());
}
public ParseTree Parse(string input, string fileName)
{
return Parse(input, fileName, new ParseTree());
}
public ParseTree Parse(string input, string fileName, ParseTree tree)
{
scanner.Init(input, fileName);
this.tree = tree;
ParseStart(tree);
tree.Skipped = scanner.Skipped;
return tree;
}
private void ParseStart(ParseNode parent) // NonTerminalSymbol: Start
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Start), "Start");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.LookAhead(TokenType.Code, TokenType.Technique, TokenType.Sampler); // ZeroOrMore Rule
while (tok.Type == TokenType.Code
|| tok.Type == TokenType.Technique
|| tok.Type == TokenType.Sampler)
{
tok = scanner.LookAhead(TokenType.Code, TokenType.Technique, TokenType.Sampler); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.Code:
tok = scanner.Scan(TokenType.Code); // Terminal Rule: Code
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Code) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Code.ToString(), 0x1001, tok));
return;
}
break;
case TokenType.Technique:
ParseTechnique_Declaration(node); // NonTerminal Rule: Technique_Declaration
break;
case TokenType.Sampler:
ParseSampler_Declaration(node); // NonTerminal Rule: Sampler_Declaration
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected Code, Technique, or Sampler.", 0x0002, tok));
break;
} // Choice Rule
tok = scanner.LookAhead(TokenType.Code, TokenType.Technique, TokenType.Sampler); // ZeroOrMore Rule
}
// Concat Rule
tok = scanner.Scan(TokenType.EndOfFile); // Terminal Rule: EndOfFile
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.EndOfFile) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.EndOfFile.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Start
private void ParseTechnique_Declaration(ParseNode parent) // NonTerminalSymbol: Technique_Declaration
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Technique_Declaration), "Technique_Declaration");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.Technique); // Terminal Rule: Technique
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Technique) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Technique.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.LookAhead(TokenType.Identifier); // Option Rule
if (tok.Type == TokenType.Identifier)
{
tok = scanner.Scan(TokenType.Identifier); // Terminal Rule: Identifier
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Identifier) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Identifier.ToString(), 0x1001, tok));
return;
}
}
// Concat Rule
tok = scanner.Scan(TokenType.OpenBracket); // Terminal Rule: OpenBracket
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.OpenBracket) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.OpenBracket.ToString(), 0x1001, tok));
return;
}
// Concat Rule
do { // OneOrMore Rule
ParsePass_Declaration(node); // NonTerminal Rule: Pass_Declaration
tok = scanner.LookAhead(TokenType.Pass); // OneOrMore Rule
} while (tok.Type == TokenType.Pass); // OneOrMore Rule
// Concat Rule
tok = scanner.Scan(TokenType.CloseBracket); // Terminal Rule: CloseBracket
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.CloseBracket) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.CloseBracket.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Technique_Declaration
private void ParseFillMode_Solid(ParseNode parent) // NonTerminalSymbol: FillMode_Solid
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.FillMode_Solid), "FillMode_Solid");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Solid); // Terminal Rule: Solid
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Solid) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Solid.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: FillMode_Solid
private void ParseFillMode_WireFrame(ParseNode parent) // NonTerminalSymbol: FillMode_WireFrame
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.FillMode_WireFrame), "FillMode_WireFrame");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.WireFrame); // Terminal Rule: WireFrame
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.WireFrame) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.WireFrame.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: FillMode_WireFrame
private void ParseFillModes(ParseNode parent) // NonTerminalSymbol: FillModes
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.FillModes), "FillModes");
parent.Nodes.Add(node);
tok = scanner.LookAhead(TokenType.Solid, TokenType.WireFrame); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.Solid:
ParseFillMode_Solid(node); // NonTerminal Rule: FillMode_Solid
break;
case TokenType.WireFrame:
ParseFillMode_WireFrame(node); // NonTerminal Rule: FillMode_WireFrame
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected Solid or WireFrame.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: FillModes
private void ParseCullMode_None(ParseNode parent) // NonTerminalSymbol: CullMode_None
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CullMode_None), "CullMode_None");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.None); // Terminal Rule: None
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.None) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.None.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CullMode_None
private void ParseCullMode_Cw(ParseNode parent) // NonTerminalSymbol: CullMode_Cw
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CullMode_Cw), "CullMode_Cw");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Cw); // Terminal Rule: Cw
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Cw) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Cw.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CullMode_Cw
private void ParseCullMode_Ccw(ParseNode parent) // NonTerminalSymbol: CullMode_Ccw
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CullMode_Ccw), "CullMode_Ccw");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Ccw); // Terminal Rule: Ccw
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Ccw) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Ccw.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CullMode_Ccw
private void ParseCullModes(ParseNode parent) // NonTerminalSymbol: CullModes
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CullModes), "CullModes");
parent.Nodes.Add(node);
tok = scanner.LookAhead(TokenType.None, TokenType.Cw, TokenType.Ccw); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.None:
ParseCullMode_None(node); // NonTerminal Rule: CullMode_None
break;
case TokenType.Cw:
ParseCullMode_Cw(node); // NonTerminal Rule: CullMode_Cw
break;
case TokenType.Ccw:
ParseCullMode_Ccw(node); // NonTerminal Rule: CullMode_Ccw
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected None, Cw, or Ccw.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CullModes
private void ParseColors_None(ParseNode parent) // NonTerminalSymbol: Colors_None
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Colors_None), "Colors_None");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.None); // Terminal Rule: None
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.None) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.None.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Colors_None
private void ParseColors_Red(ParseNode parent) // NonTerminalSymbol: Colors_Red
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Colors_Red), "Colors_Red");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Red); // Terminal Rule: Red
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Red) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Red.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Colors_Red
private void ParseColors_Green(ParseNode parent) // NonTerminalSymbol: Colors_Green
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Colors_Green), "Colors_Green");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Green); // Terminal Rule: Green
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Green) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Green.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Colors_Green
private void ParseColors_Blue(ParseNode parent) // NonTerminalSymbol: Colors_Blue
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Colors_Blue), "Colors_Blue");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Blue); // Terminal Rule: Blue
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Blue) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Blue.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Colors_Blue
private void ParseColors_Alpha(ParseNode parent) // NonTerminalSymbol: Colors_Alpha
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Colors_Alpha), "Colors_Alpha");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Alpha); // Terminal Rule: Alpha
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Alpha) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Alpha.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Colors_Alpha
private void ParseColors_All(ParseNode parent) // NonTerminalSymbol: Colors_All
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Colors_All), "Colors_All");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.All); // Terminal Rule: All
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.All) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.All.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Colors_All
private void ParseColors_Boolean(ParseNode parent) // NonTerminalSymbol: Colors_Boolean
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Colors_Boolean), "Colors_Boolean");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Boolean); // Terminal Rule: Boolean
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Boolean) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Boolean.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Colors_Boolean
private void ParseColors(ParseNode parent) // NonTerminalSymbol: Colors
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Colors), "Colors");
parent.Nodes.Add(node);
tok = scanner.LookAhead(TokenType.Red, TokenType.Green, TokenType.Blue, TokenType.Alpha, TokenType.None, TokenType.All, TokenType.Boolean); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.Red:
ParseColors_Red(node); // NonTerminal Rule: Colors_Red
break;
case TokenType.Green:
ParseColors_Green(node); // NonTerminal Rule: Colors_Green
break;
case TokenType.Blue:
ParseColors_Blue(node); // NonTerminal Rule: Colors_Blue
break;
case TokenType.Alpha:
ParseColors_Alpha(node); // NonTerminal Rule: Colors_Alpha
break;
case TokenType.None:
ParseColors_None(node); // NonTerminal Rule: Colors_None
break;
case TokenType.All:
ParseColors_All(node); // NonTerminal Rule: Colors_All
break;
case TokenType.Boolean:
ParseColors_Boolean(node); // NonTerminal Rule: Colors_Boolean
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected Red, Green, Blue, Alpha, None, All, or Boolean.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Colors
private void ParseColorsMasks(ParseNode parent) // NonTerminalSymbol: ColorsMasks
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.ColorsMasks), "ColorsMasks");
parent.Nodes.Add(node);
// Concat Rule
ParseColors(node); // NonTerminal Rule: Colors
// Concat Rule
tok = scanner.LookAhead(TokenType.Or); // Option Rule
if (tok.Type == TokenType.Or)
{
// Concat Rule
tok = scanner.Scan(TokenType.Or); // Terminal Rule: Or
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Or) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Or.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseColors(node); // NonTerminal Rule: Colors
}
// Concat Rule
tok = scanner.LookAhead(TokenType.Or); // Option Rule
if (tok.Type == TokenType.Or)
{
// Concat Rule
tok = scanner.Scan(TokenType.Or); // Terminal Rule: Or
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Or) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Or.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseColors(node); // NonTerminal Rule: Colors
}
// Concat Rule
tok = scanner.LookAhead(TokenType.Or); // Option Rule
if (tok.Type == TokenType.Or)
{
// Concat Rule
tok = scanner.Scan(TokenType.Or); // Terminal Rule: Or
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Or) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Or.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseColors(node); // NonTerminal Rule: Colors
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: ColorsMasks
private void ParseBlend_Zero(ParseNode parent) // NonTerminalSymbol: Blend_Zero
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_Zero), "Blend_Zero");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Zero); // Terminal Rule: Zero
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Zero) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Zero.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_Zero
private void ParseBlend_One(ParseNode parent) // NonTerminalSymbol: Blend_One
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_One), "Blend_One");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.One); // Terminal Rule: One
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.One) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.One.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_One
private void ParseBlend_SrcColor(ParseNode parent) // NonTerminalSymbol: Blend_SrcColor
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_SrcColor), "Blend_SrcColor");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.SrcColor); // Terminal Rule: SrcColor
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.SrcColor) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.SrcColor.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_SrcColor
private void ParseBlend_InvSrcColor(ParseNode parent) // NonTerminalSymbol: Blend_InvSrcColor
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_InvSrcColor), "Blend_InvSrcColor");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.InvSrcColor); // Terminal Rule: InvSrcColor
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.InvSrcColor) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.InvSrcColor.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_InvSrcColor
private void ParseBlend_SrcAlpha(ParseNode parent) // NonTerminalSymbol: Blend_SrcAlpha
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_SrcAlpha), "Blend_SrcAlpha");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.SrcAlpha); // Terminal Rule: SrcAlpha
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.SrcAlpha) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.SrcAlpha.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_SrcAlpha
private void ParseBlend_InvSrcAlpha(ParseNode parent) // NonTerminalSymbol: Blend_InvSrcAlpha
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_InvSrcAlpha), "Blend_InvSrcAlpha");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.InvSrcAlpha); // Terminal Rule: InvSrcAlpha
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.InvSrcAlpha) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.InvSrcAlpha.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_InvSrcAlpha
private void ParseBlend_DestAlpha(ParseNode parent) // NonTerminalSymbol: Blend_DestAlpha
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_DestAlpha), "Blend_DestAlpha");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.DestAlpha); // Terminal Rule: DestAlpha
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.DestAlpha) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.DestAlpha.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_DestAlpha
private void ParseBlend_InvDestAlpha(ParseNode parent) // NonTerminalSymbol: Blend_InvDestAlpha
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_InvDestAlpha), "Blend_InvDestAlpha");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.InvDestAlpha); // Terminal Rule: InvDestAlpha
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.InvDestAlpha) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.InvDestAlpha.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_InvDestAlpha
private void ParseBlend_DestColor(ParseNode parent) // NonTerminalSymbol: Blend_DestColor
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_DestColor), "Blend_DestColor");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.DestColor); // Terminal Rule: DestColor
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.DestColor) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.DestColor.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_DestColor
private void ParseBlend_InvDestColor(ParseNode parent) // NonTerminalSymbol: Blend_InvDestColor
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_InvDestColor), "Blend_InvDestColor");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.InvDestColor); // Terminal Rule: InvDestColor
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.InvDestColor) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.InvDestColor.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_InvDestColor
private void ParseBlend_SrcAlphaSat(ParseNode parent) // NonTerminalSymbol: Blend_SrcAlphaSat
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_SrcAlphaSat), "Blend_SrcAlphaSat");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.SrcAlphaSat); // Terminal Rule: SrcAlphaSat
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.SrcAlphaSat) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.SrcAlphaSat.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_SrcAlphaSat
private void ParseBlend_BlendFactor(ParseNode parent) // NonTerminalSymbol: Blend_BlendFactor
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_BlendFactor), "Blend_BlendFactor");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.BlendFactor); // Terminal Rule: BlendFactor
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.BlendFactor) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.BlendFactor.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_BlendFactor
private void ParseBlend_InvBlendFactor(ParseNode parent) // NonTerminalSymbol: Blend_InvBlendFactor
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blend_InvBlendFactor), "Blend_InvBlendFactor");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.InvBlendFactor); // Terminal Rule: InvBlendFactor
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.InvBlendFactor) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.InvBlendFactor.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blend_InvBlendFactor
private void ParseBlends(ParseNode parent) // NonTerminalSymbol: Blends
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Blends), "Blends");
parent.Nodes.Add(node);
tok = scanner.LookAhead(TokenType.Zero, TokenType.One, TokenType.SrcColor, TokenType.InvSrcColor, TokenType.SrcAlpha, TokenType.InvSrcAlpha, TokenType.DestAlpha, TokenType.InvDestAlpha, TokenType.DestColor, TokenType.InvDestColor, TokenType.SrcAlphaSat, TokenType.BlendFactor, TokenType.InvBlendFactor); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.Zero:
ParseBlend_Zero(node); // NonTerminal Rule: Blend_Zero
break;
case TokenType.One:
ParseBlend_One(node); // NonTerminal Rule: Blend_One
break;
case TokenType.SrcColor:
ParseBlend_SrcColor(node); // NonTerminal Rule: Blend_SrcColor
break;
case TokenType.InvSrcColor:
ParseBlend_InvSrcColor(node); // NonTerminal Rule: Blend_InvSrcColor
break;
case TokenType.SrcAlpha:
ParseBlend_SrcAlpha(node); // NonTerminal Rule: Blend_SrcAlpha
break;
case TokenType.InvSrcAlpha:
ParseBlend_InvSrcAlpha(node); // NonTerminal Rule: Blend_InvSrcAlpha
break;
case TokenType.DestAlpha:
ParseBlend_DestAlpha(node); // NonTerminal Rule: Blend_DestAlpha
break;
case TokenType.InvDestAlpha:
ParseBlend_InvDestAlpha(node); // NonTerminal Rule: Blend_InvDestAlpha
break;
case TokenType.DestColor:
ParseBlend_DestColor(node); // NonTerminal Rule: Blend_DestColor
break;
case TokenType.InvDestColor:
ParseBlend_InvDestColor(node); // NonTerminal Rule: Blend_InvDestColor
break;
case TokenType.SrcAlphaSat:
ParseBlend_SrcAlphaSat(node); // NonTerminal Rule: Blend_SrcAlphaSat
break;
case TokenType.BlendFactor:
ParseBlend_BlendFactor(node); // NonTerminal Rule: Blend_BlendFactor
break;
case TokenType.InvBlendFactor:
ParseBlend_InvBlendFactor(node); // NonTerminal Rule: Blend_InvBlendFactor
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected Zero, One, SrcColor, InvSrcColor, SrcAlpha, InvSrcAlpha, DestAlpha, InvDestAlpha, DestColor, InvDestColor, SrcAlphaSat, BlendFactor, or InvBlendFactor.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Blends
private void ParseBlendOp_Add(ParseNode parent) // NonTerminalSymbol: BlendOp_Add
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.BlendOp_Add), "BlendOp_Add");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Add); // Terminal Rule: Add
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Add) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Add.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: BlendOp_Add
private void ParseBlendOp_Subtract(ParseNode parent) // NonTerminalSymbol: BlendOp_Subtract
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.BlendOp_Subtract), "BlendOp_Subtract");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Subtract); // Terminal Rule: Subtract
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Subtract) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Subtract.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: BlendOp_Subtract
private void ParseBlendOp_RevSubtract(ParseNode parent) // NonTerminalSymbol: BlendOp_RevSubtract
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.BlendOp_RevSubtract), "BlendOp_RevSubtract");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.RevSubtract); // Terminal Rule: RevSubtract
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.RevSubtract) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.RevSubtract.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: BlendOp_RevSubtract
private void ParseBlendOp_Min(ParseNode parent) // NonTerminalSymbol: BlendOp_Min
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.BlendOp_Min), "BlendOp_Min");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Min); // Terminal Rule: Min
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Min) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Min.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: BlendOp_Min
private void ParseBlendOp_Max(ParseNode parent) // NonTerminalSymbol: BlendOp_Max
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.BlendOp_Max), "BlendOp_Max");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Max); // Terminal Rule: Max
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Max) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Max.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: BlendOp_Max
private void ParseBlendOps(ParseNode parent) // NonTerminalSymbol: BlendOps
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.BlendOps), "BlendOps");
parent.Nodes.Add(node);
tok = scanner.LookAhead(TokenType.Add, TokenType.Subtract, TokenType.RevSubtract, TokenType.Min, TokenType.Max); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.Add:
ParseBlendOp_Add(node); // NonTerminal Rule: BlendOp_Add
break;
case TokenType.Subtract:
ParseBlendOp_Subtract(node); // NonTerminal Rule: BlendOp_Subtract
break;
case TokenType.RevSubtract:
ParseBlendOp_RevSubtract(node); // NonTerminal Rule: BlendOp_RevSubtract
break;
case TokenType.Min:
ParseBlendOp_Min(node); // NonTerminal Rule: BlendOp_Min
break;
case TokenType.Max:
ParseBlendOp_Max(node); // NonTerminal Rule: BlendOp_Max
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected Add, Subtract, RevSubtract, Min, or Max.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: BlendOps
private void ParseCmpFunc_Never(ParseNode parent) // NonTerminalSymbol: CmpFunc_Never
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CmpFunc_Never), "CmpFunc_Never");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Never); // Terminal Rule: Never
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Never) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Never.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CmpFunc_Never
private void ParseCmpFunc_Less(ParseNode parent) // NonTerminalSymbol: CmpFunc_Less
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CmpFunc_Less), "CmpFunc_Less");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Less); // Terminal Rule: Less
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Less) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Less.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CmpFunc_Less
private void ParseCmpFunc_Equal(ParseNode parent) // NonTerminalSymbol: CmpFunc_Equal
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CmpFunc_Equal), "CmpFunc_Equal");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Equal); // Terminal Rule: Equal
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equal) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equal.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CmpFunc_Equal
private void ParseCmpFunc_LessEqual(ParseNode parent) // NonTerminalSymbol: CmpFunc_LessEqual
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CmpFunc_LessEqual), "CmpFunc_LessEqual");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.LessEqual); // Terminal Rule: LessEqual
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.LessEqual) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.LessEqual.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CmpFunc_LessEqual
private void ParseCmpFunc_Greater(ParseNode parent) // NonTerminalSymbol: CmpFunc_Greater
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CmpFunc_Greater), "CmpFunc_Greater");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Greater); // Terminal Rule: Greater
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Greater) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Greater.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CmpFunc_Greater
private void ParseCmpFunc_NotEqual(ParseNode parent) // NonTerminalSymbol: CmpFunc_NotEqual
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CmpFunc_NotEqual), "CmpFunc_NotEqual");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.NotEqual); // Terminal Rule: NotEqual
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.NotEqual) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.NotEqual.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CmpFunc_NotEqual
private void ParseCmpFunc_GreaterEqual(ParseNode parent) // NonTerminalSymbol: CmpFunc_GreaterEqual
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CmpFunc_GreaterEqual), "CmpFunc_GreaterEqual");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.GreaterEqual); // Terminal Rule: GreaterEqual
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.GreaterEqual) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.GreaterEqual.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CmpFunc_GreaterEqual
private void ParseCmpFunc_Always(ParseNode parent) // NonTerminalSymbol: CmpFunc_Always
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CmpFunc_Always), "CmpFunc_Always");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Always); // Terminal Rule: Always
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Always) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Always.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CmpFunc_Always
private void ParseCmpFunc(ParseNode parent) // NonTerminalSymbol: CmpFunc
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.CmpFunc), "CmpFunc");
parent.Nodes.Add(node);
tok = scanner.LookAhead(TokenType.Never, TokenType.Less, TokenType.Equal, TokenType.LessEqual, TokenType.Greater, TokenType.NotEqual, TokenType.GreaterEqual, TokenType.Always); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.Never:
ParseCmpFunc_Never(node); // NonTerminal Rule: CmpFunc_Never
break;
case TokenType.Less:
ParseCmpFunc_Less(node); // NonTerminal Rule: CmpFunc_Less
break;
case TokenType.Equal:
ParseCmpFunc_Equal(node); // NonTerminal Rule: CmpFunc_Equal
break;
case TokenType.LessEqual:
ParseCmpFunc_LessEqual(node); // NonTerminal Rule: CmpFunc_LessEqual
break;
case TokenType.Greater:
ParseCmpFunc_Greater(node); // NonTerminal Rule: CmpFunc_Greater
break;
case TokenType.NotEqual:
ParseCmpFunc_NotEqual(node); // NonTerminal Rule: CmpFunc_NotEqual
break;
case TokenType.GreaterEqual:
ParseCmpFunc_GreaterEqual(node); // NonTerminal Rule: CmpFunc_GreaterEqual
break;
case TokenType.Always:
ParseCmpFunc_Always(node); // NonTerminal Rule: CmpFunc_Always
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected Never, Less, Equal, LessEqual, Greater, NotEqual, GreaterEqual, or Always.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: CmpFunc
private void ParseStencilOp_Keep(ParseNode parent) // NonTerminalSymbol: StencilOp_Keep
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.StencilOp_Keep), "StencilOp_Keep");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Keep); // Terminal Rule: Keep
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Keep) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Keep.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: StencilOp_Keep
private void ParseStencilOp_Zero(ParseNode parent) // NonTerminalSymbol: StencilOp_Zero
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.StencilOp_Zero), "StencilOp_Zero");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Zero); // Terminal Rule: Zero
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Zero) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Zero.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: StencilOp_Zero
private void ParseStencilOp_Replace(ParseNode parent) // NonTerminalSymbol: StencilOp_Replace
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.StencilOp_Replace), "StencilOp_Replace");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Replace); // Terminal Rule: Replace
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Replace) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Replace.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: StencilOp_Replace
private void ParseStencilOp_IncrSat(ParseNode parent) // NonTerminalSymbol: StencilOp_IncrSat
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.StencilOp_IncrSat), "StencilOp_IncrSat");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.IncrSat); // Terminal Rule: IncrSat
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.IncrSat) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.IncrSat.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: StencilOp_IncrSat
private void ParseStencilOp_DecrSat(ParseNode parent) // NonTerminalSymbol: StencilOp_DecrSat
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.StencilOp_DecrSat), "StencilOp_DecrSat");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.DecrSat); // Terminal Rule: DecrSat
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.DecrSat) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.DecrSat.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: StencilOp_DecrSat
private void ParseStencilOp_Invert(ParseNode parent) // NonTerminalSymbol: StencilOp_Invert
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.StencilOp_Invert), "StencilOp_Invert");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Invert); // Terminal Rule: Invert
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Invert) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Invert.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: StencilOp_Invert
private void ParseStencilOp_Incr(ParseNode parent) // NonTerminalSymbol: StencilOp_Incr
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.StencilOp_Incr), "StencilOp_Incr");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Incr); // Terminal Rule: Incr
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Incr) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Incr.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: StencilOp_Incr
private void ParseStencilOp_Decr(ParseNode parent) // NonTerminalSymbol: StencilOp_Decr
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.StencilOp_Decr), "StencilOp_Decr");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Decr); // Terminal Rule: Decr
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Decr) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Decr.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: StencilOp_Decr
private void ParseStencilOp(ParseNode parent) // NonTerminalSymbol: StencilOp
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.StencilOp), "StencilOp");
parent.Nodes.Add(node);
tok = scanner.LookAhead(TokenType.Keep, TokenType.Zero, TokenType.Replace, TokenType.IncrSat, TokenType.DecrSat, TokenType.Invert, TokenType.Incr, TokenType.Decr); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.Keep:
ParseStencilOp_Keep(node); // NonTerminal Rule: StencilOp_Keep
break;
case TokenType.Zero:
ParseStencilOp_Zero(node); // NonTerminal Rule: StencilOp_Zero
break;
case TokenType.Replace:
ParseStencilOp_Replace(node); // NonTerminal Rule: StencilOp_Replace
break;
case TokenType.IncrSat:
ParseStencilOp_IncrSat(node); // NonTerminal Rule: StencilOp_IncrSat
break;
case TokenType.DecrSat:
ParseStencilOp_DecrSat(node); // NonTerminal Rule: StencilOp_DecrSat
break;
case TokenType.Invert:
ParseStencilOp_Invert(node); // NonTerminal Rule: StencilOp_Invert
break;
case TokenType.Incr:
ParseStencilOp_Incr(node); // NonTerminal Rule: StencilOp_Incr
break;
case TokenType.Decr:
ParseStencilOp_Decr(node); // NonTerminal Rule: StencilOp_Decr
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected Keep, Zero, Replace, IncrSat, DecrSat, Invert, Incr, or Decr.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: StencilOp
private void ParseRender_State_CullMode(ParseNode parent) // NonTerminalSymbol: Render_State_CullMode
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_CullMode), "Render_State_CullMode");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.CullMode); // Terminal Rule: CullMode
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.CullMode) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.CullMode.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseCullModes(node); // NonTerminal Rule: CullModes
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_CullMode
private void ParseRender_State_FillMode(ParseNode parent) // NonTerminalSymbol: Render_State_FillMode
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_FillMode), "Render_State_FillMode");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.FillMode); // Terminal Rule: FillMode
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.FillMode) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.FillMode.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseFillModes(node); // NonTerminal Rule: FillModes
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_FillMode
private void ParseRender_State_AlphaBlendEnable(ParseNode parent) // NonTerminalSymbol: Render_State_AlphaBlendEnable
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_AlphaBlendEnable), "Render_State_AlphaBlendEnable");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.AlphaBlendEnable); // Terminal Rule: AlphaBlendEnable
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.AlphaBlendEnable) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.AlphaBlendEnable.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Boolean); // Terminal Rule: Boolean
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Boolean) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Boolean.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_AlphaBlendEnable
private void ParseRender_State_SrcBlend(ParseNode parent) // NonTerminalSymbol: Render_State_SrcBlend
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_SrcBlend), "Render_State_SrcBlend");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.SrcBlend); // Terminal Rule: SrcBlend
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.SrcBlend) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.SrcBlend.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseBlends(node); // NonTerminal Rule: Blends
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_SrcBlend
private void ParseRender_State_DestBlend(ParseNode parent) // NonTerminalSymbol: Render_State_DestBlend
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_DestBlend), "Render_State_DestBlend");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.DestBlend); // Terminal Rule: DestBlend
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.DestBlend) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.DestBlend.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseBlends(node); // NonTerminal Rule: Blends
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_DestBlend
private void ParseRender_State_BlendOp(ParseNode parent) // NonTerminalSymbol: Render_State_BlendOp
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_BlendOp), "Render_State_BlendOp");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.BlendOp); // Terminal Rule: BlendOp
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.BlendOp) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.BlendOp.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseBlendOps(node); // NonTerminal Rule: BlendOps
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_BlendOp
private void ParseRender_State_ColorWriteEnable(ParseNode parent) // NonTerminalSymbol: Render_State_ColorWriteEnable
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_ColorWriteEnable), "Render_State_ColorWriteEnable");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.ColorWriteEnable); // Terminal Rule: ColorWriteEnable
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.ColorWriteEnable) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.ColorWriteEnable.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseColorsMasks(node); // NonTerminal Rule: ColorsMasks
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_ColorWriteEnable
private void ParseRender_State_DepthBias(ParseNode parent) // NonTerminalSymbol: Render_State_DepthBias
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_DepthBias), "Render_State_DepthBias");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.DepthBias); // Terminal Rule: DepthBias
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.DepthBias) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.DepthBias.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Number); // Terminal Rule: Number
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Number) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Number.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_DepthBias
private void ParseRender_State_SlopeScaleDepthBias(ParseNode parent) // NonTerminalSymbol: Render_State_SlopeScaleDepthBias
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_SlopeScaleDepthBias), "Render_State_SlopeScaleDepthBias");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.SlopeScaleDepthBias); // Terminal Rule: SlopeScaleDepthBias
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.SlopeScaleDepthBias) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.SlopeScaleDepthBias.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Number); // Terminal Rule: Number
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Number) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Number.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_SlopeScaleDepthBias
private void ParseRender_State_ZEnable(ParseNode parent) // NonTerminalSymbol: Render_State_ZEnable
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_ZEnable), "Render_State_ZEnable");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.ZEnable); // Terminal Rule: ZEnable
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.ZEnable) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.ZEnable.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Boolean); // Terminal Rule: Boolean
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Boolean) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Boolean.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_ZEnable
private void ParseRender_State_ZWriteEnable(ParseNode parent) // NonTerminalSymbol: Render_State_ZWriteEnable
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_ZWriteEnable), "Render_State_ZWriteEnable");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.ZWriteEnable); // Terminal Rule: ZWriteEnable
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.ZWriteEnable) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.ZWriteEnable.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Boolean); // Terminal Rule: Boolean
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Boolean) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Boolean.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_ZWriteEnable
private void ParseRender_State_ZFunc(ParseNode parent) // NonTerminalSymbol: Render_State_ZFunc
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_ZFunc), "Render_State_ZFunc");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.ZFunc); // Terminal Rule: ZFunc
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.ZFunc) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.ZFunc.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseCmpFunc(node); // NonTerminal Rule: CmpFunc
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_ZFunc
private void ParseRender_State_MultiSampleAntiAlias(ParseNode parent) // NonTerminalSymbol: Render_State_MultiSampleAntiAlias
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_MultiSampleAntiAlias), "Render_State_MultiSampleAntiAlias");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.MultiSampleAntiAlias); // Terminal Rule: MultiSampleAntiAlias
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.MultiSampleAntiAlias) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.MultiSampleAntiAlias.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Boolean); // Terminal Rule: Boolean
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Boolean) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Boolean.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_MultiSampleAntiAlias
private void ParseRender_State_ScissorTestEnable(ParseNode parent) // NonTerminalSymbol: Render_State_ScissorTestEnable
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_ScissorTestEnable), "Render_State_ScissorTestEnable");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.ScissorTestEnable); // Terminal Rule: ScissorTestEnable
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.ScissorTestEnable) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.ScissorTestEnable.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Boolean); // Terminal Rule: Boolean
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Boolean) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Boolean.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_ScissorTestEnable
private void ParseRender_State_StencilEnable(ParseNode parent) // NonTerminalSymbol: Render_State_StencilEnable
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_StencilEnable), "Render_State_StencilEnable");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.StencilEnable); // Terminal Rule: StencilEnable
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.StencilEnable) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.StencilEnable.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Boolean); // Terminal Rule: Boolean
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Boolean) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Boolean.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_StencilEnable
private void ParseRender_State_StencilFail(ParseNode parent) // NonTerminalSymbol: Render_State_StencilFail
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_StencilFail), "Render_State_StencilFail");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.StencilFail); // Terminal Rule: StencilFail
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.StencilFail) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.StencilFail.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseStencilOp(node); // NonTerminal Rule: StencilOp
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_StencilFail
private void ParseRender_State_StencilFunc(ParseNode parent) // NonTerminalSymbol: Render_State_StencilFunc
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_StencilFunc), "Render_State_StencilFunc");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.StencilFunc); // Terminal Rule: StencilFunc
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.StencilFunc) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.StencilFunc.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseCmpFunc(node); // NonTerminal Rule: CmpFunc
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_StencilFunc
private void ParseRender_State_StencilMask(ParseNode parent) // NonTerminalSymbol: Render_State_StencilMask
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_StencilMask), "Render_State_StencilMask");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.StencilMask); // Terminal Rule: StencilMask
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.StencilMask) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.StencilMask.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Number); // Terminal Rule: Number
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Number) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Number.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_StencilMask
private void ParseRender_State_StencilPass(ParseNode parent) // NonTerminalSymbol: Render_State_StencilPass
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_StencilPass), "Render_State_StencilPass");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.StencilPass); // Terminal Rule: StencilPass
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.StencilPass) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.StencilPass.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseStencilOp(node); // NonTerminal Rule: StencilOp
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_StencilPass
private void ParseRender_State_StencilRef(ParseNode parent) // NonTerminalSymbol: Render_State_StencilRef
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_StencilRef), "Render_State_StencilRef");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.StencilRef); // Terminal Rule: StencilRef
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.StencilRef) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.StencilRef.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Number); // Terminal Rule: Number
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Number) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Number.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_StencilRef
private void ParseRender_State_StencilWriteMask(ParseNode parent) // NonTerminalSymbol: Render_State_StencilWriteMask
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_StencilWriteMask), "Render_State_StencilWriteMask");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.StencilWriteMask); // Terminal Rule: StencilWriteMask
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.StencilWriteMask) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.StencilWriteMask.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Number); // Terminal Rule: Number
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Number) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Number.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_StencilWriteMask
private void ParseRender_State_StencilZFail(ParseNode parent) // NonTerminalSymbol: Render_State_StencilZFail
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_StencilZFail), "Render_State_StencilZFail");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.StencilZFail); // Terminal Rule: StencilZFail
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.StencilZFail) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.StencilZFail.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseStencilOp(node); // NonTerminal Rule: StencilOp
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_StencilZFail
private void ParseRender_State_Expression(ParseNode parent) // NonTerminalSymbol: Render_State_Expression
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Render_State_Expression), "Render_State_Expression");
parent.Nodes.Add(node);
tok = scanner.LookAhead(TokenType.CullMode, TokenType.FillMode, TokenType.AlphaBlendEnable, TokenType.SrcBlend, TokenType.DestBlend, TokenType.BlendOp, TokenType.ColorWriteEnable, TokenType.DepthBias, TokenType.SlopeScaleDepthBias, TokenType.ZEnable, TokenType.ZWriteEnable, TokenType.ZFunc, TokenType.MultiSampleAntiAlias, TokenType.ScissorTestEnable, TokenType.StencilEnable, TokenType.StencilFail, TokenType.StencilFunc, TokenType.StencilMask, TokenType.StencilPass, TokenType.StencilRef, TokenType.StencilWriteMask, TokenType.StencilZFail); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.CullMode:
ParseRender_State_CullMode(node); // NonTerminal Rule: Render_State_CullMode
break;
case TokenType.FillMode:
ParseRender_State_FillMode(node); // NonTerminal Rule: Render_State_FillMode
break;
case TokenType.AlphaBlendEnable:
ParseRender_State_AlphaBlendEnable(node); // NonTerminal Rule: Render_State_AlphaBlendEnable
break;
case TokenType.SrcBlend:
ParseRender_State_SrcBlend(node); // NonTerminal Rule: Render_State_SrcBlend
break;
case TokenType.DestBlend:
ParseRender_State_DestBlend(node); // NonTerminal Rule: Render_State_DestBlend
break;
case TokenType.BlendOp:
ParseRender_State_BlendOp(node); // NonTerminal Rule: Render_State_BlendOp
break;
case TokenType.ColorWriteEnable:
ParseRender_State_ColorWriteEnable(node); // NonTerminal Rule: Render_State_ColorWriteEnable
break;
case TokenType.DepthBias:
ParseRender_State_DepthBias(node); // NonTerminal Rule: Render_State_DepthBias
break;
case TokenType.SlopeScaleDepthBias:
ParseRender_State_SlopeScaleDepthBias(node); // NonTerminal Rule: Render_State_SlopeScaleDepthBias
break;
case TokenType.ZEnable:
ParseRender_State_ZEnable(node); // NonTerminal Rule: Render_State_ZEnable
break;
case TokenType.ZWriteEnable:
ParseRender_State_ZWriteEnable(node); // NonTerminal Rule: Render_State_ZWriteEnable
break;
case TokenType.ZFunc:
ParseRender_State_ZFunc(node); // NonTerminal Rule: Render_State_ZFunc
break;
case TokenType.MultiSampleAntiAlias:
ParseRender_State_MultiSampleAntiAlias(node); // NonTerminal Rule: Render_State_MultiSampleAntiAlias
break;
case TokenType.ScissorTestEnable:
ParseRender_State_ScissorTestEnable(node); // NonTerminal Rule: Render_State_ScissorTestEnable
break;
case TokenType.StencilEnable:
ParseRender_State_StencilEnable(node); // NonTerminal Rule: Render_State_StencilEnable
break;
case TokenType.StencilFail:
ParseRender_State_StencilFail(node); // NonTerminal Rule: Render_State_StencilFail
break;
case TokenType.StencilFunc:
ParseRender_State_StencilFunc(node); // NonTerminal Rule: Render_State_StencilFunc
break;
case TokenType.StencilMask:
ParseRender_State_StencilMask(node); // NonTerminal Rule: Render_State_StencilMask
break;
case TokenType.StencilPass:
ParseRender_State_StencilPass(node); // NonTerminal Rule: Render_State_StencilPass
break;
case TokenType.StencilRef:
ParseRender_State_StencilRef(node); // NonTerminal Rule: Render_State_StencilRef
break;
case TokenType.StencilWriteMask:
ParseRender_State_StencilWriteMask(node); // NonTerminal Rule: Render_State_StencilWriteMask
break;
case TokenType.StencilZFail:
ParseRender_State_StencilZFail(node); // NonTerminal Rule: Render_State_StencilZFail
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected CullMode, FillMode, AlphaBlendEnable, SrcBlend, DestBlend, BlendOp, ColorWriteEnable, DepthBias, SlopeScaleDepthBias, ZEnable, ZWriteEnable, ZFunc, MultiSampleAntiAlias, ScissorTestEnable, StencilEnable, StencilFail, StencilFunc, StencilMask, StencilPass, StencilRef, StencilWriteMask, or StencilZFail.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Render_State_Expression
private void ParsePass_Declaration(ParseNode parent) // NonTerminalSymbol: Pass_Declaration
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Pass_Declaration), "Pass_Declaration");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.Pass); // Terminal Rule: Pass
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Pass) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Pass.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.LookAhead(TokenType.Identifier); // Option Rule
if (tok.Type == TokenType.Identifier)
{
tok = scanner.Scan(TokenType.Identifier); // Terminal Rule: Identifier
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Identifier) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Identifier.ToString(), 0x1001, tok));
return;
}
}
// Concat Rule
tok = scanner.Scan(TokenType.OpenBracket); // Terminal Rule: OpenBracket
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.OpenBracket) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.OpenBracket.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.LookAhead(TokenType.VertexShader, TokenType.PixelShader, TokenType.CullMode, TokenType.FillMode, TokenType.AlphaBlendEnable, TokenType.SrcBlend, TokenType.DestBlend, TokenType.BlendOp, TokenType.ColorWriteEnable, TokenType.DepthBias, TokenType.SlopeScaleDepthBias, TokenType.ZEnable, TokenType.ZWriteEnable, TokenType.ZFunc, TokenType.MultiSampleAntiAlias, TokenType.ScissorTestEnable, TokenType.StencilEnable, TokenType.StencilFail, TokenType.StencilFunc, TokenType.StencilMask, TokenType.StencilPass, TokenType.StencilRef, TokenType.StencilWriteMask, TokenType.StencilZFail); // ZeroOrMore Rule
while (tok.Type == TokenType.VertexShader
|| tok.Type == TokenType.PixelShader
|| tok.Type == TokenType.CullMode
|| tok.Type == TokenType.FillMode
|| tok.Type == TokenType.AlphaBlendEnable
|| tok.Type == TokenType.SrcBlend
|| tok.Type == TokenType.DestBlend
|| tok.Type == TokenType.BlendOp
|| tok.Type == TokenType.ColorWriteEnable
|| tok.Type == TokenType.DepthBias
|| tok.Type == TokenType.SlopeScaleDepthBias
|| tok.Type == TokenType.ZEnable
|| tok.Type == TokenType.ZWriteEnable
|| tok.Type == TokenType.ZFunc
|| tok.Type == TokenType.MultiSampleAntiAlias
|| tok.Type == TokenType.ScissorTestEnable
|| tok.Type == TokenType.StencilEnable
|| tok.Type == TokenType.StencilFail
|| tok.Type == TokenType.StencilFunc
|| tok.Type == TokenType.StencilMask
|| tok.Type == TokenType.StencilPass
|| tok.Type == TokenType.StencilRef
|| tok.Type == TokenType.StencilWriteMask
|| tok.Type == TokenType.StencilZFail)
{
tok = scanner.LookAhead(TokenType.VertexShader, TokenType.PixelShader, TokenType.CullMode, TokenType.FillMode, TokenType.AlphaBlendEnable, TokenType.SrcBlend, TokenType.DestBlend, TokenType.BlendOp, TokenType.ColorWriteEnable, TokenType.DepthBias, TokenType.SlopeScaleDepthBias, TokenType.ZEnable, TokenType.ZWriteEnable, TokenType.ZFunc, TokenType.MultiSampleAntiAlias, TokenType.ScissorTestEnable, TokenType.StencilEnable, TokenType.StencilFail, TokenType.StencilFunc, TokenType.StencilMask, TokenType.StencilPass, TokenType.StencilRef, TokenType.StencilWriteMask, TokenType.StencilZFail); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.VertexShader:
ParseVertexShader_Pass_Expression(node); // NonTerminal Rule: VertexShader_Pass_Expression
break;
case TokenType.PixelShader:
ParsePixelShader_Pass_Expression(node); // NonTerminal Rule: PixelShader_Pass_Expression
break;
case TokenType.CullMode:
case TokenType.FillMode:
case TokenType.AlphaBlendEnable:
case TokenType.SrcBlend:
case TokenType.DestBlend:
case TokenType.BlendOp:
case TokenType.ColorWriteEnable:
case TokenType.DepthBias:
case TokenType.SlopeScaleDepthBias:
case TokenType.ZEnable:
case TokenType.ZWriteEnable:
case TokenType.ZFunc:
case TokenType.MultiSampleAntiAlias:
case TokenType.ScissorTestEnable:
case TokenType.StencilEnable:
case TokenType.StencilFail:
case TokenType.StencilFunc:
case TokenType.StencilMask:
case TokenType.StencilPass:
case TokenType.StencilRef:
case TokenType.StencilWriteMask:
case TokenType.StencilZFail:
ParseRender_State_Expression(node); // NonTerminal Rule: Render_State_Expression
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected VertexShader, PixelShader, CullMode, FillMode, AlphaBlendEnable, SrcBlend, DestBlend, BlendOp, ColorWriteEnable, DepthBias, SlopeScaleDepthBias, ZEnable, ZWriteEnable, ZFunc, MultiSampleAntiAlias, ScissorTestEnable, StencilEnable, StencilFail, StencilFunc, StencilMask, StencilPass, StencilRef, StencilWriteMask, or StencilZFail.", 0x0002, tok));
break;
} // Choice Rule
tok = scanner.LookAhead(TokenType.VertexShader, TokenType.PixelShader, TokenType.CullMode, TokenType.FillMode, TokenType.AlphaBlendEnable, TokenType.SrcBlend, TokenType.DestBlend, TokenType.BlendOp, TokenType.ColorWriteEnable, TokenType.DepthBias, TokenType.SlopeScaleDepthBias, TokenType.ZEnable, TokenType.ZWriteEnable, TokenType.ZFunc, TokenType.MultiSampleAntiAlias, TokenType.ScissorTestEnable, TokenType.StencilEnable, TokenType.StencilFail, TokenType.StencilFunc, TokenType.StencilMask, TokenType.StencilPass, TokenType.StencilRef, TokenType.StencilWriteMask, TokenType.StencilZFail); // ZeroOrMore Rule
}
// Concat Rule
tok = scanner.Scan(TokenType.CloseBracket); // Terminal Rule: CloseBracket
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.CloseBracket) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.CloseBracket.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Pass_Declaration
private void ParseVertexShader_Pass_Expression(ParseNode parent) // NonTerminalSymbol: VertexShader_Pass_Expression
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.VertexShader_Pass_Expression), "VertexShader_Pass_Expression");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.VertexShader); // Terminal Rule: VertexShader
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.VertexShader) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.VertexShader.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Compile); // Terminal Rule: Compile
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Compile) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Compile.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.ShaderModel); // Terminal Rule: ShaderModel
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.ShaderModel) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.ShaderModel.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Identifier); // Terminal Rule: Identifier
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Identifier) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Identifier.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.OpenParenthesis); // Terminal Rule: OpenParenthesis
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.OpenParenthesis) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.OpenParenthesis.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.CloseParenthesis); // Terminal Rule: CloseParenthesis
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.CloseParenthesis) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.CloseParenthesis.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: VertexShader_Pass_Expression
private void ParsePixelShader_Pass_Expression(ParseNode parent) // NonTerminalSymbol: PixelShader_Pass_Expression
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.PixelShader_Pass_Expression), "PixelShader_Pass_Expression");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.PixelShader); // Terminal Rule: PixelShader
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.PixelShader) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.PixelShader.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Compile); // Terminal Rule: Compile
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Compile) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Compile.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.ShaderModel); // Terminal Rule: ShaderModel
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.ShaderModel) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.ShaderModel.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Identifier); // Terminal Rule: Identifier
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Identifier) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Identifier.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.OpenParenthesis); // Terminal Rule: OpenParenthesis
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.OpenParenthesis) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.OpenParenthesis.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.CloseParenthesis); // Terminal Rule: CloseParenthesis
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.CloseParenthesis) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.CloseParenthesis.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: PixelShader_Pass_Expression
private void ParseAddressMode_Clamp(ParseNode parent) // NonTerminalSymbol: AddressMode_Clamp
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.AddressMode_Clamp), "AddressMode_Clamp");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Clamp); // Terminal Rule: Clamp
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Clamp) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Clamp.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: AddressMode_Clamp
private void ParseAddressMode_Wrap(ParseNode parent) // NonTerminalSymbol: AddressMode_Wrap
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.AddressMode_Wrap), "AddressMode_Wrap");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Wrap); // Terminal Rule: Wrap
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Wrap) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Wrap.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: AddressMode_Wrap
private void ParseAddressMode_Mirror(ParseNode parent) // NonTerminalSymbol: AddressMode_Mirror
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.AddressMode_Mirror), "AddressMode_Mirror");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Mirror); // Terminal Rule: Mirror
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Mirror) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Mirror.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: AddressMode_Mirror
private void ParseAddressMode_Border(ParseNode parent) // NonTerminalSymbol: AddressMode_Border
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.AddressMode_Border), "AddressMode_Border");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Border); // Terminal Rule: Border
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Border) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Border.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: AddressMode_Border
private void ParseAddressMode(ParseNode parent) // NonTerminalSymbol: AddressMode
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.AddressMode), "AddressMode");
parent.Nodes.Add(node);
tok = scanner.LookAhead(TokenType.Clamp, TokenType.Wrap, TokenType.Mirror, TokenType.Border); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.Clamp:
ParseAddressMode_Clamp(node); // NonTerminal Rule: AddressMode_Clamp
break;
case TokenType.Wrap:
ParseAddressMode_Wrap(node); // NonTerminal Rule: AddressMode_Wrap
break;
case TokenType.Mirror:
ParseAddressMode_Mirror(node); // NonTerminal Rule: AddressMode_Mirror
break;
case TokenType.Border:
ParseAddressMode_Border(node); // NonTerminal Rule: AddressMode_Border
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected Clamp, Wrap, Mirror, or Border.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: AddressMode
private void ParseTextureFilter_None(ParseNode parent) // NonTerminalSymbol: TextureFilter_None
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.TextureFilter_None), "TextureFilter_None");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.None); // Terminal Rule: None
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.None) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.None.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: TextureFilter_None
private void ParseTextureFilter_Linear(ParseNode parent) // NonTerminalSymbol: TextureFilter_Linear
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.TextureFilter_Linear), "TextureFilter_Linear");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Linear); // Terminal Rule: Linear
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Linear) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Linear.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: TextureFilter_Linear
private void ParseTextureFilter_Point(ParseNode parent) // NonTerminalSymbol: TextureFilter_Point
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.TextureFilter_Point), "TextureFilter_Point");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Point); // Terminal Rule: Point
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Point) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Point.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: TextureFilter_Point
private void ParseTextureFilter_Anisotropic(ParseNode parent) // NonTerminalSymbol: TextureFilter_Anisotropic
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.TextureFilter_Anisotropic), "TextureFilter_Anisotropic");
parent.Nodes.Add(node);
tok = scanner.Scan(TokenType.Anisotropic); // Terminal Rule: Anisotropic
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Anisotropic) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Anisotropic.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: TextureFilter_Anisotropic
private void ParseTextureFilter(ParseNode parent) // NonTerminalSymbol: TextureFilter
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.TextureFilter), "TextureFilter");
parent.Nodes.Add(node);
tok = scanner.LookAhead(TokenType.None, TokenType.Linear, TokenType.Point, TokenType.Anisotropic); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.None:
ParseTextureFilter_None(node); // NonTerminal Rule: TextureFilter_None
break;
case TokenType.Linear:
ParseTextureFilter_Linear(node); // NonTerminal Rule: TextureFilter_Linear
break;
case TokenType.Point:
ParseTextureFilter_Point(node); // NonTerminal Rule: TextureFilter_Point
break;
case TokenType.Anisotropic:
ParseTextureFilter_Anisotropic(node); // NonTerminal Rule: TextureFilter_Anisotropic
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected None, Linear, Point, or Anisotropic.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: TextureFilter
private void ParseSampler_State_Texture(ParseNode parent) // NonTerminalSymbol: Sampler_State_Texture
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_Texture), "Sampler_State_Texture");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.Texture); // Terminal Rule: Texture
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Texture) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Texture.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.LookAhead(TokenType.LessThan, TokenType.OpenParenthesis); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.LessThan:
tok = scanner.Scan(TokenType.LessThan); // Terminal Rule: LessThan
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.LessThan) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.LessThan.ToString(), 0x1001, tok));
return;
}
break;
case TokenType.OpenParenthesis:
tok = scanner.Scan(TokenType.OpenParenthesis); // Terminal Rule: OpenParenthesis
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.OpenParenthesis) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.OpenParenthesis.ToString(), 0x1001, tok));
return;
}
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected LessThan or OpenParenthesis.", 0x0002, tok));
break;
} // Choice Rule
// Concat Rule
tok = scanner.Scan(TokenType.Identifier); // Terminal Rule: Identifier
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Identifier) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Identifier.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.LookAhead(TokenType.GreaterThan, TokenType.CloseParenthesis); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.GreaterThan:
tok = scanner.Scan(TokenType.GreaterThan); // Terminal Rule: GreaterThan
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.GreaterThan) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.GreaterThan.ToString(), 0x1001, tok));
return;
}
break;
case TokenType.CloseParenthesis:
tok = scanner.Scan(TokenType.CloseParenthesis); // Terminal Rule: CloseParenthesis
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.CloseParenthesis) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.CloseParenthesis.ToString(), 0x1001, tok));
return;
}
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected GreaterThan or CloseParenthesis.", 0x0002, tok));
break;
} // Choice Rule
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_Texture
private void ParseSampler_State_MinFilter(ParseNode parent) // NonTerminalSymbol: Sampler_State_MinFilter
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_MinFilter), "Sampler_State_MinFilter");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.MinFilter); // Terminal Rule: MinFilter
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.MinFilter) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.MinFilter.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseTextureFilter(node); // NonTerminal Rule: TextureFilter
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_MinFilter
private void ParseSampler_State_MagFilter(ParseNode parent) // NonTerminalSymbol: Sampler_State_MagFilter
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_MagFilter), "Sampler_State_MagFilter");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.MagFilter); // Terminal Rule: MagFilter
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.MagFilter) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.MagFilter.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseTextureFilter(node); // NonTerminal Rule: TextureFilter
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_MagFilter
private void ParseSampler_State_MipFilter(ParseNode parent) // NonTerminalSymbol: Sampler_State_MipFilter
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_MipFilter), "Sampler_State_MipFilter");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.MipFilter); // Terminal Rule: MipFilter
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.MipFilter) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.MipFilter.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseTextureFilter(node); // NonTerminal Rule: TextureFilter
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_MipFilter
private void ParseSampler_State_Filter(ParseNode parent) // NonTerminalSymbol: Sampler_State_Filter
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_Filter), "Sampler_State_Filter");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.Filter); // Terminal Rule: Filter
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Filter) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Filter.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseTextureFilter(node); // NonTerminal Rule: TextureFilter
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_Filter
private void ParseSampler_State_AddressU(ParseNode parent) // NonTerminalSymbol: Sampler_State_AddressU
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_AddressU), "Sampler_State_AddressU");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.AddressU); // Terminal Rule: AddressU
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.AddressU) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.AddressU.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseAddressMode(node); // NonTerminal Rule: AddressMode
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_AddressU
private void ParseSampler_State_AddressV(ParseNode parent) // NonTerminalSymbol: Sampler_State_AddressV
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_AddressV), "Sampler_State_AddressV");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.AddressV); // Terminal Rule: AddressV
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.AddressV) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.AddressV.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseAddressMode(node); // NonTerminal Rule: AddressMode
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_AddressV
private void ParseSampler_State_AddressW(ParseNode parent) // NonTerminalSymbol: Sampler_State_AddressW
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_AddressW), "Sampler_State_AddressW");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.AddressW); // Terminal Rule: AddressW
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.AddressW) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.AddressW.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
ParseAddressMode(node); // NonTerminal Rule: AddressMode
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_AddressW
private void ParseSampler_State_BorderColor(ParseNode parent) // NonTerminalSymbol: Sampler_State_BorderColor
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_BorderColor), "Sampler_State_BorderColor");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.BorderColor); // Terminal Rule: BorderColor
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.BorderColor) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.BorderColor.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.HexColor); // Terminal Rule: HexColor
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.HexColor) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.HexColor.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_BorderColor
private void ParseSampler_State_MaxMipLevel(ParseNode parent) // NonTerminalSymbol: Sampler_State_MaxMipLevel
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_MaxMipLevel), "Sampler_State_MaxMipLevel");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.MaxMipLevel); // Terminal Rule: MaxMipLevel
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.MaxMipLevel) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.MaxMipLevel.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Number); // Terminal Rule: Number
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Number) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Number.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_MaxMipLevel
private void ParseSampler_State_MaxAnisotropy(ParseNode parent) // NonTerminalSymbol: Sampler_State_MaxAnisotropy
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_MaxAnisotropy), "Sampler_State_MaxAnisotropy");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.MaxAnisotropy); // Terminal Rule: MaxAnisotropy
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.MaxAnisotropy) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.MaxAnisotropy.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Number); // Terminal Rule: Number
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Number) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Number.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_MaxAnisotropy
private void ParseSampler_State_MipLodBias(ParseNode parent) // NonTerminalSymbol: Sampler_State_MipLodBias
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_MipLodBias), "Sampler_State_MipLodBias");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.MipLodBias); // Terminal Rule: MipLodBias
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.MipLodBias) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.MipLodBias.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Number); // Terminal Rule: Number
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Number) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Number.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_MipLodBias
private void ParseSampler_State_Expression(ParseNode parent) // NonTerminalSymbol: Sampler_State_Expression
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_State_Expression), "Sampler_State_Expression");
parent.Nodes.Add(node);
tok = scanner.LookAhead(TokenType.Texture, TokenType.MinFilter, TokenType.MagFilter, TokenType.MipFilter, TokenType.Filter, TokenType.AddressU, TokenType.AddressV, TokenType.AddressW, TokenType.BorderColor, TokenType.MaxMipLevel, TokenType.MaxAnisotropy, TokenType.MipLodBias); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.Texture:
ParseSampler_State_Texture(node); // NonTerminal Rule: Sampler_State_Texture
break;
case TokenType.MinFilter:
ParseSampler_State_MinFilter(node); // NonTerminal Rule: Sampler_State_MinFilter
break;
case TokenType.MagFilter:
ParseSampler_State_MagFilter(node); // NonTerminal Rule: Sampler_State_MagFilter
break;
case TokenType.MipFilter:
ParseSampler_State_MipFilter(node); // NonTerminal Rule: Sampler_State_MipFilter
break;
case TokenType.Filter:
ParseSampler_State_Filter(node); // NonTerminal Rule: Sampler_State_Filter
break;
case TokenType.AddressU:
ParseSampler_State_AddressU(node); // NonTerminal Rule: Sampler_State_AddressU
break;
case TokenType.AddressV:
ParseSampler_State_AddressV(node); // NonTerminal Rule: Sampler_State_AddressV
break;
case TokenType.AddressW:
ParseSampler_State_AddressW(node); // NonTerminal Rule: Sampler_State_AddressW
break;
case TokenType.BorderColor:
ParseSampler_State_BorderColor(node); // NonTerminal Rule: Sampler_State_BorderColor
break;
case TokenType.MaxMipLevel:
ParseSampler_State_MaxMipLevel(node); // NonTerminal Rule: Sampler_State_MaxMipLevel
break;
case TokenType.MaxAnisotropy:
ParseSampler_State_MaxAnisotropy(node); // NonTerminal Rule: Sampler_State_MaxAnisotropy
break;
case TokenType.MipLodBias:
ParseSampler_State_MipLodBias(node); // NonTerminal Rule: Sampler_State_MipLodBias
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected Texture, MinFilter, MagFilter, MipFilter, Filter, AddressU, AddressV, AddressW, BorderColor, MaxMipLevel, MaxAnisotropy, or MipLodBias.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_State_Expression
private void ParseSampler_Register_Expression(ParseNode parent) // NonTerminalSymbol: Sampler_Register_Expression
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_Register_Expression), "Sampler_Register_Expression");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.Colon); // Terminal Rule: Colon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Colon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Colon.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Register); // Terminal Rule: Register
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Register) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Register.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.OpenParenthesis); // Terminal Rule: OpenParenthesis
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.OpenParenthesis) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.OpenParenthesis.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Identifier); // Terminal Rule: Identifier
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Identifier) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Identifier.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.LookAhead(TokenType.Comma); // Option Rule
if (tok.Type == TokenType.Comma)
{
// Concat Rule
tok = scanner.Scan(TokenType.Comma); // Terminal Rule: Comma
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Comma) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Comma.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Identifier); // Terminal Rule: Identifier
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Identifier) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Identifier.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.LookAhead(TokenType.OpenSquareBracket); // Option Rule
if (tok.Type == TokenType.OpenSquareBracket)
{
// Concat Rule
tok = scanner.Scan(TokenType.OpenSquareBracket); // Terminal Rule: OpenSquareBracket
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.OpenSquareBracket) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.OpenSquareBracket.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Number); // Terminal Rule: Number
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Number) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Number.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.CloseSquareBracket); // Terminal Rule: CloseSquareBracket
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.CloseSquareBracket) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.CloseSquareBracket.ToString(), 0x1001, tok));
return;
}
}
}
// Concat Rule
tok = scanner.Scan(TokenType.CloseParenthesis); // Terminal Rule: CloseParenthesis
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.CloseParenthesis) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.CloseParenthesis.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_Register_Expression
private void ParseSampler_Declaration_States(ParseNode parent) // NonTerminalSymbol: Sampler_Declaration_States
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_Declaration_States), "Sampler_Declaration_States");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.LookAhead(TokenType.Equals); // Option Rule
if (tok.Type == TokenType.Equals)
{
// Concat Rule
tok = scanner.Scan(TokenType.Equals); // Terminal Rule: Equals
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Equals) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Equals.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.SamplerState); // Terminal Rule: SamplerState
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.SamplerState) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.SamplerState.ToString(), 0x1001, tok));
return;
}
}
// Concat Rule
tok = scanner.Scan(TokenType.OpenBracket); // Terminal Rule: OpenBracket
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.OpenBracket) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.OpenBracket.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.LookAhead(TokenType.Texture, TokenType.MinFilter, TokenType.MagFilter, TokenType.MipFilter, TokenType.Filter, TokenType.AddressU, TokenType.AddressV, TokenType.AddressW, TokenType.BorderColor, TokenType.MaxMipLevel, TokenType.MaxAnisotropy, TokenType.MipLodBias); // ZeroOrMore Rule
while (tok.Type == TokenType.Texture
|| tok.Type == TokenType.MinFilter
|| tok.Type == TokenType.MagFilter
|| tok.Type == TokenType.MipFilter
|| tok.Type == TokenType.Filter
|| tok.Type == TokenType.AddressU
|| tok.Type == TokenType.AddressV
|| tok.Type == TokenType.AddressW
|| tok.Type == TokenType.BorderColor
|| tok.Type == TokenType.MaxMipLevel
|| tok.Type == TokenType.MaxAnisotropy
|| tok.Type == TokenType.MipLodBias)
{
ParseSampler_State_Expression(node); // NonTerminal Rule: Sampler_State_Expression
tok = scanner.LookAhead(TokenType.Texture, TokenType.MinFilter, TokenType.MagFilter, TokenType.MipFilter, TokenType.Filter, TokenType.AddressU, TokenType.AddressV, TokenType.AddressW, TokenType.BorderColor, TokenType.MaxMipLevel, TokenType.MaxAnisotropy, TokenType.MipLodBias); // ZeroOrMore Rule
}
// Concat Rule
tok = scanner.Scan(TokenType.CloseBracket); // Terminal Rule: CloseBracket
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.CloseBracket) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.CloseBracket.ToString(), 0x1001, tok));
return;
}
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_Declaration_States
private void ParseSampler_Declaration(ParseNode parent) // NonTerminalSymbol: Sampler_Declaration
{
Token tok;
ParseNode n;
ParseNode node = parent.CreateNode(scanner.GetToken(TokenType.Sampler_Declaration), "Sampler_Declaration");
parent.Nodes.Add(node);
// Concat Rule
tok = scanner.Scan(TokenType.Sampler); // Terminal Rule: Sampler
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Sampler) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Sampler.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.Scan(TokenType.Identifier); // Terminal Rule: Identifier
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Identifier) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Identifier.ToString(), 0x1001, tok));
return;
}
// Concat Rule
tok = scanner.LookAhead(TokenType.Colon); // ZeroOrMore Rule
while (tok.Type == TokenType.Colon)
{
ParseSampler_Register_Expression(node); // NonTerminal Rule: Sampler_Register_Expression
tok = scanner.LookAhead(TokenType.Colon); // ZeroOrMore Rule
}
// Concat Rule
tok = scanner.LookAhead(TokenType.Equals, TokenType.OpenBracket); // Option Rule
if (tok.Type == TokenType.Equals
|| tok.Type == TokenType.OpenBracket)
{
ParseSampler_Declaration_States(node); // NonTerminal Rule: Sampler_Declaration_States
}
// Concat Rule
tok = scanner.LookAhead(TokenType.Semicolon, TokenType.Comma, TokenType.CloseParenthesis); // Choice Rule
switch (tok.Type)
{ // Choice Rule
case TokenType.Semicolon:
tok = scanner.Scan(TokenType.Semicolon); // Terminal Rule: Semicolon
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Semicolon) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Semicolon.ToString(), 0x1001, tok));
return;
}
break;
case TokenType.Comma:
tok = scanner.Scan(TokenType.Comma); // Terminal Rule: Comma
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.Comma) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.Comma.ToString(), 0x1001, tok));
return;
}
break;
case TokenType.CloseParenthesis:
tok = scanner.Scan(TokenType.CloseParenthesis); // Terminal Rule: CloseParenthesis
n = node.CreateNode(tok, tok.ToString() );
node.Token.UpdateRange(tok);
node.Nodes.Add(n);
if (tok.Type != TokenType.CloseParenthesis) {
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected " + TokenType.CloseParenthesis.ToString(), 0x1001, tok));
return;
}
break;
default:
tree.Errors.Add(new ParseError("Unexpected token '" + tok.Text.Replace("\n", "") + "' found. Expected Semicolon, Comma, or CloseParenthesis.", 0x0002, tok));
break;
} // Choice Rule
parent.Token.UpdateRange(node.Token);
} // NonTerminalSymbol: Sampler_Declaration
}
#endregion Parser
}