Commit Graph

34 Commits

Author SHA1 Message Date
Sameer Rahmani f473d1122b Change the license to GPL2 2021-10-12 20:51:03 +01:00
Sameer Rahmani 7a456e2d54 Add support for a shared libserene and make it the default behaviour 2021-10-10 21:34:14 +01:00
Sameer Rahmani 3ace6ec260 Chaneg the namespace to generate modules instead of owning them 2021-08-17 09:57:26 +01:00
Sameer Rahmani 54b4458a8d Cleanup the exprs namespace for the episode 5 2021-07-30 12:17:41 +01:00
Sameer Rahmani 782c786baf Reformat files with the new clang-format config 2021-06-13 22:58:46 +01:00
Sameer Rahmani 65b6aa4020 Add the IR generation facilities to Namespace and Expression 2021-06-13 22:40:58 +01:00
Sameer Rahmani bbf3bd3660 Clean up the unsed expr traits 2021-05-06 21:00:58 +01:00
Sameer Rahmani fde6636ca2 Modify the Node and MaybeX to contain Serene's Error instead of llvm
Previously, MaybeNode and MaybeAST use to have the llvm::Error as the
error type. But after this change they will have a `vector` of
`serene::errors::Error` as the error type.
2021-05-06 19:17:57 +01:00
Sameer Rahmani add3765982 Add necessary Traits to construct an Expression alternative 2021-05-04 21:10:52 +01:00
Sameer Rahmani c1c1421531 Rename 'maybe_ast' type to 'MeybeAst' 2021-04-25 23:08:40 +01:00
Sameer Rahmani 32ddfc313f Rename 'ast' type to 'Ast' 2021-04-25 23:07:08 +01:00
Sameer Rahmani 7bc9535617 Rename 'maybe_node' type to 'MaybeNode' 2021-04-25 23:05:21 +01:00
Sameer Rahmani 095d1872c1 Rename the 'node' type to 'Node' 2021-04-25 23:02:52 +01:00
Sameer Rahmani 4084135851 Extract SereneContext to the top level namespace 2021-04-25 09:56:28 +01:00
Sameer Rahmani 499852c48f Rename Semantic Context to Serene Context to be used in other phases too 2021-04-25 09:17:58 +01:00
Sameer Rahmani ac2814154c Add 'Call' to the ExprType 2021-04-25 09:09:22 +01:00
Sameer Rahmani 573550ca07 Add Fn expression and List rewrite to Fn 2021-04-24 14:39:43 +01:00
Sameer Rahmani 16d02a0fb1 Finish up the basic 'def' rewrite rules 2021-04-23 16:48:14 +01:00
Sameer Rahmani 806987b0ad Setup the minimal semantic analysis foundation 2021-04-22 10:20:15 +01:00
Sameer Rahmani a486b03d10 Add a very basic Error Expression to be used in semantic analysis 2021-04-19 19:49:05 +01:00
Sameer Rahmani 30c54f9e73 Add more tests for List to test and iterators 2021-04-18 17:32:33 +01:00
Sameer Rahmani 7c9ee97895 Finish up the analyze setup before moving back to vector/shared_ptr setup 2021-04-17 19:36:25 +01:00
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 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 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 c1bec1ec99 Document the Expression type 2021-04-07 01:01:12 +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