Make LuaTypes internal, and only return the actual values
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user