Sameer Rahmani
ea0bc28f01
Fix the test cases to use reader::read instead of the Reader#read
2021-07-19 09:38:07 +01:00
Sameer Rahmani
5beffbc604
Fix the test cases of traits
2021-07-17 16:40:02 +01:00
Sameer Rahmani
616dca53fb
Add SLIR skeleton to start the generator
2021-06-08 22:01:08 +01:00
Sameer Rahmani
bfac2eff3f
Set fn name for functions via def
2021-06-01 20:47:46 +01:00
Sameer Rahmani
c21055716c
Fix some test cases related to call exprs
2021-05-24 21:17:33 +01:00
Sameer Rahmani
328c8c7e41
Fix the null reference issue in Call expr
2021-05-09 21:50:56 +01:00
Sameer Rahmani
0ce47a0b6a
Finish up the basic implementation of Call expr
2021-05-09 12:21:26 +01:00
Sameer Rahmani
ff82772cd6
Implement a basic environment setup/lookup via 'def' and 'list'
2021-05-08 19:00:24 +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
d0defdbf54
Add tests for MetaTrait concept
2021-05-03 22:45:35 +01:00
Sameer Rahmani
b121483f2b
Move the traits header to the appropriate place
2021-05-01 21:40:30 +01:00
Sameer Rahmani
179ef75793
Add A basic Trait like system using CRTP
2021-05-01 20:08:49 +01:00
Sameer Rahmani
6ce565163c
Add support for current namespace in the context
2021-04-29 23:39:58 +01:00
Sameer Rahmani
f2a76aa007
Add a minimal test case for namespace to pin down some behavior
2021-04-28 21:03:22 +01:00
Sameer Rahmani
33c6ebd3d3
Setup the ns table in the context class
2021-04-27 23:43:18 +01:00
Sameer Rahmani
32ddfc313f
Rename 'ast' type to 'Ast'
2021-04-25 23:07:08 +01:00
Sameer Rahmani
095d1872c1
Rename the 'node' type to 'Node'
2021-04-25 23:02:52 +01:00
Sameer Rahmani
c04c67ccbe
Add an environment implementation
2021-04-25 21:19:26 +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
5427b2ab00
Add a more complicated test to semantic analysis
2021-04-24 20:40:01 +01:00
Sameer Rahmani
c12c6b1281
Change the semantic analysis entrypoint to the 'analyze' fn
2021-04-24 20:18:33 +01:00
Sameer Rahmani
4aee3413ea
Analyze the value in the 'def' form
2021-04-24 19:10: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
f614d35b7f
Change toString format and finalize Def::isValid signature
2021-04-22 00:49:11 +01:00
Sameer Rahmani
751eb49538
Rename the Result success/error methods to be consistent with the coding style
2021-04-20 19:33:25 +01:00
Sameer Rahmani
17b778bc49
Move the Error expression to it's own namespace
2021-04-19 23:34:39 +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
3223fc6944
Restructure the source tree to have tests and impl files in src
2021-04-13 13:53:12 +01:00