Make LuaTypes internal, and only return the actual values

This commit is contained in:
2018-11-17 12:40:28 +01:00
parent f74992e47b
commit a631d3b377
21 changed files with 159 additions and 114 deletions

View File

@@ -13,8 +13,8 @@ namespace Ycicle
private static void Main()
{
Console.WriteLine("Upsilon REPL");
var variables = new Dictionary<VariableSymbol, LuaType>();
var showTranspiledOutput = false;
Script script = null;
while (true)
{
Console.Write("» ");
@@ -28,13 +28,16 @@ namespace Ycicle
break;
}
var parsed = new Script(input, variables);
if (script == null)
script = new Script(input);
else
script = Script.ContinueWith(script, input);
if (parsed.Diagnostics.Messages.Count > 0)
if (script.Diagnostics.Messages.Count > 0)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Errors were found during parsing");
foreach (var diagnosticsMessage in parsed.Diagnostics.Messages)
foreach (var diagnosticsMessage in script.Diagnostics.Messages)
{
LogError(diagnosticsMessage);
}
@@ -45,19 +48,19 @@ namespace Ycicle
if (showTranspiledOutput)
{
var transpiler = new Transpiler();
var transpiled = transpiler.TranspilerToCSharp(parsed.Bind());
var transpiled = transpiler.TranspilerToCSharp(script.Bind());
Console.WriteLine(transpiled);
}
else
{
var evaluate = parsed.Evaluate();
var evaluate = script.Evaluate();
if (evaluate == null)
continue;
if (parsed.Diagnostics.Messages.Count > 0)
if (script.Diagnostics.Messages.Count > 0)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Errors were found during evaluating");
foreach (var diagnosticsMessage in parsed.Diagnostics.Messages)
foreach (var diagnosticsMessage in script.Diagnostics.Messages)
{
LogError(diagnosticsMessage);
}