mirror of
https://github.com/Stone-Red-Code/YesNt-Interpreter.git
synced 2026-09-04 09:06:41 +02:00
- Change parameter keywords color
- Fix calculation bug
This commit is contained in:
@@ -35,13 +35,13 @@ namespace YesNt.Interpreter.Statements
|
|||||||
RuntimeInfo.IsInFunction = true;
|
RuntimeInfo.IsInFunction = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Statement("in", SearchMode.StartOfLine, SpaceAround.End, ConsoleColor.DarkYellow)]
|
[Statement("in", SearchMode.StartOfLine, SpaceAround.End, ConsoleColor.Yellow)]
|
||||||
public void AddInParameter(string args)
|
public void AddInParameter(string args)
|
||||||
{
|
{
|
||||||
RuntimeInfo.InParametersStack.Push(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)
|
public void GetOutParameter(string name)
|
||||||
{
|
{
|
||||||
if (RuntimeInfo.OutParametersStack.Count == 0)
|
if (RuntimeInfo.OutParametersStack.Count == 0)
|
||||||
@@ -53,7 +53,7 @@ namespace YesNt.Interpreter.Statements
|
|||||||
RuntimeInfo.Variables.Add(name, RuntimeInfo.OutParametersStack.Pop());
|
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)
|
public void GetInParameter(string args)
|
||||||
{
|
{
|
||||||
if (RuntimeInfo.FunctionCallStack.Count == 0)
|
if (RuntimeInfo.FunctionCallStack.Count == 0)
|
||||||
@@ -71,7 +71,7 @@ namespace YesNt.Interpreter.Statements
|
|||||||
RuntimeInfo.Variables.TryAdd(args, RuntimeInfo.FunctionCallStack.Peek().Arguemtns.Pop());
|
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)
|
public void AddOutParameter(string args)
|
||||||
{
|
{
|
||||||
if (RuntimeInfo.FunctionCallStack.Count == 0)
|
if (RuntimeInfo.FunctionCallStack.Count == 0)
|
||||||
|
|||||||
@@ -22,6 +22,32 @@ namespace YesNt.Interpreter.Utilities
|
|||||||
return part1 != part2;
|
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(">");
|
parts = input.Split(">");
|
||||||
if (parts.Length == 2)
|
if (parts.Length == 2)
|
||||||
{
|
{
|
||||||
@@ -48,31 +74,7 @@ namespace YesNt.Interpreter.Utilities
|
|||||||
return part1 < part2;
|
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;
|
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');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user