Activity

Ricardo

kept working on error and warning generation:
added a warning for unused variable expresions as shown in the picture below, fixed a bug where the filename inside the error would be wrong and also made it so functions would go through semantic analysis even if they have errors

Attachment
0
Ricardo

had to fix a couple of errors with error messages showing the wrong position of the error inside the code, i also added some color to the error messages and worked on improving the extension for the language

0
Ricardo

I reworked the error messages for both Parser.cppm and SemanticAnalyzer.cppm now they both follow this format

main.tgs:24:21: error: missing semicolon after ')'
24 | print("hello world")
                                   ^
Attachment
0
Ricardo

i refactored the error handling in the compiler.
i improved error handling in the function code generation by returning nullptr at the end of a function if an error was found instead of logging an error message and returning instantly.
I also enhanced error detection for missing semicolons, now when a statement has an error the parser will ignore every next token untill it finds the next semicolon as it’s possible to see in the video

Attachment
0
Ricardo

i started working on the compile options module adding argument parsing and error handling, reworked the main file for better clarity, added a filesystem library, also worked on the vscode extension for the language fixing the build and run shortcut, added an option to clear the terminal before running and reuse the same terminal every time instead of creating a new one

Attachment
Attachment
Attachment
0
Ricardo

Shipped this project!

I built a compiler for my own programming language, i already submitted this during SoM but i’ve since cchanged the syntax and rewrote some of the code

Ricardo

fixed a couple bugs that made declaring function overloads crash the compiler and one that didn’t let you declare bool functions and variables

0
Ricardo

made base type follow the camelCase naming convention instead of PascalCase and kept classes and structs with PascalCase the same way that rust does it

Attachment
0
Ricardo

started reworking the syntax, lexer and parser for better readability

0
Ricardo

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
0