diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..f167a0b
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,26 @@
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ // Use IntelliSense to find out which attributes exist for C# debugging
+ // Use hover for the description of the existing attributes
+ // For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md
+ "name": ".NET Core Launch (console)",
+ "type": "coreclr",
+ "request": "launch",
+ "preLaunchTask": "build",
+ // If you have changed target frameworks, make sure to update the program path.
+ "program": "${workspaceFolder}/BarkBasic/bin/Debug/net8.0/BarkBasic.dll",
+ "args": [],
+ "cwd": "${workspaceFolder}/BarkBasic",
+ // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
+ "console": "internalConsole",
+ "stopAtEntry": false
+ },
+ {
+ "name": ".NET Core Attach",
+ "type": "coreclr",
+ "request": "attach"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..726198e
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,54 @@
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "build",
+ "command": "dotnet",
+ "type": "process",
+ "args": [
+ "build",
+ "${workspaceFolder}/BarkBasic/BarkBasic.csproj",
+ "/property:GenerateFullPaths=true",
+ "/consoleloggerparameters:NoSummary;ForceNoAlign"
+ ],
+ "problemMatcher": "$msCompile"
+ },
+ {
+ "label": "run",
+ "command": "dotnet",
+ "type": "process",
+ "args": [
+ "run",
+ "--project",
+ "${workspaceFolder}/BarkBasic/BarkBasic.csproj",
+ "/property:GenerateFullPaths=true",
+ "/consoleloggerparameters:NoSummary;ForceNoAlign"
+ ],
+ "problemMatcher": "$msCompile"
+ },
+ {
+ "label": "publish",
+ "command": "dotnet",
+ "type": "process",
+ "args": [
+ "publish",
+ "${workspaceFolder}/BarkBasic/BarkBasic.csproj",
+ "/property:GenerateFullPaths=true",
+ "/consoleloggerparameters:NoSummary;ForceNoAlign"
+ ],
+ "problemMatcher": "$msCompile"
+ },
+ {
+ "label": "watch",
+ "command": "dotnet",
+ "type": "process",
+ "args": [
+ "watch",
+ "run",
+ "--project",
+ "${workspaceFolder}/BarkBasic/BarkBasic.csproj"
+ ],
+ "problemMatcher": "$msCompile"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/BarkBasic/BarkBasic.csproj b/BarkBasic/BarkBasic.csproj
index d301bc3..73a5062 100644
--- a/BarkBasic/BarkBasic.csproj
+++ b/BarkBasic/BarkBasic.csproj
@@ -4,7 +4,7 @@
Exe
0.1.200
alpha
- net8.0
+ net9.0
enable
enable
diff --git a/BarkBasic/Program.cs b/BarkBasic/Program.cs
index 7eda0ad..81ae888 100644
--- a/BarkBasic/Program.cs
+++ b/BarkBasic/Program.cs
@@ -10,7 +10,7 @@ class Program
// Add more commands as needed
string basicCode = @"
- PRINT ""Hello, World!""
+ PRINT Hello, World!
LET A = 10
PRINT A
";
@@ -23,6 +23,7 @@ class Program
Console.WriteLine(string.Join(" ", args));
}
+ // FIXME: Fails to assign to variable and return syntax error
static void LetCommand(List args)
{
if (args.Count != 2 || !int.TryParse(args[1], out int value))