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
10015683f5
Refactor the passes name for slir lowering
2021-10-06 18:48:48 +01:00
Sameer Rahmani
225ff6bba1
Refactor the main cmake list file and fix the unused warns
2021-09-27 13:05:15 +01:00
Sameer Rahmani
6ef69d329a
Move the semantic analysis process into the namespace
2021-09-25 16:18:33 +01:00
Sameer Rahmani
dc051797ee
Fix the fn slir generation proccess
2021-09-23 19:24:51 +01:00
Sameer Rahmani
00869e6c8d
Replace some of the Result types with llvm::Optional
2021-09-19 10:27:13 +01:00
Sameer Rahmani
ba77f9bc99
Fix the readNamespace in the serenec
2021-09-17 13:49:55 +01:00
Sameer Rahmani
5ff52c277a
Clean up the source manager
2021-09-15 15:04:11 +01:00
Sameer Rahmani
91aa0148d6
Create a basic print function for the diagnostic class
2021-09-12 20:31:12 +01:00
Sameer Rahmani
766cf2dfed
Add the error code to the diagnostic
2021-09-12 20:31:12 +01:00
Sameer Rahmani
b285172597
Finalize the new approach to reading chars in the reader
2021-09-12 20:31:12 +01:00
Sameer Rahmani
70df6f4368
Remove the ungetChar method from reader
2021-09-12 20:31:12 +01:00
Sameer Rahmani
5491660261
Add our own dianostic engine
2021-09-12 20:31:12 +01:00
Sameer Rahmani
800e3c5fc8
Introduce the notion of ns and filename in the reader and location
2021-09-12 20:31:11 +01:00
Sameer Rahmani
f357b5e9d3
Add the a source manger and integrate the reader with it
2021-09-12 20:31:10 +01:00
Sameer Rahmani
7410ca3d59
Upgrade to llvm 13rc2
2021-08-28 18:01:48 +01:00
Sameer Rahmani
36b95fe1e5
Tidy up the target files for episode 7
2021-08-21 18:46:49 +01:00
Sameer Rahmani
a1d3ae8c9c
Finish up the wiring of the very basic JIT implementation.
2021-08-17 09:57:26 +01:00
Sameer Rahmani
aba81bfcae
Move over a modified version of MLIR jit. Add the pch
2021-08-17 09:57:26 +01:00
Sameer Rahmani
8af6452457
Fix the serenec to use the new ns api
2021-08-17 09:57:26 +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
06ed3b0c69
Add several TODOs for the asserts we need to remove
2021-08-07 21:09:18 +01:00
Sameer Rahmani
32b406fdad
Prepare tho source tree for episode number 6
2021-08-07 17:41:19 +01:00
Sameer Rahmani
54b4458a8d
Cleanup the exprs namespace for the episode 5
2021-07-30 12:17:41 +01:00
Sameer Rahmani
e00156b9e7
Add the 'target' emit action as a temporary action to generate target code
2021-07-27 19:13:19 +01:00
Sameer Rahmani
f8b66934a1
Remove the unused 'toString' member function for readar classes
2021-07-19 15:50:59 +01:00
Sameer Rahmani
5b5e40c012
update the video.org for episode 4
2021-07-19 15:44:39 +01:00
Sameer Rahmani
cb5ea22081
Clean up the reader namespace code
2021-07-17 19:39:56 +01:00
Sameer Rahmani
fc0c41e893
Connect the Fn expr with FnOp
2021-06-25 21:47:24 +01:00
Sameer Rahmani
098365425d
Add a very basic 'fn' operator to slir
2021-06-23 20:34:57 +01:00
Sameer Rahmani
7f7f49d3ac
Add Basic setup for lowering the llvm dialect to the LLVMIR
2021-06-21 11:03:18 +01:00
Sameer Rahmani
bd4dc2301c
Add the LIR phase to lower everything to the llvm dialect
2021-06-17 13:19:19 +01:00
Sameer Rahmani
ecedb14a12
Refactor the IR generation/dump process
2021-06-16 20:19:42 +01:00
Sameer Rahmani
cb9914f6eb
Fix the memory leak on Namespace
2021-06-15 01:21:48 +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
7e319ece13
Add the bare min pass to convert slir to std dialect
2021-06-11 22:06:44 +01:00
Sameer Rahmani
36eef7222f
Setup a very basic IR generation process
2021-06-09 13:29:14 +01:00
Sameer Rahmani
d52c6adc1d
Add SLIR missing files
2021-06-08 22:03:12 +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
0ce47a0b6a
Finish up the basic implementation of Call expr
2021-05-09 12:21:26 +01:00
Sameer Rahmani
f2049b5ae8
Use the locale DenseMapInfo for std::string
2021-05-08 21:52:37 +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
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
d0defdbf54
Add tests for MetaTrait concept
2021-05-03 22:45:35 +01:00
Sameer Rahmani
4040b1ff45
Add documentation to the traits.h
2021-05-02 01:07:04 +01:00