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
|
66cecc77f3
|
Add the namespace table to the context
|
2021-04-26 21:29:44 +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
|
0e58304462
|
Create the boilerplate of the call expression
|
2021-04-25 22:56:31 +01:00 |
Sameer Rahmani
|
c04c67ccbe
|
Add an environment implementation
|
2021-04-25 21:19:26 +01:00 |
Sameer Rahmani
|
f9bd6cd567
|
Add the missing context header/impl files
|
2021-04-25 10:21:48 +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
|
7c35f6a95e
|
Add asserts to check for the first element of the list in def and fn forms
|
2021-04-24 18:04:04 +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
|
4fde47311e
|
Remove the old implementations to keep the source tree as clean as possible
|
2021-04-20 00:17:28 +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
|
9f90e42bbb
|
Setup the minimal rewrite wiring to rewrite 'def' to Def
|
2021-04-18 18:39:48 +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
|
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 |