Commit Graph

59 Commits

Author SHA1 Message Date
Sameer Rahmani 3b6d165baa Replace the shared_ptr in the node with a unique ptr 2021-04-17 00:18:13 +01:00
Sameer Rahmani 1330bad6fb Add a new type alias for Result<shared_ptr<Expressoin>> 2021-04-14 21:59:22 +01:00
Sameer Rahmani 3223fc6944 Restructure the source tree to have tests and impl files in src 2021-04-13 13:53:12 +01:00
Sameer Rahmani 470f23acef Short circute the 'analyze' method of expressions for now 2021-04-13 00:45:08 +01:00
Sameer Rahmani 8b4f2941cf Add the Result type as an error wrapper type 2021-04-12 23:18:32 +01:00
Sameer Rahmani f4c28ae722 Upgrade to C++17 for now 2021-04-11 18:36:00 +01:00
Sameer Rahmani 11df9a6d1d Add some test cases for the reader 2021-04-11 15:13:10 +01:00
Sameer Rahmani 555e770c01 Finalize migration to new expression interface 2021-04-11 00:02:56 +01:00
Sameer Rahmani e4b0823e49 Fall back to the OOP design and setup the test env 2021-04-10 15:36:16 +01:00
Sameer Rahmani 944efcd1a9 Finish up the single dispatcher 2021-04-08 23:41:52 +01:00
Sameer Rahmani fd211653f2 Fix the expression instantiation 2021-04-08 19:59:47 +01:00
Sameer Rahmani a42259d684 Add c++20 support flag to cmake 2021-04-07 19:56:54 +01:00
Sameer Rahmani c1bec1ec99 Document the Expression type 2021-04-07 01:01:12 +01:00
Sameer Rahmani cd6552960d Fix the cmake file to use the new reader files 2021-04-06 19:13:24 +01:00
Sameer Rahmani 08e661c508 Rename the reader header files 2021-04-06 18:28:50 +01:00
Sameer Rahmani e620d8dcb2 rename location.hpp to location.h 2021-04-06 18:24:05 +01:00
Sameer Rahmani f1f77386ae Finish up the new Expression implementation 2021-04-06 16:20:20 +01:00
Sameer Rahmani 0020f95a80 Setup tests via Catch2 2021-04-06 00:21:43 +01:00
Sameer Rahmani f73cfe7aaf Introduce the new polymorphic approach to expressions 2021-04-05 19:02:30 +01:00
Sameer Rahmani 062b24e701 Add doxygen support for the documentation 2021-04-05 17:51:09 +01:00
Sameer Rahmani 9ff707c726 Save the progress before introducing the semantic analysis 2021-04-04 23:08:57 +01:00
Sameer Rahmani 53ec0c240a Change the different generator methods to be a polymorphic function 2021-04-01 23:37:12 +01:00
Sameer Rahmani f6ca246f0d Implement classof in derived expressions 2021-03-31 19:37:32 +01:00
Sameer Rahmani 3a899d82b3 Add Location and LocationRange support to expressions 2021-03-29 01:02:29 +01:00
Sameer Rahmani f50e20567a Move reader related files to the reader namespace 2021-03-28 23:14:32 +01:00
Sameer Rahmani e9daeb9d13 Add support for a dummy value operation to demonstrate a value 2021-03-28 10:53:32 +01:00
Sameer Rahmani 21b1958ecf Add symbol type to the dialect 2021-03-26 21:39:25 +00:00
Sameer Rahmani 50c2054f0a Add a barebone MLIR dialect with the necessary cmake changes" 2021-03-25 00:53:44 +00:00
Sameer Rahmani 737b6e1a41 Remove unused code to simplify the project to the bare min 2021-03-23 22:31:20 +00:00
Sameer Rahmani 04a50eb65b Update the serene executable to use llvm::cl and spit out the AST 2021-03-22 19:53:10 +00:00
Sameer Rahmani a8557125c4 Add the mapping for builtins special forms to namespace 2020-08-03 20:21:46 +01:00
Sameer Rahmani dfa64e8f26 Fix some of the hints from the 1on1 session on the refactoring the code 2020-08-03 12:39:20 +01:00
Hamid 18910a4a2c Refactoring 2020-08-02 22:08:35 +02:00
Sameer Rahmani f008470de3 Finish the basic implementation of the special form 2020-08-01 21:32:21 +01:00
Sameer Rahmani ff3bceac62 Change id attribute of AExpr to virtual method 2020-08-01 20:14:51 +01:00
Sameer Rahmani 1238898ddc Add a very basic 'def' special form 2020-08-01 19:58:34 +01:00
Sameer Rahmani b27611d5ba Create a very basic compiler setup to wire everything in the most basic way 2020-07-25 18:59:00 +01:00
Sameer Rahmani 6e36ce1711 Add the basic class structure of the compiler, namespace and state 2020-07-25 15:49:19 +01:00
Sameer Rahmani 2eda5f8d5f Setup clang-format as a githook and apply it to the source 2020-07-23 21:47:13 +01:00
Sameer Rahmani 8e90ea9813 Finish the first implementation of the compiler level list 2020-07-23 17:13:16 +01:00
Sameer Rahmani d55b4a27f5 Create the PoC of API of the List 2020-07-22 18:58:15 +01:00
Sameer Rahmani 576eba6451 Add a very basic List implementation 2020-07-21 22:23:11 +01:00
Sameer Rahmani cbea0c8e28 Add the first draft of a very basic reader, list and symbol impl 2020-07-16 15:48:06 +01:00
Sameer Rahmani 51b9f4a307 Add the build setup for the C++ implementation 2020-07-10 18:06:26 +01:00
Sameer Rahmani 72fb1f1a2c Commit the final changes before moving to C++ :( 2020-07-09 13:52:46 +01:00
Sameer Rahmani 402e267e7c Add basic namespace and scope support 2020-07-06 14:18:29 +01:00
Sameer Rahmani 2756349204 Add a very basic Namespace datastructure 2020-06-27 22:12:09 +01:00
Sameer Rahmani 08a651019f Add Symbol struct to represent symbols 2020-06-20 22:14:48 +01:00
Sameer Rahmani 3454a44f65 Add inkwell to replace llvm-sys and add the types module 2020-06-20 22:02:17 +01:00
Sameer Rahmani 0b348cff82 Add clap to manage the cli arguments 2020-06-20 18:20:10 +01:00