diff --git a/Canon.Core/Abstractions/ICCodeGenerator.cs b/Canon.Core/Abstractions/ICCodeGenerator.cs
new file mode 100644
index 0000000..a8181f0
--- /dev/null
+++ b/Canon.Core/Abstractions/ICCodeGenerator.cs
@@ -0,0 +1,11 @@
+using Canon.Core.CodeGenerators;
+
+namespace Canon.Core.Abstractions;
+
+///
+/// 支持生成C语言代码的接口
+///
+public interface ICCodeGenerator
+{
+ public void GenerateCCode(CCodeBuilder builder);
+}
diff --git a/Canon.Core/Abstractions/GrammarParseBase.cs b/Canon.Core/Abstractions/IGrammarParser.cs
similarity index 80%
rename from Canon.Core/Abstractions/GrammarParseBase.cs
rename to Canon.Core/Abstractions/IGrammarParser.cs
index 2cf8a55..b6c8728 100644
--- a/Canon.Core/Abstractions/GrammarParseBase.cs
+++ b/Canon.Core/Abstractions/IGrammarParser.cs
@@ -8,13 +8,19 @@ namespace Canon.Core.Abstractions;
///
/// 语法分析器接口
///
-public abstract class GrammarParserBase
+public interface IGrammarParser
{
- public abstract ITransformer BeginTransformer { get; }
+ public ITransformer BeginTransformer { get; }
- public abstract NonTerminator Begin { get; }
+ public NonTerminator Begin { get; }
- public SyntaxNodeBase Analyse(IEnumerable tokens)
+ ///
+ /// 分析指定的词法记号流并构建对应的语法树
+ ///
+ /// 输入的词法记号流
+ /// 语法树的根节点
+ /// 语法分析错误
+ public ProgramStruct Analyse(IEnumerable tokens)
{
Stack stack = [];
stack.Push(new AnalyseState(BeginTransformer, SyntaxNodeBase.Create(SemanticToken.End)));
@@ -36,7 +42,7 @@ public abstract class GrammarParserBase
{
// 如果是归约到起始符
// 那么就直接返回不继续进行归约
- return top.Node;
+ return top.Node.Convert();
}
List children = [];
diff --git a/Canon.Core/Abstractions/ILexer.cs b/Canon.Core/Abstractions/ILexer.cs
new file mode 100644
index 0000000..b251763
--- /dev/null
+++ b/Canon.Core/Abstractions/ILexer.cs
@@ -0,0 +1,11 @@
+using Canon.Core.LexicalParser;
+
+namespace Canon.Core.Abstractions;
+
+///
+/// 词法分析器接口
+///
+public interface ILexer
+{
+ public IEnumerable Tokenize(ISourceReader reader);
+}
diff --git a/Canon.Core/Abstractions/ISourceReader.cs b/Canon.Core/Abstractions/ISourceReader.cs
new file mode 100644
index 0000000..11336cb
--- /dev/null
+++ b/Canon.Core/Abstractions/ISourceReader.cs
@@ -0,0 +1,31 @@
+using System.Diagnostics.CodeAnalysis;
+
+namespace Canon.Core.Abstractions;
+
+///
+/// 读取源代码的接口
+///
+public interface ISourceReader
+{
+ ///
+ /// 尝试读取下一个字符
+ ///
+ /// 读取到的字符
+ /// 是否成功读取
+ public bool TryReadChar([NotNullWhen(true)] out char? c);
+
+ ///
+ /// 源文件名称
+ ///
+ public string FileName { get; }
+
+ ///
+ /// 当前读取字符的行号
+ ///
+ public uint Line { get; }
+
+ ///
+ /// 当前读取字符的列号
+ ///
+ public uint Pos { get; }
+}
diff --git a/Canon.Core/CodeGenerators/CCodeBuilder.cs b/Canon.Core/CodeGenerators/CCodeBuilder.cs
new file mode 100644
index 0000000..ddff4c2
--- /dev/null
+++ b/Canon.Core/CodeGenerators/CCodeBuilder.cs
@@ -0,0 +1,22 @@
+using System.Text;
+
+namespace Canon.Core.CodeGenerators;
+
+///
+/// 构建C语言代码
+///
+public class CCodeBuilder
+{
+ private readonly StringBuilder _builder = new();
+
+ public void AddString(string code)
+ {
+ _builder.Append(code);
+ }
+
+
+ public string Build()
+ {
+ return _builder.ToString();
+ }
+}
diff --git a/Canon.Core/GrammarParser/Grammar.cs b/Canon.Core/GrammarParser/Grammar.cs
index cc353d9..7e142ea 100644
--- a/Canon.Core/GrammarParser/Grammar.cs
+++ b/Canon.Core/GrammarParser/Grammar.cs
@@ -22,7 +22,7 @@ public class Grammar
///
public required LrState BeginState { get; init; }
- public GrammarParserBase ToGrammarParser()
+ public IGrammarParser ToGrammarParser()
{
Dictionary transformers = [];
@@ -71,10 +71,10 @@ public class Grammar
return new GrammarParser(transformers[BeginState], Begin);
}
- private class GrammarParser(ITransformer beginTransformer, NonTerminator begin) : GrammarParserBase
+ private class GrammarParser(ITransformer beginTransformer, NonTerminator begin) : IGrammarParser
{
- public override ITransformer BeginTransformer { get; } = beginTransformer;
- public override NonTerminator Begin { get; } = begin;
+ public ITransformer BeginTransformer { get; } = beginTransformer;
+ public NonTerminator Begin { get; } = begin;
}
private class Transformer : ITransformer
diff --git a/Canon.Core/SyntaxNodes/NonTerminatedSyntaxNode.cs b/Canon.Core/SyntaxNodes/NonTerminatedSyntaxNode.cs
index 5339f47..3a5b971 100644
--- a/Canon.Core/SyntaxNodes/NonTerminatedSyntaxNode.cs
+++ b/Canon.Core/SyntaxNodes/NonTerminatedSyntaxNode.cs
@@ -21,12 +21,14 @@ public abstract class NonTerminatedSyntaxNode : SyntaxNodeBase, IEnumerable();
-
- foreach (SyntaxNodeBase node in nonTerminatedNode)
+ else
{
- yield return node;
+ NonTerminatedSyntaxNode nonTerminatedNode = child.Convert();
+
+ foreach (SyntaxNodeBase node in nonTerminatedNode)
+ {
+ yield return node;
+ }
}
}
}
diff --git a/Canon.Core/SyntaxNodes/ProgramStruct.cs b/Canon.Core/SyntaxNodes/ProgramStruct.cs
index 2a3a5b7..25abdc6 100644
--- a/Canon.Core/SyntaxNodes/ProgramStruct.cs
+++ b/Canon.Core/SyntaxNodes/ProgramStruct.cs
@@ -1,4 +1,5 @@
-using Canon.Core.Enums;
+using Canon.Core.CodeGenerators;
+using Canon.Core.Enums;
namespace Canon.Core.SyntaxNodes;
@@ -20,4 +21,9 @@ public class ProgramStruct : NonTerminatedSyntaxNode
{
return new ProgramStruct { Children = children };
}
+
+ public override void GenerateCCode(CCodeBuilder builder)
+ {
+ builder.AddString("#include ");
+ }
}
diff --git a/Canon.Core/SyntaxNodes/SyntaxNodeBase.cs b/Canon.Core/SyntaxNodes/SyntaxNodeBase.cs
index c9dfd1f..13aae7a 100644
--- a/Canon.Core/SyntaxNodes/SyntaxNodeBase.cs
+++ b/Canon.Core/SyntaxNodes/SyntaxNodeBase.cs
@@ -1,9 +1,11 @@
-using Canon.Core.Enums;
+using Canon.Core.Abstractions;
+using Canon.Core.CodeGenerators;
+using Canon.Core.Enums;
using Canon.Core.LexicalParser;
namespace Canon.Core.SyntaxNodes;
-public abstract class SyntaxNodeBase
+public abstract class SyntaxNodeBase : ICCodeGenerator
{
public abstract bool IsTerminated { get; }
@@ -19,6 +21,14 @@ public abstract class SyntaxNodeBase
return result;
}
+ ///
+ /// 语法树节点基类对于生成C代码的默认实现
+ ///
+ public virtual void GenerateCCode(CCodeBuilder builder)
+ {
+
+ }
+
public static SyntaxNodeBase Create(SemanticToken token)
{
return new TerminatedSyntaxNode { Token = token };
diff --git a/Canon.Generator/GrammarGenerator/GeneratedGrammarParser.cs b/Canon.Generator/GrammarGenerator/GeneratedGrammarParser.cs
index a52ee1b..fa43977 100644
--- a/Canon.Generator/GrammarGenerator/GeneratedGrammarParser.cs
+++ b/Canon.Generator/GrammarGenerator/GeneratedGrammarParser.cs
@@ -7,11 +7,11 @@ namespace Canon.Generator.GrammarGenerator;
public class GeneratedGrammarParser(
Dictionary transformers,
string beginState,
- NonTerminator begin) : GrammarParserBase
+ NonTerminator begin) : IGrammarParser
{
- public override ITransformer BeginTransformer => transformers[beginState];
+ public ITransformer BeginTransformer => transformers[beginState];
- public override NonTerminator Begin => begin;
+ public NonTerminator Begin => begin;
public string GenerateCode(string namespaceValue)
{
@@ -74,7 +74,7 @@ public class GeneratedGrammarParser(
""");
builder.Append('\n');
- builder.Append("public class GeneratedGrammarParser : GrammarParserBase\n")
+ builder.Append("public class GeneratedGrammarParser : IGrammarParser\n")
.Append("{\n");
builder.Append("\tprivate static readonly Dictionary s_transformers = new()\n")
@@ -104,10 +104,10 @@ public class GeneratedGrammarParser(
""");
builder.Append("\n");
- builder.Append('\t').Append("public override ITransformer BeginTransformer => ")
+ builder.Append('\t').Append("public ITransformer BeginTransformer => ")
.Append($"s_transformers[\"{beginState}\"];\n");
- builder.Append('\t').Append("public override NonTerminator Begin => ")
+ builder.Append('\t').Append("public NonTerminator Begin => ")
.Append(begin.GenerateCode()).Append(";\n");
builder.Append("}\n");
diff --git a/Canon.Tests/CCodeGeneratorTests/BasicTests.cs b/Canon.Tests/CCodeGeneratorTests/BasicTests.cs
new file mode 100644
index 0000000..61fd5c5
--- /dev/null
+++ b/Canon.Tests/CCodeGeneratorTests/BasicTests.cs
@@ -0,0 +1,33 @@
+using Canon.Core.Abstractions;
+using Canon.Core.CodeGenerators;
+using Canon.Core.LexicalParser;
+using Canon.Core.SyntaxNodes;
+using Canon.Tests.GeneratedParserTests;
+
+namespace Canon.Tests.CCodeGeneratorTests;
+
+public class BasicTests
+{
+ private readonly IGrammarParser _parser = GeneratedGrammarParser.Instance;
+
+ [Fact]
+ public void ProgramStructTest()
+ {
+ CCodeBuilder builder = new();
+
+ const string program = """
+ program DoNothing;
+ begin
+ end.
+ """;
+
+ Lexer lexer = new(program);
+ List tokens = lexer.Tokenize();
+ tokens.Add(SemanticToken.End);
+
+ ProgramStruct root = _parser.Analyse(tokens);
+ root.GenerateCCode(builder);
+
+ Assert.Equal("#include ", builder.Build());
+ }
+}
diff --git a/Canon.Tests/GeneratedParserTests/GenerateParserTests.cs b/Canon.Tests/GeneratedParserTests/GenerateParserTests.cs
index a1205a0..800b71e 100644
--- a/Canon.Tests/GeneratedParserTests/GenerateParserTests.cs
+++ b/Canon.Tests/GeneratedParserTests/GenerateParserTests.cs
@@ -11,7 +11,7 @@ public class GenerateParserTests
Generators = PascalGrammar.Grammar, Begin = new NonTerminator(NonTerminatorType.StartNonTerminator)
};
- private readonly GrammarParserBase _parser;
+ private readonly IGrammarParser _parser;
public GenerateParserTests()
{
diff --git a/Canon.Tests/GeneratedParserTests/GeneratedParser.g.cs b/Canon.Tests/GeneratedParserTests/GeneratedParser.g.cs
index 03940fd..0d9255c 100644
--- a/Canon.Tests/GeneratedParserTests/GeneratedParser.g.cs
+++ b/Canon.Tests/GeneratedParserTests/GeneratedParser.g.cs
@@ -51,592 +51,592 @@ public class GeneratedTransformer : ITransformer
public override int GetHashCode() => Name.GetHashCode();
}
-public class GeneratedGrammarParser : GrammarParserBase
+public class GeneratedGrammarParser : IGrammarParser
{
private static readonly Dictionary s_transformers = new()
{
- { "9bb88e74-e446-4ba5-a973-98aa20d700b1", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.ProgramStruct), "3c7abadd-b010-42b9-8209-178462aeb9fe"}, { new NonTerminator(NonTerminatorType.ProgramHead), "300693b8-1dcc-4005-bdd7-5ffe8998ef9e"}, { new Terminator(KeywordType.Program), "2129199f-ef4f-4744-b1aa-98f15d347179"},}, new Dictionary{ }, "9bb88e74-e446-4ba5-a973-98aa20d700b1") },
- { "3c7abadd-b010-42b9-8209-178462aeb9fe", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { Terminator.EndTerminator, new ReduceInformation(1, new NonTerminator(NonTerminatorType.StartNonTerminator))}, }, "3c7abadd-b010-42b9-8209-178462aeb9fe") },
- { "300693b8-1dcc-4005-bdd7-5ffe8998ef9e", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.Semicolon), "fb00e7df-ab46-4cef-89e1-d6c2dc3ae8ea"},}, new Dictionary{ }, "300693b8-1dcc-4005-bdd7-5ffe8998ef9e") },
- { "2129199f-ef4f-4744-b1aa-98f15d347179", new GeneratedTransformer(new Dictionary{ { Terminator.IdentifierTerminator, "02139925-d75d-43d9-a84b-e0954ebbb0cc"},}, new Dictionary{ }, "2129199f-ef4f-4744-b1aa-98f15d347179") },
- { "fb00e7df-ab46-4cef-89e1-d6c2dc3ae8ea", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.ProgramBody), "503e39e9-0727-409b-bc33-5b564c49d77e"}, { new NonTerminator(NonTerminatorType.ConstDeclarations), "1597148a-2af8-4387-843d-1ea827599d12"}, { new Terminator(KeywordType.Const), "7764cf75-ac18-40da-9385-ad2c2df34e5f"},}, new Dictionary{ { new Terminator(KeywordType.Begin), new ReduceInformation(0, new NonTerminator(NonTerminatorType.ConstDeclarations))}, { new Terminator(KeywordType.Var), new ReduceInformation(0, new NonTerminator(NonTerminatorType.ConstDeclarations))}, }, "fb00e7df-ab46-4cef-89e1-d6c2dc3ae8ea") },
- { "02139925-d75d-43d9-a84b-e0954ebbb0cc", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.LeftParenthesis), "74000c29-8b55-4903-970f-a2e66c8b4544"},}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(2, new NonTerminator(NonTerminatorType.ProgramHead))}, }, "02139925-d75d-43d9-a84b-e0954ebbb0cc") },
- { "503e39e9-0727-409b-bc33-5b564c49d77e", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.Period), "29fe7781-eea5-4ee6-a126-8224f6234b47"},}, new Dictionary{ }, "503e39e9-0727-409b-bc33-5b564c49d77e") },
- { "1597148a-2af8-4387-843d-1ea827599d12", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.VarDeclarations), "eddc09c9-78e3-4990-abc7-23423c52cf46"}, { new Terminator(KeywordType.Var), "3e905ac4-7168-43ea-a793-30f6605a32c8"},}, new Dictionary{ { new Terminator(KeywordType.Begin), new ReduceInformation(0, new NonTerminator(NonTerminatorType.VarDeclarations))}, }, "1597148a-2af8-4387-843d-1ea827599d12") },
- { "7764cf75-ac18-40da-9385-ad2c2df34e5f", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.ConstDeclaration), "e671a1d6-0753-49bd-acb2-a7e5d2f30aae"}, { Terminator.IdentifierTerminator, "2e7aa1ed-2f87-47db-be9a-82cf6d44f9ea"},}, new Dictionary{ }, "7764cf75-ac18-40da-9385-ad2c2df34e5f") },
- { "74000c29-8b55-4903-970f-a2e66c8b4544", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.IdentifierList), "ea5e800b-5644-4384-a42c-d06fb1003ad3"}, { Terminator.IdentifierTerminator, "fe782bea-42bf-4134-b0e3-dcc36d4d9b0a"},}, new Dictionary{ }, "74000c29-8b55-4903-970f-a2e66c8b4544") },
- { "29fe7781-eea5-4ee6-a126-8224f6234b47", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { Terminator.EndTerminator, new ReduceInformation(4, new NonTerminator(NonTerminatorType.ProgramStruct))}, }, "29fe7781-eea5-4ee6-a126-8224f6234b47") },
- { "eddc09c9-78e3-4990-abc7-23423c52cf46", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.SubprogramDeclarations), "46857440-56ed-4425-8556-8f06ed9e4934"},}, new Dictionary{ { new Terminator(KeywordType.Begin), new ReduceInformation(0, new NonTerminator(NonTerminatorType.SubprogramDeclarations))}, { new Terminator(KeywordType.Procedure), new ReduceInformation(0, new NonTerminator(NonTerminatorType.SubprogramDeclarations))}, { new Terminator(KeywordType.Function), new ReduceInformation(0, new NonTerminator(NonTerminatorType.SubprogramDeclarations))}, }, "eddc09c9-78e3-4990-abc7-23423c52cf46") },
- { "3e905ac4-7168-43ea-a793-30f6605a32c8", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.VarDeclaration), "2695d197-258f-42d2-aa89-035c0c89b32e"}, { new NonTerminator(NonTerminatorType.IdentifierList), "08dd1d92-418a-4be2-9ac5-5734704be8ec"}, { Terminator.IdentifierTerminator, "280edb8d-540f-42a6-be37-39effb326c4e"},}, new Dictionary{ }, "3e905ac4-7168-43ea-a793-30f6605a32c8") },
- { "e671a1d6-0753-49bd-acb2-a7e5d2f30aae", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.Semicolon), "39f83f35-0b83-40db-9ed6-a6ed88e8ed3a"},}, new Dictionary{ }, "e671a1d6-0753-49bd-acb2-a7e5d2f30aae") },
- { "2e7aa1ed-2f87-47db-be9a-82cf6d44f9ea", new GeneratedTransformer(new Dictionary{ { new Terminator(OperatorType.Equal), "38c2a028-7058-418e-8f0a-fcc8c007ac48"},}, new Dictionary{ }, "2e7aa1ed-2f87-47db-be9a-82cf6d44f9ea") },
- { "ea5e800b-5644-4384-a42c-d06fb1003ad3", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.RightParenthesis), "411f2734-87b0-4486-8293-0a7b2616f90d"}, { new Terminator(DelimiterType.Comma), "784b03ea-488f-4103-8a0b-62273d5370a6"},}, new Dictionary{ }, "ea5e800b-5644-4384-a42c-d06fb1003ad3") },
- { "fe782bea-42bf-4134-b0e3-dcc36d4d9b0a", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.RightParenthesis), new ReduceInformation(1, new NonTerminator(NonTerminatorType.IdentifierList))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(1, new NonTerminator(NonTerminatorType.IdentifierList))}, }, "fe782bea-42bf-4134-b0e3-dcc36d4d9b0a") },
- { "46857440-56ed-4425-8556-8f06ed9e4934", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.CompoundStatement), "35baa6d3-26bb-482d-a826-442940dae2ab"}, { new Terminator(KeywordType.Begin), "f1101569-f974-4fcc-b9c3-67c719532345"}, { new NonTerminator(NonTerminatorType.Subprogram), "d6265cb1-2de6-463b-90dc-c0dba50a421d"}, { new NonTerminator(NonTerminatorType.SubprogramHead), "d9f5cd21-2975-43a3-a072-ea3222d11351"}, { new Terminator(KeywordType.Procedure), "0f4164ef-7dd8-40d5-b905-b46e12504a2d"}, { new Terminator(KeywordType.Function), "f2950758-d9d4-4a2d-b2dd-91b69bf38331"},}, new Dictionary{ }, "46857440-56ed-4425-8556-8f06ed9e4934") },
- { "2695d197-258f-42d2-aa89-035c0c89b32e", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.Semicolon), "21810ffe-c1cb-4cfa-98e6-4091b76ceae2"},}, new Dictionary{ }, "2695d197-258f-42d2-aa89-035c0c89b32e") },
- { "08dd1d92-418a-4be2-9ac5-5734704be8ec", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.Colon), "2e9512a6-1f96-4031-87e8-29e53788045d"}, { new Terminator(DelimiterType.Comma), "11c0852f-9d83-4729-b039-69e05b9e04df"},}, new Dictionary{ }, "08dd1d92-418a-4be2-9ac5-5734704be8ec") },
- { "280edb8d-540f-42a6-be37-39effb326c4e", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Colon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.IdentifierList))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(1, new NonTerminator(NonTerminatorType.IdentifierList))}, }, "280edb8d-540f-42a6-be37-39effb326c4e") },
- { "39f83f35-0b83-40db-9ed6-a6ed88e8ed3a", new GeneratedTransformer(new Dictionary{ { Terminator.IdentifierTerminator, "31aa280d-8deb-4f4c-85b3-370a3928508b"},}, new Dictionary{ { new Terminator(KeywordType.Begin), new ReduceInformation(3, new NonTerminator(NonTerminatorType.ConstDeclarations))}, { new Terminator(KeywordType.Var), new ReduceInformation(3, new NonTerminator(NonTerminatorType.ConstDeclarations))}, }, "39f83f35-0b83-40db-9ed6-a6ed88e8ed3a") },
- { "38c2a028-7058-418e-8f0a-fcc8c007ac48", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.ConstValue), "7b8ae1e2-8a79-472a-b94b-037d5fbcaaad"}, { new Terminator(OperatorType.Plus), "59e3cc3e-5c7a-4e46-8dac-11fb11f27224"}, { new Terminator(OperatorType.Minus), "ac30e077-bb51-4cc3-8134-545edafd4cab"}, { Terminator.NumberTerminator, "cd35c768-a64a-426f-a1b6-e33cf01517b8"}, { Terminator.CharacterTerminator, "5abd0baa-cb16-4ed6-93a1-6abf8347e474"},}, new Dictionary{ }, "38c2a028-7058-418e-8f0a-fcc8c007ac48") },
- { "411f2734-87b0-4486-8293-0a7b2616f90d", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(5, new NonTerminator(NonTerminatorType.ProgramHead))}, }, "411f2734-87b0-4486-8293-0a7b2616f90d") },
- { "784b03ea-488f-4103-8a0b-62273d5370a6", new GeneratedTransformer(new Dictionary{ { Terminator.IdentifierTerminator, "73163756-45cb-47bc-8072-e3b5e1a9d6f3"},}, new Dictionary{ }, "784b03ea-488f-4103-8a0b-62273d5370a6") },
- { "35baa6d3-26bb-482d-a826-442940dae2ab", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Period), new ReduceInformation(4, new NonTerminator(NonTerminatorType.ProgramBody))}, }, "35baa6d3-26bb-482d-a826-442940dae2ab") },
- { "f1101569-f974-4fcc-b9c3-67c719532345", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.StatementList), "f97e0c9e-c17e-4a7d-afbc-4330356b5557"}, { new NonTerminator(NonTerminatorType.Statement), "669b7b94-f3e0-493a-8de2-511a254a494b"}, { new NonTerminator(NonTerminatorType.Variable), "340c5627-5962-46b7-982e-a7f4da6071ef"}, { Terminator.IdentifierTerminator, "15a67b60-7589-4ccd-b0a1-e0e05e419a76"}, { new NonTerminator(NonTerminatorType.ProcedureCall), "6f286d93-70c5-447e-96f3-55dd578788bc"}, { new NonTerminator(NonTerminatorType.CompoundStatement), "baa01d82-c80e-429e-948f-e1c69ad8c4c4"}, { new Terminator(KeywordType.If), "b43df555-7769-42ab-b698-430d230f6a3e"}, { new Terminator(KeywordType.For), "b1fb6f3f-3e47-48f5-9169-077bd24dfc5f"}, { new Terminator(KeywordType.Begin), "6e50af1f-a22a-432f-80cd-9c938375d882"},}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(0, new NonTerminator(NonTerminatorType.Statement))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(0, new NonTerminator(NonTerminatorType.Statement))}, }, "f1101569-f974-4fcc-b9c3-67c719532345") },
- { "d6265cb1-2de6-463b-90dc-c0dba50a421d", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.Semicolon), "54a4d440-9aae-4115-89dd-f6578ed5de3b"},}, new Dictionary{ }, "d6265cb1-2de6-463b-90dc-c0dba50a421d") },
- { "d9f5cd21-2975-43a3-a072-ea3222d11351", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.Semicolon), "f9c6721f-a109-43fa-99ee-517e85a2fbd0"},}, new Dictionary{ }, "d9f5cd21-2975-43a3-a072-ea3222d11351") },
- { "0f4164ef-7dd8-40d5-b905-b46e12504a2d", new GeneratedTransformer(new Dictionary{ { Terminator.IdentifierTerminator, "9aa0297b-850c-450c-914c-42637d60a407"},}, new Dictionary{ }, "0f4164ef-7dd8-40d5-b905-b46e12504a2d") },
- { "f2950758-d9d4-4a2d-b2dd-91b69bf38331", new GeneratedTransformer(new Dictionary{ { Terminator.IdentifierTerminator, "a081a6f9-5bd2-48d3-8bfd-a2192fe07852"},}, new Dictionary{ }, "f2950758-d9d4-4a2d-b2dd-91b69bf38331") },
- { "21810ffe-c1cb-4cfa-98e6-4091b76ceae2", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.IdentifierList), "f7b5b670-d255-4808-9734-fdc4b42badb3"}, { Terminator.IdentifierTerminator, "280edb8d-540f-42a6-be37-39effb326c4e"},}, new Dictionary{ { new Terminator(KeywordType.Begin), new ReduceInformation(3, new NonTerminator(NonTerminatorType.VarDeclarations))}, }, "21810ffe-c1cb-4cfa-98e6-4091b76ceae2") },
- { "2e9512a6-1f96-4031-87e8-29e53788045d", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Type), "400ce418-4452-40cb-86c3-4f9cf4329bb1"}, { new NonTerminator(NonTerminatorType.BasicType), "c6c88ade-10e5-419c-b341-8e73ca00d79b"}, { new Terminator(KeywordType.Array), "99ab4307-9a24-43df-9601-847e9dd27ddc"}, { new Terminator(KeywordType.Integer), "a96775ea-398e-416c-803c-842482059a00"}, { new Terminator(KeywordType.Real), "815f5e68-35bd-4247-966e-8b3824c407dd"}, { new Terminator(KeywordType.Boolean), "23f04ad7-4e47-4ce1-b1c2-79ccc390b4c0"}, { new Terminator(KeywordType.Character), "90564982-90b1-4eaf-a3c5-467d173f730a"},}, new Dictionary{ }, "2e9512a6-1f96-4031-87e8-29e53788045d") },
- { "11c0852f-9d83-4729-b039-69e05b9e04df", new GeneratedTransformer(new Dictionary{ { Terminator.IdentifierTerminator, "f33257c7-7504-44d3-b908-2607c9b5326b"},}, new Dictionary{ }, "11c0852f-9d83-4729-b039-69e05b9e04df") },
- { "31aa280d-8deb-4f4c-85b3-370a3928508b", new GeneratedTransformer(new Dictionary{ { new Terminator(OperatorType.Equal), "4fe022d0-d891-49f2-858d-7314bbc6ecf5"},}, new Dictionary{ }, "31aa280d-8deb-4f4c-85b3-370a3928508b") },
- { "7b8ae1e2-8a79-472a-b94b-037d5fbcaaad", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(3, new NonTerminator(NonTerminatorType.ConstDeclaration))}, }, "7b8ae1e2-8a79-472a-b94b-037d5fbcaaad") },
- { "59e3cc3e-5c7a-4e46-8dac-11fb11f27224", new GeneratedTransformer(new Dictionary{ { Terminator.NumberTerminator, "897ff0ab-640e-4c94-a95a-dd1ef233d299"},}, new Dictionary{ }, "59e3cc3e-5c7a-4e46-8dac-11fb11f27224") },
- { "ac30e077-bb51-4cc3-8134-545edafd4cab", new GeneratedTransformer(new Dictionary{ { Terminator.NumberTerminator, "d21ecc85-1fb1-4e73-9837-b92f5887b30c"},}, new Dictionary{ }, "ac30e077-bb51-4cc3-8134-545edafd4cab") },
- { "cd35c768-a64a-426f-a1b6-e33cf01517b8", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.ConstValue))}, }, "cd35c768-a64a-426f-a1b6-e33cf01517b8") },
- { "5abd0baa-cb16-4ed6-93a1-6abf8347e474", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.ConstValue))}, }, "5abd0baa-cb16-4ed6-93a1-6abf8347e474") },
- { "73163756-45cb-47bc-8072-e3b5e1a9d6f3", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.RightParenthesis), new ReduceInformation(3, new NonTerminator(NonTerminatorType.IdentifierList))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(3, new NonTerminator(NonTerminatorType.IdentifierList))}, }, "73163756-45cb-47bc-8072-e3b5e1a9d6f3") },
- { "f97e0c9e-c17e-4a7d-afbc-4330356b5557", new GeneratedTransformer(new Dictionary{ { new Terminator(KeywordType.End), "8afa13cc-f5f2-4187-adc4-2527fb79f2b2"}, { new Terminator(DelimiterType.Semicolon), "56452484-c5ea-4e76-9fdf-c2dbc7763e55"},}, new Dictionary{ }, "f97e0c9e-c17e-4a7d-afbc-4330356b5557") },
- { "669b7b94-f3e0-493a-8de2-511a254a494b", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(1, new NonTerminator(NonTerminatorType.StatementList))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.StatementList))}, }, "669b7b94-f3e0-493a-8de2-511a254a494b") },
- { "340c5627-5962-46b7-982e-a7f4da6071ef", new GeneratedTransformer(new Dictionary{ { new Terminator(OperatorType.Assign), "6c490044-8b40-4b3e-abd2-9eaff3ef5aee"},}, new Dictionary{ }, "340c5627-5962-46b7-982e-a7f4da6071ef") },
- { "15a67b60-7589-4ccd-b0a1-e0e05e419a76", new GeneratedTransformer(new Dictionary{ { new Terminator(OperatorType.Assign), "9cf00111-9214-4533-8a5d-534ae89abb84"}, { new NonTerminator(NonTerminatorType.IdVarPart), "2b607612-2ceb-45fd-b56a-e86a62d2f563"}, { new Terminator(DelimiterType.LeftSquareBracket), "4160990e-129b-441e-9e5b-4a514c45faef"}, { new Terminator(DelimiterType.LeftParenthesis), "b56f8824-9054-4c0b-a8ea-a47ded6764c6"},}, new Dictionary{ { new Terminator(OperatorType.Assign), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.End), new ReduceInformation(1, new NonTerminator(NonTerminatorType.ProcedureCall))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.ProcedureCall))}, }, "15a67b60-7589-4ccd-b0a1-e0e05e419a76") },
- { "6f286d93-70c5-447e-96f3-55dd578788bc", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Statement))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Statement))}, }, "6f286d93-70c5-447e-96f3-55dd578788bc") },
- { "baa01d82-c80e-429e-948f-e1c69ad8c4c4", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Statement))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Statement))}, }, "baa01d82-c80e-429e-948f-e1c69ad8c4c4") },
- { "b43df555-7769-42ab-b698-430d230f6a3e", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Expression), "c76d3ff4-8853-4921-9857-a81b2049ab67"}, { new NonTerminator(NonTerminatorType.SimpleExpression), "9015fb18-d537-480b-851b-9ddc84c18490"}, { new NonTerminator(NonTerminatorType.Term), "c428bc45-4c85-4c95-8c80-925e92f7c52e"}, { new NonTerminator(NonTerminatorType.Factor), "a9eca599-2434-41b1-93f5-2f6966bc3580"}, { Terminator.NumberTerminator, "ae79fdb0-d398-4ac7-b604-069a7d67076a"}, { new NonTerminator(NonTerminatorType.Variable), "50dd712b-3a18-4419-9af4-91e2b902a793"}, { new Terminator(DelimiterType.LeftParenthesis), "d86ea2c0-1043-4b2f-80e4-8aeb7f37b8aa"}, { Terminator.IdentifierTerminator, "546e5c99-a3fb-4bcb-98ac-01aacabb3d51"}, { new Terminator(KeywordType.Not), "eab617f6-a74a-4e0e-86a6-6ab31735be87"}, { new Terminator(OperatorType.Minus), "8adceea0-905c-42b1-879f-562bbb8bcd94"},}, new Dictionary{ }, "b43df555-7769-42ab-b698-430d230f6a3e") },
- { "b1fb6f3f-3e47-48f5-9169-077bd24dfc5f", new GeneratedTransformer(new Dictionary{ { Terminator.IdentifierTerminator, "b2c0a29b-8024-4176-939c-e6ff87362633"},}, new Dictionary{ }, "b1fb6f3f-3e47-48f5-9169-077bd24dfc5f") },
- { "6e50af1f-a22a-432f-80cd-9c938375d882", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.StatementList), "e644cc50-e97e-44f8-b9e9-309448281f96"}, { new NonTerminator(NonTerminatorType.Statement), "669b7b94-f3e0-493a-8de2-511a254a494b"}, { new NonTerminator(NonTerminatorType.Variable), "340c5627-5962-46b7-982e-a7f4da6071ef"}, { Terminator.IdentifierTerminator, "15a67b60-7589-4ccd-b0a1-e0e05e419a76"}, { new NonTerminator(NonTerminatorType.ProcedureCall), "6f286d93-70c5-447e-96f3-55dd578788bc"}, { new NonTerminator(NonTerminatorType.CompoundStatement), "baa01d82-c80e-429e-948f-e1c69ad8c4c4"}, { new Terminator(KeywordType.If), "b43df555-7769-42ab-b698-430d230f6a3e"}, { new Terminator(KeywordType.For), "b1fb6f3f-3e47-48f5-9169-077bd24dfc5f"}, { new Terminator(KeywordType.Begin), "6e50af1f-a22a-432f-80cd-9c938375d882"},}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(0, new NonTerminator(NonTerminatorType.Statement))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(0, new NonTerminator(NonTerminatorType.Statement))}, }, "6e50af1f-a22a-432f-80cd-9c938375d882") },
- { "54a4d440-9aae-4115-89dd-f6578ed5de3b", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.Begin), new ReduceInformation(3, new NonTerminator(NonTerminatorType.SubprogramDeclarations))}, { new Terminator(KeywordType.Procedure), new ReduceInformation(3, new NonTerminator(NonTerminatorType.SubprogramDeclarations))}, { new Terminator(KeywordType.Function), new ReduceInformation(3, new NonTerminator(NonTerminatorType.SubprogramDeclarations))}, }, "54a4d440-9aae-4115-89dd-f6578ed5de3b") },
- { "f9c6721f-a109-43fa-99ee-517e85a2fbd0", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.SubprogramBody), "a6fab468-6110-4c4c-90c3-1798bb3cc310"}, { new NonTerminator(NonTerminatorType.ConstDeclarations), "335cb0ab-fd8a-4ff5-9847-23583bfce8ab"}, { new Terminator(KeywordType.Const), "7764cf75-ac18-40da-9385-ad2c2df34e5f"},}, new Dictionary{ { new Terminator(KeywordType.Begin), new ReduceInformation(0, new NonTerminator(NonTerminatorType.ConstDeclarations))}, { new Terminator(KeywordType.Var), new ReduceInformation(0, new NonTerminator(NonTerminatorType.ConstDeclarations))}, }, "f9c6721f-a109-43fa-99ee-517e85a2fbd0") },
- { "9aa0297b-850c-450c-914c-42637d60a407", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.FormalParameter), "9125752d-af86-430d-942f-5daeaff090f2"}, { new Terminator(DelimiterType.LeftParenthesis), "1737c74d-47f1-45a7-adb8-c0c6e887904e"},}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(0, new NonTerminator(NonTerminatorType.FormalParameter))}, }, "9aa0297b-850c-450c-914c-42637d60a407") },
- { "a081a6f9-5bd2-48d3-8bfd-a2192fe07852", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.FormalParameter), "b70e1b50-8cb6-4f4a-9d1e-04b29f9f758c"}, { new Terminator(DelimiterType.LeftParenthesis), "a8abfeba-98a7-4280-9703-690d347b90c0"},}, new Dictionary{ { new Terminator(DelimiterType.Colon), new ReduceInformation(0, new NonTerminator(NonTerminatorType.FormalParameter))}, }, "a081a6f9-5bd2-48d3-8bfd-a2192fe07852") },
- { "f7b5b670-d255-4808-9734-fdc4b42badb3", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.Colon), "48d6d6c3-306e-4a33-93db-39aedcb501ab"}, { new Terminator(DelimiterType.Comma), "11c0852f-9d83-4729-b039-69e05b9e04df"},}, new Dictionary{ }, "f7b5b670-d255-4808-9734-fdc4b42badb3") },
- { "400ce418-4452-40cb-86c3-4f9cf4329bb1", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(3, new NonTerminator(NonTerminatorType.VarDeclaration))}, }, "400ce418-4452-40cb-86c3-4f9cf4329bb1") },
- { "c6c88ade-10e5-419c-b341-8e73ca00d79b", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Type))}, }, "c6c88ade-10e5-419c-b341-8e73ca00d79b") },
- { "99ab4307-9a24-43df-9601-847e9dd27ddc", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.LeftSquareBracket), "ca3a8c09-c0e5-4fa1-8f90-856d6c23cda2"},}, new Dictionary{ }, "99ab4307-9a24-43df-9601-847e9dd27ddc") },
- { "a96775ea-398e-416c-803c-842482059a00", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.BasicType))}, }, "a96775ea-398e-416c-803c-842482059a00") },
- { "815f5e68-35bd-4247-966e-8b3824c407dd", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.BasicType))}, }, "815f5e68-35bd-4247-966e-8b3824c407dd") },
- { "23f04ad7-4e47-4ce1-b1c2-79ccc390b4c0", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.BasicType))}, }, "23f04ad7-4e47-4ce1-b1c2-79ccc390b4c0") },
- { "90564982-90b1-4eaf-a3c5-467d173f730a", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.BasicType))}, }, "90564982-90b1-4eaf-a3c5-467d173f730a") },
- { "f33257c7-7504-44d3-b908-2607c9b5326b", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Colon), new ReduceInformation(3, new NonTerminator(NonTerminatorType.IdentifierList))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(3, new NonTerminator(NonTerminatorType.IdentifierList))}, }, "f33257c7-7504-44d3-b908-2607c9b5326b") },
- { "4fe022d0-d891-49f2-858d-7314bbc6ecf5", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.ConstValue), "42ecb3b5-4cf2-448d-ab4f-c52f9b50341c"}, { new Terminator(OperatorType.Plus), "59e3cc3e-5c7a-4e46-8dac-11fb11f27224"}, { new Terminator(OperatorType.Minus), "ac30e077-bb51-4cc3-8134-545edafd4cab"}, { Terminator.NumberTerminator, "cd35c768-a64a-426f-a1b6-e33cf01517b8"}, { Terminator.CharacterTerminator, "5abd0baa-cb16-4ed6-93a1-6abf8347e474"},}, new Dictionary{ }, "4fe022d0-d891-49f2-858d-7314bbc6ecf5") },
- { "897ff0ab-640e-4c94-a95a-dd1ef233d299", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(2, new NonTerminator(NonTerminatorType.ConstValue))}, }, "897ff0ab-640e-4c94-a95a-dd1ef233d299") },
- { "d21ecc85-1fb1-4e73-9837-b92f5887b30c", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(2, new NonTerminator(NonTerminatorType.ConstValue))}, }, "d21ecc85-1fb1-4e73-9837-b92f5887b30c") },
- { "8afa13cc-f5f2-4187-adc4-2527fb79f2b2", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Period), new ReduceInformation(3, new NonTerminator(NonTerminatorType.CompoundStatement))}, }, "8afa13cc-f5f2-4187-adc4-2527fb79f2b2") },
- { "56452484-c5ea-4e76-9fdf-c2dbc7763e55", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Statement), "03b0fb6c-87e3-4daf-9d1a-8bba01fa7bae"}, { new NonTerminator(NonTerminatorType.Variable), "340c5627-5962-46b7-982e-a7f4da6071ef"}, { Terminator.IdentifierTerminator, "15a67b60-7589-4ccd-b0a1-e0e05e419a76"}, { new NonTerminator(NonTerminatorType.ProcedureCall), "6f286d93-70c5-447e-96f3-55dd578788bc"}, { new NonTerminator(NonTerminatorType.CompoundStatement), "baa01d82-c80e-429e-948f-e1c69ad8c4c4"}, { new Terminator(KeywordType.If), "b43df555-7769-42ab-b698-430d230f6a3e"}, { new Terminator(KeywordType.For), "b1fb6f3f-3e47-48f5-9169-077bd24dfc5f"}, { new Terminator(KeywordType.Begin), "6e50af1f-a22a-432f-80cd-9c938375d882"},}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(0, new NonTerminator(NonTerminatorType.Statement))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(0, new NonTerminator(NonTerminatorType.Statement))}, }, "56452484-c5ea-4e76-9fdf-c2dbc7763e55") },
- { "6c490044-8b40-4b3e-abd2-9eaff3ef5aee", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Expression), "94d5fe93-f6ba-4eee-aeba-f422e629fc1d"}, { new NonTerminator(NonTerminatorType.SimpleExpression), "7a5a0791-22d4-4d17-8050-b2f2b1c1e30c"}, { new NonTerminator(NonTerminatorType.Term), "9f109ab6-c2a0-4976-b465-647e31fb1f0d"}, { new NonTerminator(NonTerminatorType.Factor), "79707115-1161-4189-b15c-42be5f0e7184"}, { Terminator.NumberTerminator, "b0da74db-1321-4ad9-9e15-008c14315e6d"}, { new NonTerminator(NonTerminatorType.Variable), "084e5d87-68de-499f-9563-726dfa760000"}, { new Terminator(DelimiterType.LeftParenthesis), "7a97cd5c-a16c-4f18-a2eb-b23e04ccbb60"}, { Terminator.IdentifierTerminator, "bb7a33ac-07b6-4927-8505-fb4f90091683"}, { new Terminator(KeywordType.Not), "25d250a8-0d8f-4ec3-8eb9-cb5fdd592482"}, { new Terminator(OperatorType.Minus), "f1c47f00-204c-43e5-bfe6-6877e4b3ef48"},}, new Dictionary{ }, "6c490044-8b40-4b3e-abd2-9eaff3ef5aee") },
- { "9cf00111-9214-4533-8a5d-534ae89abb84", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Expression), "0b5eae12-693d-4221-952a-cf5a862ec0c9"}, { new NonTerminator(NonTerminatorType.SimpleExpression), "7a5a0791-22d4-4d17-8050-b2f2b1c1e30c"}, { new NonTerminator(NonTerminatorType.Term), "9f109ab6-c2a0-4976-b465-647e31fb1f0d"}, { new NonTerminator(NonTerminatorType.Factor), "79707115-1161-4189-b15c-42be5f0e7184"}, { Terminator.NumberTerminator, "b0da74db-1321-4ad9-9e15-008c14315e6d"}, { new NonTerminator(NonTerminatorType.Variable), "084e5d87-68de-499f-9563-726dfa760000"}, { new Terminator(DelimiterType.LeftParenthesis), "7a97cd5c-a16c-4f18-a2eb-b23e04ccbb60"}, { Terminator.IdentifierTerminator, "bb7a33ac-07b6-4927-8505-fb4f90091683"}, { new Terminator(KeywordType.Not), "25d250a8-0d8f-4ec3-8eb9-cb5fdd592482"}, { new Terminator(OperatorType.Minus), "f1c47f00-204c-43e5-bfe6-6877e4b3ef48"},}, new Dictionary{ }, "9cf00111-9214-4533-8a5d-534ae89abb84") },
- { "2b607612-2ceb-45fd-b56a-e86a62d2f563", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(OperatorType.Assign), new ReduceInformation(2, new NonTerminator(NonTerminatorType.Variable))}, }, "2b607612-2ceb-45fd-b56a-e86a62d2f563") },
- { "4160990e-129b-441e-9e5b-4a514c45faef", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.ExpressionList), "7b8f5c82-0d4f-4d59-8d3c-d2ffa030ba65"}, { new NonTerminator(NonTerminatorType.Expression), "34aaf0d9-64b0-4678-a10c-a1e4e664fce6"}, { new NonTerminator(NonTerminatorType.SimpleExpression), "1348560a-2744-469d-87a6-092c03873ff0"}, { new NonTerminator(NonTerminatorType.Term), "154bd632-5bfd-4450-9525-771afbbdf5dd"}, { new NonTerminator(NonTerminatorType.Factor), "4b7672cc-8831-48ba-b603-082dcc6c0aec"}, { Terminator.NumberTerminator, "e41ae64c-f16e-44bd-8e33-3b3a3264e9e7"}, { new NonTerminator(NonTerminatorType.Variable), "fafa494b-d3c6-4502-aef9-ad41dc354967"}, { new Terminator(DelimiterType.LeftParenthesis), "a4490596-3b7b-4793-b558-c732bcced8bd"}, { Terminator.IdentifierTerminator, "d3b52b7e-dbc2-4f30-ba1d-f8d1f0721708"}, { new Terminator(KeywordType.Not), "8c87e7ad-3592-46b9-8fa5-78261721f178"}, { new Terminator(OperatorType.Minus), "5eaad4b8-8722-4df1-bd50-173292b1abad"},}, new Dictionary{ }, "4160990e-129b-441e-9e5b-4a514c45faef") },
- { "b56f8824-9054-4c0b-a8ea-a47ded6764c6", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.ExpressionList), "f7c3cda3-3b1b-4acb-b973-c5ccb4b028ee"}, { new NonTerminator(NonTerminatorType.Expression), "8eec9a7f-4145-44bf-9197-18a5fe6d7f5f"}, { new NonTerminator(NonTerminatorType.SimpleExpression), "faf7f4cb-301e-45d9-9745-b6d82ce096b8"}, { new NonTerminator(NonTerminatorType.Term), "d87cf8df-734d-45bd-b403-027d25cee4b4"}, { new NonTerminator(NonTerminatorType.Factor), "d1496f83-a6e2-46ac-b6b4-8d84a52c00f4"}, { Terminator.NumberTerminator, "3324f6d0-11d5-4c03-b7cc-86d107c5c9ea"}, { new NonTerminator(NonTerminatorType.Variable), "d0593c1e-7097-4b1c-b2b3-340c0ce5f5c5"}, { new Terminator(DelimiterType.LeftParenthesis), "43def0a3-5d0a-4fe6-ac26-aeff86ab398a"}, { Terminator.IdentifierTerminator, "e9da9819-f2cf-4a67-9513-48874b3bbce2"}, { new Terminator(KeywordType.Not), "1af55271-632f-4aa4-b4ef-31530ba39a80"}, { new Terminator(OperatorType.Minus), "b5b15cf7-d149-4a37-8ac2-619e23d6076b"},}, new Dictionary{ }, "b56f8824-9054-4c0b-a8ea-a47ded6764c6") },
- { "c76d3ff4-8853-4921-9857-a81b2049ab67", new GeneratedTransformer(new Dictionary{ { new Terminator(KeywordType.Then), "a20e8923-a22c-4ee4-b450-b8cda9b9fb62"},}, new Dictionary{ }, "c76d3ff4-8853-4921-9857-a81b2049ab67") },
- { "9015fb18-d537-480b-851b-9ddc84c18490", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.RelationOperator), "2c707e23-e9fc-421b-a79a-12f5a07675c1"}, { new Terminator(OperatorType.Equal), "0e7d5c37-773d-432f-a8cf-784bb6b0efe3"}, { new Terminator(OperatorType.NotEqual), "be609488-c42f-47f8-a1fd-f2d444c93bc8"}, { new Terminator(OperatorType.Less), "44f4764c-0b4f-4c28-864a-1001907823d5"}, { new Terminator(OperatorType.LessEqual), "07064b0f-4530-4a28-8fa2-42b3fdb533b1"}, { new Terminator(OperatorType.Greater), "75cf3ae1-b17b-4a65-a659-706f30e30068"}, { new Terminator(OperatorType.GreaterEqual), "177eed3f-ff83-48f0-88e3-46d396939896"}, { new NonTerminator(NonTerminatorType.AddOperator), "cfa3723e-fd1a-4b34-aa85-692eb33d1409"}, { new Terminator(OperatorType.Plus), "bee54548-de25-4e96-8c73-9e234b72bc44"}, { new Terminator(OperatorType.Minus), "d94f09ba-e20f-4b58-8e43-bad97eb903f4"}, { new Terminator(KeywordType.Or), "65027cc5-09b2-4c80-b933-3747f52730e9"},}, new Dictionary{ { new Terminator(KeywordType.Then), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Expression))}, }, "9015fb18-d537-480b-851b-9ddc84c18490") },
- { "c428bc45-4c85-4c95-8c80-925e92f7c52e", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.MultiplyOperator), "122ff222-3ee7-48f0-afe3-e9ae0f6b0102"}, { new Terminator(OperatorType.Multiply), "e0f8ce47-09b6-4bd5-86c7-e63662ad872b"}, { new Terminator(OperatorType.Divide), "00b1e30f-225b-4646-9de1-01d6655c252d"}, { new Terminator(KeywordType.Divide), "b75ade6d-fec8-4af0-a07c-4299e12e924f"}, { new Terminator(KeywordType.Mod), "e5f4e1f6-05cd-462c-8b33-5270c025dccd"}, { new Terminator(KeywordType.And), "942890b9-2bb6-47b5-8481-9efab246471d"},}, new Dictionary{ { new Terminator(KeywordType.Then), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, }, "c428bc45-4c85-4c95-8c80-925e92f7c52e") },
- { "a9eca599-2434-41b1-93f5-2f6966bc3580", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.Then), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.Mod), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.And), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, }, "a9eca599-2434-41b1-93f5-2f6966bc3580") },
- { "ae79fdb0-d398-4ac7-b604-069a7d67076a", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.Then), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Mod), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.And), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, }, "ae79fdb0-d398-4ac7-b604-069a7d67076a") },
- { "50dd712b-3a18-4419-9af4-91e2b902a793", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.Then), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Mod), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.And), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, }, "50dd712b-3a18-4419-9af4-91e2b902a793") },
- { "d86ea2c0-1043-4b2f-80e4-8aeb7f37b8aa", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Expression), "62042602-3a08-46ec-bfd1-11b6aa253fdb"}, { new NonTerminator(NonTerminatorType.SimpleExpression), "acd89dcf-5a58-46a0-b16d-f4f1bf61d95d"}, { new NonTerminator(NonTerminatorType.Term), "c4cfbf2e-bfc7-4fa0-9534-3832086049a4"}, { new NonTerminator(NonTerminatorType.Factor), "15f7f03e-89b0-4b94-b82c-f780ab6d2668"}, { Terminator.NumberTerminator, "1e55cb78-8ebd-47b0-af5e-601c90cb3927"}, { new NonTerminator(NonTerminatorType.Variable), "aff1b54e-2140-48a5-ac62-65651706cd17"}, { new Terminator(DelimiterType.LeftParenthesis), "fe073a91-3867-45bb-b17b-793e15e3f602"}, { Terminator.IdentifierTerminator, "5a5ea736-2683-45c7-b635-07630a0dfd22"}, { new Terminator(KeywordType.Not), "b409d27b-d192-4a8e-bae2-7545bdfc8a65"}, { new Terminator(OperatorType.Minus), "d7d7d5de-0ee1-49c4-99c7-725ab4cefbec"},}, new Dictionary{ }, "d86ea2c0-1043-4b2f-80e4-8aeb7f37b8aa") },
- { "546e5c99-a3fb-4bcb-98ac-01aacabb3d51", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.LeftParenthesis), "dc4ef25e-49ce-45d1-9656-e3c917a70859"}, { new NonTerminator(NonTerminatorType.IdVarPart), "0110a1aa-0262-4422-8e2b-d7a01642a90f"}, { new Terminator(DelimiterType.LeftSquareBracket), "91776258-6aa6-414d-a5e5-9d07eaf906f4"},}, new Dictionary{ { new Terminator(KeywordType.Then), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Equal), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Less), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Greater), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Divide), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.Divide), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.Mod), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.And), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Plus), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Minus), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.Or), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, }, "546e5c99-a3fb-4bcb-98ac-01aacabb3d51") },
- { "eab617f6-a74a-4e0e-86a6-6ab31735be87", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Factor), "395af803-a00f-4008-8516-3be83f25ddc9"}, { Terminator.NumberTerminator, "ae79fdb0-d398-4ac7-b604-069a7d67076a"}, { new NonTerminator(NonTerminatorType.Variable), "50dd712b-3a18-4419-9af4-91e2b902a793"}, { new Terminator(DelimiterType.LeftParenthesis), "d86ea2c0-1043-4b2f-80e4-8aeb7f37b8aa"}, { Terminator.IdentifierTerminator, "546e5c99-a3fb-4bcb-98ac-01aacabb3d51"}, { new Terminator(KeywordType.Not), "eab617f6-a74a-4e0e-86a6-6ab31735be87"}, { new Terminator(OperatorType.Minus), "8adceea0-905c-42b1-879f-562bbb8bcd94"},}, new Dictionary{ }, "eab617f6-a74a-4e0e-86a6-6ab31735be87") },
- { "8adceea0-905c-42b1-879f-562bbb8bcd94", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Factor), "9202d9c8-7ac2-4a24-a69d-c6b25e54e2ef"}, { Terminator.NumberTerminator, "ae79fdb0-d398-4ac7-b604-069a7d67076a"}, { new NonTerminator(NonTerminatorType.Variable), "50dd712b-3a18-4419-9af4-91e2b902a793"}, { new Terminator(DelimiterType.LeftParenthesis), "d86ea2c0-1043-4b2f-80e4-8aeb7f37b8aa"}, { Terminator.IdentifierTerminator, "546e5c99-a3fb-4bcb-98ac-01aacabb3d51"}, { new Terminator(KeywordType.Not), "eab617f6-a74a-4e0e-86a6-6ab31735be87"}, { new Terminator(OperatorType.Minus), "8adceea0-905c-42b1-879f-562bbb8bcd94"},}, new Dictionary{ }, "8adceea0-905c-42b1-879f-562bbb8bcd94") },
- { "b2c0a29b-8024-4176-939c-e6ff87362633", new GeneratedTransformer(new Dictionary{ { new Terminator(OperatorType.Assign), "3571df43-74df-4d43-adcd-1d33d3dee369"},}, new Dictionary{ }, "b2c0a29b-8024-4176-939c-e6ff87362633") },
- { "e644cc50-e97e-44f8-b9e9-309448281f96", new GeneratedTransformer(new Dictionary{ { new Terminator(KeywordType.End), "e1258288-dbbf-4a4b-8053-f2c00e28b5a2"}, { new Terminator(DelimiterType.Semicolon), "56452484-c5ea-4e76-9fdf-c2dbc7763e55"},}, new Dictionary{ }, "e644cc50-e97e-44f8-b9e9-309448281f96") },
- { "a6fab468-6110-4c4c-90c3-1798bb3cc310", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(3, new NonTerminator(NonTerminatorType.Subprogram))}, }, "a6fab468-6110-4c4c-90c3-1798bb3cc310") },
- { "335cb0ab-fd8a-4ff5-9847-23583bfce8ab", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.VarDeclarations), "c1f4db78-2a94-47c7-8ca7-10ee1672c648"}, { new Terminator(KeywordType.Var), "3e905ac4-7168-43ea-a793-30f6605a32c8"},}, new Dictionary{ { new Terminator(KeywordType.Begin), new ReduceInformation(0, new NonTerminator(NonTerminatorType.VarDeclarations))}, }, "335cb0ab-fd8a-4ff5-9847-23583bfce8ab") },
- { "9125752d-af86-430d-942f-5daeaff090f2", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(3, new NonTerminator(NonTerminatorType.SubprogramHead))}, }, "9125752d-af86-430d-942f-5daeaff090f2") },
- { "1737c74d-47f1-45a7-adb8-c0c6e887904e", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.ParameterList), "644ef13e-ba59-47a5-8e94-b711f45860fd"}, { new NonTerminator(NonTerminatorType.Parameter), "5c5556a0-f28d-4d7b-af4f-566e5f812929"}, { new NonTerminator(NonTerminatorType.VarParameter), "60ba72c9-f75f-4c97-b688-5541f9960d6f"}, { new NonTerminator(NonTerminatorType.ValueParameter), "1528bf29-e941-4a4c-ad56-962bf9bec1a2"}, { new Terminator(KeywordType.Var), "766b438c-646b-41c1-8dee-9fc0ff7b37d5"}, { new NonTerminator(NonTerminatorType.IdentifierList), "56e8abe4-943b-47d2-80f7-181a6bae7fad"}, { Terminator.IdentifierTerminator, "280edb8d-540f-42a6-be37-39effb326c4e"},}, new Dictionary{ }, "1737c74d-47f1-45a7-adb8-c0c6e887904e") },
- { "b70e1b50-8cb6-4f4a-9d1e-04b29f9f758c", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.Colon), "de0d1ef0-edc6-45a7-81a7-9e48f7d4cb20"},}, new Dictionary{ }, "b70e1b50-8cb6-4f4a-9d1e-04b29f9f758c") },
- { "a8abfeba-98a7-4280-9703-690d347b90c0", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.ParameterList), "5f14fe2b-b48c-485f-9cc2-b60c8e5db053"}, { new NonTerminator(NonTerminatorType.Parameter), "5c5556a0-f28d-4d7b-af4f-566e5f812929"}, { new NonTerminator(NonTerminatorType.VarParameter), "60ba72c9-f75f-4c97-b688-5541f9960d6f"}, { new NonTerminator(NonTerminatorType.ValueParameter), "1528bf29-e941-4a4c-ad56-962bf9bec1a2"}, { new Terminator(KeywordType.Var), "766b438c-646b-41c1-8dee-9fc0ff7b37d5"}, { new NonTerminator(NonTerminatorType.IdentifierList), "56e8abe4-943b-47d2-80f7-181a6bae7fad"}, { Terminator.IdentifierTerminator, "280edb8d-540f-42a6-be37-39effb326c4e"},}, new Dictionary{ }, "a8abfeba-98a7-4280-9703-690d347b90c0") },
- { "48d6d6c3-306e-4a33-93db-39aedcb501ab", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Type), "4812c3bb-21e1-4cc1-93e8-bfbcc92e6142"}, { new NonTerminator(NonTerminatorType.BasicType), "c6c88ade-10e5-419c-b341-8e73ca00d79b"}, { new Terminator(KeywordType.Array), "99ab4307-9a24-43df-9601-847e9dd27ddc"}, { new Terminator(KeywordType.Integer), "a96775ea-398e-416c-803c-842482059a00"}, { new Terminator(KeywordType.Real), "815f5e68-35bd-4247-966e-8b3824c407dd"}, { new Terminator(KeywordType.Boolean), "23f04ad7-4e47-4ce1-b1c2-79ccc390b4c0"}, { new Terminator(KeywordType.Character), "90564982-90b1-4eaf-a3c5-467d173f730a"},}, new Dictionary{ }, "48d6d6c3-306e-4a33-93db-39aedcb501ab") },
- { "ca3a8c09-c0e5-4fa1-8f90-856d6c23cda2", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Period), "539de0b8-8967-4976-b099-82693968ec05"}, { Terminator.NumberTerminator, "aab716cb-df44-4886-9051-967c381a29e9"},}, new Dictionary{ }, "ca3a8c09-c0e5-4fa1-8f90-856d6c23cda2") },
- { "42ecb3b5-4cf2-448d-ab4f-c52f9b50341c", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.Semicolon), new ReduceInformation(5, new NonTerminator(NonTerminatorType.ConstDeclaration))}, }, "42ecb3b5-4cf2-448d-ab4f-c52f9b50341c") },
- { "03b0fb6c-87e3-4daf-9d1a-8bba01fa7bae", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(3, new NonTerminator(NonTerminatorType.StatementList))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(3, new NonTerminator(NonTerminatorType.StatementList))}, }, "03b0fb6c-87e3-4daf-9d1a-8bba01fa7bae") },
- { "94d5fe93-f6ba-4eee-aeba-f422e629fc1d", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(3, new NonTerminator(NonTerminatorType.Statement))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(3, new NonTerminator(NonTerminatorType.Statement))}, }, "94d5fe93-f6ba-4eee-aeba-f422e629fc1d") },
- { "7a5a0791-22d4-4d17-8050-b2f2b1c1e30c", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.RelationOperator), "11a44452-1d7d-484f-a590-318fc272a984"}, { new Terminator(OperatorType.Equal), "0e7d5c37-773d-432f-a8cf-784bb6b0efe3"}, { new Terminator(OperatorType.NotEqual), "be609488-c42f-47f8-a1fd-f2d444c93bc8"}, { new Terminator(OperatorType.Less), "44f4764c-0b4f-4c28-864a-1001907823d5"}, { new Terminator(OperatorType.LessEqual), "07064b0f-4530-4a28-8fa2-42b3fdb533b1"}, { new Terminator(OperatorType.Greater), "75cf3ae1-b17b-4a65-a659-706f30e30068"}, { new Terminator(OperatorType.GreaterEqual), "177eed3f-ff83-48f0-88e3-46d396939896"}, { new NonTerminator(NonTerminatorType.AddOperator), "83089975-522a-4cc8-8043-15a6e7df9db6"}, { new Terminator(OperatorType.Plus), "bee54548-de25-4e96-8c73-9e234b72bc44"}, { new Terminator(OperatorType.Minus), "d94f09ba-e20f-4b58-8e43-bad97eb903f4"}, { new Terminator(KeywordType.Or), "65027cc5-09b2-4c80-b933-3747f52730e9"},}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Expression))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Expression))}, }, "7a5a0791-22d4-4d17-8050-b2f2b1c1e30c") },
- { "9f109ab6-c2a0-4976-b465-647e31fb1f0d", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.MultiplyOperator), "30390509-2485-4027-b468-7f5a06f45911"}, { new Terminator(OperatorType.Multiply), "e0f8ce47-09b6-4bd5-86c7-e63662ad872b"}, { new Terminator(OperatorType.Divide), "00b1e30f-225b-4646-9de1-01d6655c252d"}, { new Terminator(KeywordType.Divide), "b75ade6d-fec8-4af0-a07c-4299e12e924f"}, { new Terminator(KeywordType.Mod), "e5f4e1f6-05cd-462c-8b33-5270c025dccd"}, { new Terminator(KeywordType.And), "942890b9-2bb6-47b5-8481-9efab246471d"},}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, }, "9f109ab6-c2a0-4976-b465-647e31fb1f0d") },
- { "79707115-1161-4189-b15c-42be5f0e7184", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.Mod), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.And), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, }, "79707115-1161-4189-b15c-42be5f0e7184") },
- { "b0da74db-1321-4ad9-9e15-008c14315e6d", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Mod), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.And), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, }, "b0da74db-1321-4ad9-9e15-008c14315e6d") },
- { "084e5d87-68de-499f-9563-726dfa760000", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Mod), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.And), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, }, "084e5d87-68de-499f-9563-726dfa760000") },
- { "7a97cd5c-a16c-4f18-a2eb-b23e04ccbb60", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Expression), "86010c6f-fdbd-4019-8d71-02ede82abc22"}, { new NonTerminator(NonTerminatorType.SimpleExpression), "acd89dcf-5a58-46a0-b16d-f4f1bf61d95d"}, { new NonTerminator(NonTerminatorType.Term), "c4cfbf2e-bfc7-4fa0-9534-3832086049a4"}, { new NonTerminator(NonTerminatorType.Factor), "15f7f03e-89b0-4b94-b82c-f780ab6d2668"}, { Terminator.NumberTerminator, "1e55cb78-8ebd-47b0-af5e-601c90cb3927"}, { new NonTerminator(NonTerminatorType.Variable), "aff1b54e-2140-48a5-ac62-65651706cd17"}, { new Terminator(DelimiterType.LeftParenthesis), "fe073a91-3867-45bb-b17b-793e15e3f602"}, { Terminator.IdentifierTerminator, "5a5ea736-2683-45c7-b635-07630a0dfd22"}, { new Terminator(KeywordType.Not), "b409d27b-d192-4a8e-bae2-7545bdfc8a65"}, { new Terminator(OperatorType.Minus), "d7d7d5de-0ee1-49c4-99c7-725ab4cefbec"},}, new Dictionary{ }, "7a97cd5c-a16c-4f18-a2eb-b23e04ccbb60") },
- { "bb7a33ac-07b6-4927-8505-fb4f90091683", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.LeftParenthesis), "7606f153-120c-4355-ae8a-59dec9fc2258"}, { new NonTerminator(NonTerminatorType.IdVarPart), "78ecf1b9-59f7-46d4-aceb-a8fd852a9230"}, { new Terminator(DelimiterType.LeftSquareBracket), "80664dd8-50f0-4861-9f93-1f4772365f4b"},}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Equal), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Less), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Greater), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Divide), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.Divide), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.Mod), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.And), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Plus), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Minus), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.Or), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, }, "bb7a33ac-07b6-4927-8505-fb4f90091683") },
- { "25d250a8-0d8f-4ec3-8eb9-cb5fdd592482", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Factor), "85199747-3d53-403c-9e46-62ca7127d2ef"}, { Terminator.NumberTerminator, "b0da74db-1321-4ad9-9e15-008c14315e6d"}, { new NonTerminator(NonTerminatorType.Variable), "084e5d87-68de-499f-9563-726dfa760000"}, { new Terminator(DelimiterType.LeftParenthesis), "7a97cd5c-a16c-4f18-a2eb-b23e04ccbb60"}, { Terminator.IdentifierTerminator, "bb7a33ac-07b6-4927-8505-fb4f90091683"}, { new Terminator(KeywordType.Not), "25d250a8-0d8f-4ec3-8eb9-cb5fdd592482"}, { new Terminator(OperatorType.Minus), "f1c47f00-204c-43e5-bfe6-6877e4b3ef48"},}, new Dictionary{ }, "25d250a8-0d8f-4ec3-8eb9-cb5fdd592482") },
- { "f1c47f00-204c-43e5-bfe6-6877e4b3ef48", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Factor), "84cdc13a-c47c-4a6c-8da5-bcab90220fee"}, { Terminator.NumberTerminator, "b0da74db-1321-4ad9-9e15-008c14315e6d"}, { new NonTerminator(NonTerminatorType.Variable), "084e5d87-68de-499f-9563-726dfa760000"}, { new Terminator(DelimiterType.LeftParenthesis), "7a97cd5c-a16c-4f18-a2eb-b23e04ccbb60"}, { Terminator.IdentifierTerminator, "bb7a33ac-07b6-4927-8505-fb4f90091683"}, { new Terminator(KeywordType.Not), "25d250a8-0d8f-4ec3-8eb9-cb5fdd592482"}, { new Terminator(OperatorType.Minus), "f1c47f00-204c-43e5-bfe6-6877e4b3ef48"},}, new Dictionary{ }, "f1c47f00-204c-43e5-bfe6-6877e4b3ef48") },
- { "0b5eae12-693d-4221-952a-cf5a862ec0c9", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(KeywordType.End), new ReduceInformation(3, new NonTerminator(NonTerminatorType.Statement))}, { new Terminator(DelimiterType.Semicolon), new ReduceInformation(3, new NonTerminator(NonTerminatorType.Statement))}, }, "0b5eae12-693d-4221-952a-cf5a862ec0c9") },
- { "7b8f5c82-0d4f-4d59-8d3c-d2ffa030ba65", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.RightSquareBracket), "67a0b1df-6860-454e-a4d5-a0f5a53107c6"}, { new Terminator(DelimiterType.Comma), "7c137af1-0a27-40a0-b473-5b4f68a14794"},}, new Dictionary{ }, "7b8f5c82-0d4f-4d59-8d3c-d2ffa030ba65") },
- { "34aaf0d9-64b0-4678-a10c-a1e4e664fce6", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.RightSquareBracket), new ReduceInformation(1, new NonTerminator(NonTerminatorType.ExpressionList))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(1, new NonTerminator(NonTerminatorType.ExpressionList))}, }, "34aaf0d9-64b0-4678-a10c-a1e4e664fce6") },
- { "1348560a-2744-469d-87a6-092c03873ff0", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.RelationOperator), "14e906d4-b447-487c-a383-726a031a8886"}, { new Terminator(OperatorType.Equal), "0e7d5c37-773d-432f-a8cf-784bb6b0efe3"}, { new Terminator(OperatorType.NotEqual), "be609488-c42f-47f8-a1fd-f2d444c93bc8"}, { new Terminator(OperatorType.Less), "44f4764c-0b4f-4c28-864a-1001907823d5"}, { new Terminator(OperatorType.LessEqual), "07064b0f-4530-4a28-8fa2-42b3fdb533b1"}, { new Terminator(OperatorType.Greater), "75cf3ae1-b17b-4a65-a659-706f30e30068"}, { new Terminator(OperatorType.GreaterEqual), "177eed3f-ff83-48f0-88e3-46d396939896"}, { new NonTerminator(NonTerminatorType.AddOperator), "b10ec06e-38db-459f-bdf5-d8073ce98bf3"}, { new Terminator(OperatorType.Plus), "bee54548-de25-4e96-8c73-9e234b72bc44"}, { new Terminator(OperatorType.Minus), "d94f09ba-e20f-4b58-8e43-bad97eb903f4"}, { new Terminator(KeywordType.Or), "65027cc5-09b2-4c80-b933-3747f52730e9"},}, new Dictionary{ { new Terminator(DelimiterType.RightSquareBracket), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Expression))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Expression))}, }, "1348560a-2744-469d-87a6-092c03873ff0") },
- { "154bd632-5bfd-4450-9525-771afbbdf5dd", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.MultiplyOperator), "097a5289-eae6-4e48-989f-82cd5230ec8f"}, { new Terminator(OperatorType.Multiply), "e0f8ce47-09b6-4bd5-86c7-e63662ad872b"}, { new Terminator(OperatorType.Divide), "00b1e30f-225b-4646-9de1-01d6655c252d"}, { new Terminator(KeywordType.Divide), "b75ade6d-fec8-4af0-a07c-4299e12e924f"}, { new Terminator(KeywordType.Mod), "e5f4e1f6-05cd-462c-8b33-5270c025dccd"}, { new Terminator(KeywordType.And), "942890b9-2bb6-47b5-8481-9efab246471d"},}, new Dictionary{ { new Terminator(DelimiterType.RightSquareBracket), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(1, new NonTerminator(NonTerminatorType.SimpleExpression))}, }, "154bd632-5bfd-4450-9525-771afbbdf5dd") },
- { "4b7672cc-8831-48ba-b603-082dcc6c0aec", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.RightSquareBracket), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.Mod), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.And), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Term))}, }, "4b7672cc-8831-48ba-b603-082dcc6c0aec") },
- { "e41ae64c-f16e-44bd-8e33-3b3a3264e9e7", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.RightSquareBracket), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Mod), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.And), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, }, "e41ae64c-f16e-44bd-8e33-3b3a3264e9e7") },
- { "fafa494b-d3c6-4502-aef9-ad41dc354967", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.RightSquareBracket), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Equal), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Less), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Greater), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Divide), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Mod), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.And), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Plus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(OperatorType.Minus), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(KeywordType.Or), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(1, new NonTerminator(NonTerminatorType.Factor))}, }, "fafa494b-d3c6-4502-aef9-ad41dc354967") },
- { "a4490596-3b7b-4793-b558-c732bcced8bd", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Expression), "f50bc9a0-9e95-4ac1-905e-663ec0496cf2"}, { new NonTerminator(NonTerminatorType.SimpleExpression), "acd89dcf-5a58-46a0-b16d-f4f1bf61d95d"}, { new NonTerminator(NonTerminatorType.Term), "c4cfbf2e-bfc7-4fa0-9534-3832086049a4"}, { new NonTerminator(NonTerminatorType.Factor), "15f7f03e-89b0-4b94-b82c-f780ab6d2668"}, { Terminator.NumberTerminator, "1e55cb78-8ebd-47b0-af5e-601c90cb3927"}, { new NonTerminator(NonTerminatorType.Variable), "aff1b54e-2140-48a5-ac62-65651706cd17"}, { new Terminator(DelimiterType.LeftParenthesis), "fe073a91-3867-45bb-b17b-793e15e3f602"}, { Terminator.IdentifierTerminator, "5a5ea736-2683-45c7-b635-07630a0dfd22"}, { new Terminator(KeywordType.Not), "b409d27b-d192-4a8e-bae2-7545bdfc8a65"}, { new Terminator(OperatorType.Minus), "d7d7d5de-0ee1-49c4-99c7-725ab4cefbec"},}, new Dictionary{ }, "a4490596-3b7b-4793-b558-c732bcced8bd") },
- { "d3b52b7e-dbc2-4f30-ba1d-f8d1f0721708", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.LeftParenthesis), "93476f7b-7fdf-4e7a-8d96-dfe48640e626"}, { new NonTerminator(NonTerminatorType.IdVarPart), "130b533f-8e3f-4449-99b7-a5fe44f6df4c"}, { new Terminator(DelimiterType.LeftSquareBracket), "e8d686bd-33cb-48f4-86a5-6fa0e51874ef"},}, new Dictionary{ { new Terminator(DelimiterType.RightSquareBracket), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Equal), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.NotEqual), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Less), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.LessEqual), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Greater), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.GreaterEqual), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Multiply), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Divide), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.Divide), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.Mod), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.And), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Plus), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(OperatorType.Minus), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(KeywordType.Or), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(0, new NonTerminator(NonTerminatorType.IdVarPart))}, }, "d3b52b7e-dbc2-4f30-ba1d-f8d1f0721708") },
- { "8c87e7ad-3592-46b9-8fa5-78261721f178", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Factor), "055269e0-0802-46b2-aad9-99fa3cae44ac"}, { Terminator.NumberTerminator, "e41ae64c-f16e-44bd-8e33-3b3a3264e9e7"}, { new NonTerminator(NonTerminatorType.Variable), "fafa494b-d3c6-4502-aef9-ad41dc354967"}, { new Terminator(DelimiterType.LeftParenthesis), "a4490596-3b7b-4793-b558-c732bcced8bd"}, { Terminator.IdentifierTerminator, "d3b52b7e-dbc2-4f30-ba1d-f8d1f0721708"}, { new Terminator(KeywordType.Not), "8c87e7ad-3592-46b9-8fa5-78261721f178"}, { new Terminator(OperatorType.Minus), "5eaad4b8-8722-4df1-bd50-173292b1abad"},}, new Dictionary{ }, "8c87e7ad-3592-46b9-8fa5-78261721f178") },
- { "5eaad4b8-8722-4df1-bd50-173292b1abad", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.Factor), "7ff693b4-56b3-4bbf-be07-a487463a04bd"}, { Terminator.NumberTerminator, "e41ae64c-f16e-44bd-8e33-3b3a3264e9e7"}, { new NonTerminator(NonTerminatorType.Variable), "fafa494b-d3c6-4502-aef9-ad41dc354967"}, { new Terminator(DelimiterType.LeftParenthesis), "a4490596-3b7b-4793-b558-c732bcced8bd"}, { Terminator.IdentifierTerminator, "d3b52b7e-dbc2-4f30-ba1d-f8d1f0721708"}, { new Terminator(KeywordType.Not), "8c87e7ad-3592-46b9-8fa5-78261721f178"}, { new Terminator(OperatorType.Minus), "5eaad4b8-8722-4df1-bd50-173292b1abad"},}, new Dictionary{ }, "5eaad4b8-8722-4df1-bd50-173292b1abad") },
- { "f7c3cda3-3b1b-4acb-b973-c5ccb4b028ee", new GeneratedTransformer(new Dictionary{ { new Terminator(DelimiterType.RightParenthesis), "96f4075f-ecea-41f2-9962-ca38daaf80e6"}, { new Terminator(DelimiterType.Comma), "49111152-c351-4b8f-9641-f66a8cc03a71"},}, new Dictionary{ }, "f7c3cda3-3b1b-4acb-b973-c5ccb4b028ee") },
- { "8eec9a7f-4145-44bf-9197-18a5fe6d7f5f", new GeneratedTransformer(new Dictionary{}, new Dictionary{ { new Terminator(DelimiterType.RightParenthesis), new ReduceInformation(1, new NonTerminator(NonTerminatorType.ExpressionList))}, { new Terminator(DelimiterType.Comma), new ReduceInformation(1, new NonTerminator(NonTerminatorType.ExpressionList))}, }, "8eec9a7f-4145-44bf-9197-18a5fe6d7f5f") },
- { "faf7f4cb-301e-45d9-9745-b6d82ce096b8", new GeneratedTransformer(new Dictionary{ { new NonTerminator(NonTerminatorType.RelationOperator), "2c643f3e-c602-4575-b2c4-e44565fc735e"}, { new Terminator(OperatorType.Equal), "0e7d5c37-773d-432f-a8cf-784bb6b0efe3"}, { new Terminator(OperatorType.NotEqual), "be609488-c42f-47f8-a1fd-f2d444c93bc8"}, { new Terminator(OperatorType.Less), "44f4764c-0b4f-4c28-864a-1001907823d5"}, { new Terminator(OperatorType.LessEqual), "07064b0f-4530-4a28-8fa2-42b3fdb533b1"}, { new Terminator(OperatorType.Greater), "75cf3ae1-b17b-4a65-a659-706f30e30068"}, { new Terminator(OperatorType.GreaterEqual), "177eed3f-ff83-48f0-88e3-46d396939896"}, { new NonTerminator(NonTerminatorType.AddOperator), "be234840-b527-4931-b33c-d59e92d9c04c"}, { new Terminator(OperatorType.Plus), "bee54548-de25-4e96-8c73-9e234b72bc44"}, { new Terminator(OperatorType.Minus), "d94f09ba-e20f-4b58-8e43-bad97eb903f4"}, { new Terminator(KeywordType.Or), "65027cc5-09b2-4c80-b933-3747f52730e9"},}, new Dictionary