Skip to content

Commit ab72392

Browse files
Include & Exclude work great
1 parent b35ded5 commit ab72392

2 files changed

Lines changed: 26 additions & 11 deletions

File tree

EZCode/Interpreter.cs

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -165,17 +165,30 @@ public int Interperate(LineWithTokens[] LineTokens)
165165
switch (FirstToken.Type)
166166
{
167167
case TokenType.Include:
168-
string[] packages = ["main"];
169-
parser = Package.ReturnParserWithPackages(parser, packages);
170-
Methods = [.. Methods, .. parser.Methods];
171-
Classes = [.. Classes, .. parser.Classes];
172-
break;
173168
case TokenType.Exclude:
174-
packages = ["main"];
175-
Parser except = Package.ReturnParserWithPackages(new Parser("", ""), packages);
176-
parser = Package.RemovePackageFromParser(parser, except);
177-
Methods = parser.Methods.ToArray();
178-
Classes = parser.Classes.ToArray();
169+
try
170+
{
171+
string combined_packages = string.Join(" ", line.Tokens.Skip(1).Select(x => x.StringValue));
172+
string[] packages = combined_packages.Split(",").Select(x=>x.Trim()).ToArray();
173+
174+
if (FirstToken.StringValue == "include")
175+
{
176+
parser = Package.ReturnParserWithPackages(parser, packages);
177+
Methods = [.. Methods, .. parser.Methods];
178+
Classes = [.. Classes, .. parser.Classes];
179+
}
180+
else
181+
{
182+
Parser except = Package.ReturnParserWithPackages(new Parser("", ""), packages);
183+
parser = Package.RemovePackageFromParser(parser, except);
184+
Methods = parser.Methods.ToArray();
185+
Classes = parser.Classes.ToArray();
186+
}
187+
}
188+
catch (Exception ex)
189+
{
190+
throw new Exception($"Error with \"{FirstToken.StringValue}\", Error Message:\"{ex.Message}\"");
191+
}
179192
break;
180193

181194
case TokenType.Identifier:

TestEnv/Code.ezcode

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
include main
1+
include main, math
22

33
class aaa {
44
undefined val => hi
@@ -9,6 +9,8 @@ class aaa {
99
str val new => str format : aaa:yes
1010
print val
1111

12+
print 'add 5, 6'
13+
1214
exclude main
1315

1416
print hu

0 commit comments

Comments
 (0)