Commit Graph

46 Commits

Author SHA1 Message Date
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
2452d78205 throw_error is now [[ noreturn ]] 2022-06-08 17:39:42 +02:00
c962c22017 Fixed a little segfault hehe :)) 2022-06-07 18:57:41 +02:00
7a320fb70a Updates hehe :) 2022-06-07 18:12:43 +02:00
60059e1091 ast stuff 2022-06-02 18:25:01 +02:00
f1668853dd Lots of rewrites.
Planning to use LLVM to make stuff easier. Also, moved the random
sapphire stuff to actual examples in an actual examples/ folder. Also
started a standard library even if the compiler is not ready, because
why not?? Also, it helps the examples.
2022-05-28 20:44:26 +02:00
1ba46c44cf Initial commit (added Sapphire to source control) 2022-03-11 17:00:09 +01:00