Skip to content

Commit

Permalink
feat(JIT-REPL): started implementing the REPL
Browse files Browse the repository at this point in the history
  • Loading branch information
wesuRage committed Jan 18, 2025
1 parent 206de95 commit 13c7e5e
Show file tree
Hide file tree
Showing 14 changed files with 293 additions and 99 deletions.
10 changes: 5 additions & 5 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"request": "launch",
"program": "${workspaceFolder}/galaxy",
"args": [
"${workspaceFolder}/examples/enum.glx"
"${workspaceFolder}/examples/a.glx"
],
"stopAtEntry": false,
"environment": [],
Expand All @@ -23,7 +23,7 @@
"request": "launch",
"program": "${workspaceFolder}/galaxy",
"args": [
"${workspaceFolder}/examples/enum.glx"
"${workspaceFolder}/examples/a.glx"
],
"stopAtEntry": false,
"environment": [],
Expand All @@ -39,7 +39,7 @@
"request": "launch",
"program": "${workspaceFolder}/src/frontend/lexer/lexer_test",
"args": [
"${workspaceFolder}/examples/enum.glx"
"${workspaceFolder}/examples/a.glx"
],
"stopAtEntry": false,
"environment": [],
Expand All @@ -55,7 +55,7 @@
"request": "launch",
"program": "${workspaceFolder}/src/frontend/parser/parser_test",
"args": [
"${workspaceFolder}/examples/enum.glx"
"${workspaceFolder}/examples/a.glx"
],
"stopAtEntry": false,
"environment": [],
Expand All @@ -71,7 +71,7 @@
"request": "launch",
"program": "${workspaceFolder}/src/backend/generator/generator_test",
"args": [
"${workspaceFolder}/examples/enum.glx"
"--repl"
],
"stopAtEntry": false,
"environment": [],
Expand Down
2 changes: 1 addition & 1 deletion .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
"type": "shell",
"command": "./src/backend/generator/generator_test",
"args": [
"./examples/enum.glx"
"--repl"
],
"group": {
"kind": "test",
Expand Down
18 changes: 8 additions & 10 deletions examples/a.glx
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
extern int writeln(string);
extern string itos(int);
extern int writeln(string);
extern string itos(int);

def main() -> int:
def main() -> int:

int number := 4;

while (number < 5):
std.printf("Number is less than 5!");
int number := 4;

writeln("Number is less than 5!");

for (int i := -10; i < 10 + 1; ++i):
if (i > 5):
writeln(itos(i););
end;
end;
end;

return 0;
end;
return 0;
end;
2 changes: 1 addition & 1 deletion include/frontend/parser/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Token consume_token(Parser *parser);
Token next_token(Parser *parser);
Token expect(Parser *parser, TokenType expected_type, const char *err);
void error(Parser *parser, const char *message);
AstNode *produce_ast(Parser *parser, Token *tokens, int token_count);
AstNode *produce_ast(Parser *parser, Token *tokens, int token_count, bool isRepl);
void read_lines(const char *filename, Parser *parser);

#endif // PARSER_H
File renamed without changes.
1 change: 0 additions & 1 deletion src/backend/generator/expressions/generate_call.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ llvm::Value *generate_call(CallNode *call_node, llvm::LLVMContext &Context, llvm
}
}

llvm::errs() << *arg << "\n";
// Check if the argument is a pointer
if (arg->getType()->isPointerTy()) {
if (expected_type->isPointerTy()) {
Expand Down
Loading

0 comments on commit 13c7e5e

Please sign in to comment.