Commit Graph

179 Commits

Author SHA1 Message Date
Sameer Rahmani 6d34e58665 Fix the wrong constant opretation 2021-12-24 16:52:43 +00:00
Sameer Rahmani 3e82b71903 Fix the compatiblity issues with llvm version aff028f7d8322c625422febd3d8b9794746cdc5b 2021-12-15 17:26:08 +00:00
Sameer Rahmani b6ac7f3f5f Add the ast layer to the jit 2021-11-19 00:41:28 +00:00
Sameer Rahmani b1ce34db75 Fix the assert condition on getRootEnv 2021-11-17 17:50:09 +00:00
Sameer Rahmani b3d1151a8b Refactor the semantic analyzer to use the analysis state
* Refactor the semantic analyzer to use the new state struct
  which is just bunch of refs to the current ns and current env

* Add the `environments` vector to ns to store the environments
  and few helper functions to use it

* Add the `symbolList` (need a better name) to keep track of what
  symbols might be added to the namespace after calling `addTree`.
2021-11-17 17:37:45 +00:00
Sameer Rahmani 800105dbea Merge jit2 branch 2021-11-12 16:28:34 +00:00
Sameer Rahmani 86a6b985e4 Remove the namespace name from the symbol look up in JIT 2021-11-12 11:49:45 +00:00
Sameer Rahmani 981e5171b2 Setup the base none lazy jit 2021-11-10 19:40:51 +00:00
Mary 55780103f4 Merge reader.cpp and location.cpp 2021-11-09 22:30:47 +00:00
Sameer Rahmani 1dfc353fa4 Add the NSLayer to the jit 2021-11-06 21:23:37 +00:00
Sameer Rahmani 2911ead7a9 Add the compile on demand layer to the jit 2021-11-04 00:57:00 +00:00
Sameer Rahmani 0895a09db0 Revome the old clang driver approach for code generation 2021-11-03 18:27:20 +00:00
Sameer Rahmani 69e8782c67 finalize ep 12 2021-11-03 14:06:45 +00:00
Sameer Rahmani 5622b4de0c Prepare for ep 12 2021-11-02 22:05:34 +00:00
Sameer Rahmani 34d3513426 Start the new jit 2021-11-01 15:09:11 +00:00
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 cbb0b0428e Hide the clang-tidy behind a build option 2021-10-17 22:22:49 +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 b79f7a62c1 Fix the clang tidy's issues in serenec 2021-10-17 02:12:19 +01:00
Sameer Rahmani 895ff27a51 Remove useless null checks from the passes 2021-10-16 20:48:14 +01:00
Sameer Rahmani e5c5a68128 Clean up the slir lowering impl 2021-10-16 16:15:56 +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 c6e5bddf10 Move the linenoise to a serene dir to mark it as a local header 2021-10-13 09:49:50 +01:00
Sameer Rahmani c05d42107f Setup the serene-repl target with a basic REPL loop 2021-10-12 22:50:08 +01:00
Sameer Rahmani f473d1122b Change the license to GPL2 2021-10-12 20:51:03 +01:00
Sameer Rahmani 43dd4ac48d Add the RPATH posix fix support to libserene target 2021-10-12 14:45:46 +01:00
Sameer Rahmani e3fde6dfc1 Add link_what_you_use support to the build setup 2021-10-10 22:28:50 +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 54d85eac94 Fix the memory leak on pass failure in the namespace generate function 2021-10-06 21:07:56 +01:00
Sameer Rahmani 10015683f5 Refactor the passes name for slir lowering 2021-10-06 18:48:48 +01:00
Sameer Rahmani 2634fdb5f4 Clean up the src/ cmakefiles 2021-09-28 17:45:59 +01:00
Sameer Rahmani a174a3a342 Refactor the cmake script and move the binary into its own package 2021-09-28 17:11:50 +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 03926b3d22 Mark the precommit hook as executable 2021-09-16 17:56:12 +01:00
Sameer Rahmani 845cdfa7d5 Mark the precommit hook as executable 2021-09-16 17:47:35 +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