- Change parameter keywords color

- Fix calculation bug
This commit is contained in:
Stone_Red
2022-01-11 22:03:08 +01:00
parent 895eb51c8d
commit 2522868379
2 changed files with 38 additions and 29 deletions
@@ -35,13 +35,13 @@ namespace YesNt.Interpreter.Statements
RuntimeInfo.IsInFunction = true;
}
[Statement("in", SearchMode.StartOfLine, SpaceAround.End, ConsoleColor.DarkYellow)]
[Statement("in", SearchMode.StartOfLine, SpaceAround.End, ConsoleColor.Yellow)]
public void AddInParameter(string args)
{
RuntimeInfo.InParametersStack.Push(args);
}
[Statement("out", SearchMode.StartOfLine, SpaceAround.End, ConsoleColor.DarkYellow)]
[Statement("out", SearchMode.StartOfLine, SpaceAround.End, ConsoleColor.Yellow)]
public void GetOutParameter(string name)
{
if (RuntimeInfo.OutParametersStack.Count == 0)
@@ -53,7 +53,7 @@ namespace YesNt.Interpreter.Statements
RuntimeInfo.Variables.Add(name, RuntimeInfo.OutParametersStack.Pop());
}
[Statement("get", SearchMode.StartOfLine, SpaceAround.End, ConsoleColor.DarkYellow)]
[Statement("get", SearchMode.StartOfLine, SpaceAround.End, ConsoleColor.Yellow)]
public void GetInParameter(string args)
{
if (RuntimeInfo.FunctionCallStack.Count == 0)
@@ -71,7 +71,7 @@ namespace YesNt.Interpreter.Statements
RuntimeInfo.Variables.TryAdd(args, RuntimeInfo.FunctionCallStack.Peek().Arguemtns.Pop());
}
[Statement("put", SearchMode.StartOfLine, SpaceAround.End, ConsoleColor.DarkYellow)]
[Statement("put", SearchMode.StartOfLine, SpaceAround.End, ConsoleColor.Yellow)]
public void AddOutParameter(string args)
{
if (RuntimeInfo.FunctionCallStack.Count == 0)
+34 -25
View File
@@ -22,6 +22,32 @@ namespace YesNt.Interpreter.Utilities
return part1 != part2;
}
parts = input.Split(">=");
if (parts.Length == 2)
{
bool succ1 = parts[0].ToStandardizedNumber(out double part1);
bool succ2 = parts[1].ToStandardizedNumber(out double part2);
if (!succ1 || !succ2)
{
return false;
}
return part1 >= part2;
}
parts = input.Split("<=");
if (parts.Length == 2)
{
bool succ1 = parts[0].ToStandardizedNumber(out double part1);
bool succ2 = parts[1].ToStandardizedNumber(out double part2);
if (!succ1 || !succ2)
{
return false;
}
return part1 <= part2;
}
parts = input.Split(">");
if (parts.Length == 2)
{
@@ -48,31 +74,7 @@ namespace YesNt.Interpreter.Utilities
return part1 < part2;
}
parts = input.Split(">=");
if (parts.Length == 2)
{
bool succ1 = parts[0].ToStandardizedNumber(out double part1);
bool succ2 = parts[1].ToStandardizedNumber(out double part2);
if (!succ1 || !succ2)
{
return false;
}
return part1 >= part2;
}
parts = input.Split("<=");
if (parts.Length == 2)
{
bool succ1 = parts[0].ToStandardizedNumber(out double part1);
bool succ2 = parts[1].ToStandardizedNumber(out double part2);
if (!succ1 || !succ2)
{
return false;
}
return part1 <= part2;
}
return null;
}
@@ -158,7 +160,14 @@ namespace YesNt.Interpreter.Utilities
}
}
return number.ToString();
if (number % 1 == 0)
{
return number.ToString();
}
else
{
return number.ToString("F99").Trim('0');
}
}
}
}