Commit Graph

130 Commits

Author SHA1 Message Date
Sameer Rahmani fc11896c28 Add the read and print functionality to the repl 2021-10-24 23:34:28 +01:00
Sameer Rahmani 3fb6fb3740 Change the reader interface to return errors instead of emiting them
* Change the `Result` interface to let the compiler use the concrete
  type in place of a `Result`
2021-10-24 12:34:20 +01:00
Sameer Rahmani fd66e47cd7 Fix all the tidy issues 2021-10-17 20:12:17 +01:00
Sameer Rahmani 55e0788bae Fix all the tidy issues on src 2021-10-17 16:06:52 +01:00
Sameer Rahmani 737226dbae Fix the reader tidy issues 2021-10-17 14:57:17 +01:00
Sameer Rahmani 54aa50f020 Fix the exprs dir's tidy issues 2021-10-17 14:33:16 +01:00
Sameer Rahmani bedaaba46f Fix namespace and src mgr tidy issues 2021-10-17 12:14:04 +01:00
Sameer Rahmani 1bdc8aa9e9 Fix context's tidy issues 2021-10-17 11:19:12 +01:00
Sameer Rahmani 5a9c256325 Add the panic function to diag and change getCurrentNS to return a ref 2021-10-13 11:27:54 +01:00
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