Commit Graph

56 Commits

Author SHA1 Message Date
dc85a8b296 Avoid forward declaring the entry point without actually defining it 2022-08-26 17:33:03 +02:00
734537a528 implicit casts between integer/floating point types yay!! 2022-08-26 17:29:20 +02:00
6ce5d406bb FUNCTION RETURN TYPES!!!! 2022-08-26 16:22:40 +02:00
0d6651f813 Change -m* arguments to -* 2022-08-26 16:03:54 +02:00
5a0b183198 Check for entry point before code generation 2022-08-26 16:02:07 +02:00
cb5f41a7c8 Update Arguments 2022-08-26 15:55:45 +02:00
99f56d3a61 REFACTOR!! 2022-08-26 12:00:14 +02:00
59a80100db Location: Rewrite str and paren_str 2022-08-25 20:10:13 +02:00
a9a21b19e0 Change paren_str to use format_string, removing a warning 2022-08-25 20:02:23 +02:00
b1c7a26cfb You can now forward declare functions! 2022-08-25 19:15:43 +02:00
bae0d82f26 WE CAN MAKE FUNCTIONS NOW!!!!!!!!!!!!!!!!!!!!!!!!! 2022-08-25 18:49:43 +02:00
d341e90237 Return from unreachable spot 2022-08-24 16:35:05 +02:00
3f70d4b8b6 IT OUTPUTS OBJECT FILES!!!!!!!!!!!!!!!!!!!!!!!!!! 2022-08-24 16:24:32 +02:00
cc5013ec6f Run clang-format on project 2022-08-03 15:30:35 +00:00
072e58b276 Added UnaryOpNode class 2022-08-03 15:26:48 +00:00
3289ae0148 Added error on unfinished parsing 2022-08-03 15:22:13 +00:00
e0661f9f8f Run clang-format on project 2022-08-03 14:56:15 +00:00
7c130a0d40 Actually show errors 2022-08-03 14:47:51 +00:00
77317650f5 Added Result class for error handling while parsing 2022-08-03 14:44:35 +00:00
582ce26776 Add Result class inspired by Rust 2022-07-30 12:54:25 +00:00
1827b27996 Move FormatString and tclap into their own external/ directory 2022-07-30 12:38:52 +00:00
c06ca7bf99 Move FormatString and tclap into their own external/ directory 2022-07-30 12:37:37 +00:00
5efdc23006 Benchmark Parsing and IR Generation 2022-07-19 15:25:53 +02:00
3d2fa00db8 Changed a path so that VSCode's Intellisense stops complaining 2022-07-18 15:59:04 +02:00
085677bc2b Syscall* ASTNodes and LLVM IR generation for x86
Inline assembly for the win!
2022-07-18 15:57:16 +02:00
7522858897 basic LLVM IR building and parsing 2022-07-15 14:28:05 +02:00
98b14e6bf5 Finally, some real progress on the AST!! 2022-07-11 11:59:02 +02:00
ff90b07ac0 utils.h definition 2022-07-02 11:46:07 +02:00
c6038e8b61 doxygen test 2022-07-02 11:42:10 +02:00
416ad3dd85 Moved all benchmark code to main() 2022-06-22 18:19:27 +02:00
1f11d8ce4d benchmark() now takes a string
benchmark() now takes a message instead of getting the message from
__PRETTY_FUNCTION__, since it is more explicit
2022-06-22 18:16:45 +02:00
e4fd6c863a Updated Lexer::make_lexer to return a unique_ptr
This is part of my quest to replace all unneeded std::shared_ptrs for
std::unique_ptrs to improve performance, since there is no need for
reference counting for pointers that are uniquely used. I also had to
change the first parameter of Lexer::assign_parent_location to a
std::unique_ptr<Lexer>& so that it can accept the new result of
make_lexer.
2022-06-22 18:12:50 +02:00
8d71d9c120 benchmarking :) 2022-06-16 17:13:01 +02:00
de0b3ddec6 NEWLINE FOR THE WIN 2022-06-16 16:01:35 +02:00
e35e85fe74 FormatString.hpp in utils.h 2022-06-16 15:57:05 +02:00
8b1bb00d75 Precompiled Header :) 2022-06-16 15:56:10 +02:00
4f6a1235a0 used clang-format :) 2022-06-14 16:29:51 +02:00
608f3a36bd yes namespaces are neat but no 2022-06-08 20:19:27 +02:00
9ccb5e1a6b docs for FileIO, a very enjoyable namespace 2022-06-08 20:19:01 +02:00
09064b1581 More documentation for the Lexer 2022-06-08 20:06:56 +02:00
073a97c7b6 documentation for Lexer 2022-06-08 20:05:28 +02:00
d6daa8e5b3 Documentation Project is working well!! 2022-06-08 19:59:14 +02:00
9b217037c8 Updates to Token.h's documentation. 2022-06-08 19:49:09 +02:00
af43023732 DocumentationProject: StringConversion was easy 2022-06-08 19:46:14 +02:00
e83a5a003e Documentation Project: Token.h & Token.cpp 2022-06-08 19:44:09 +02:00
46a79b6efe Documentation Project
let's document all public functions in Sapphire :)
2022-06-08 19:34:16 +02:00
6672a10c08 m_index for Parser 2022-06-08 19:17:16 +02:00
6eb401d04d NOW IT SHOULD 2022-06-08 17:50:19 +02:00
f5495d0138 Now, It Should Build Fine. 2022-06-08 17:49:22 +02:00
5dfc8df9ca more parser stuff 2022-06-08 17:39:51 +02:00