Commit graph

85 commits

Author SHA1 Message Date
Sam Vervaeck
2b5819ab52 Fix errors in src/diagnostics.ts 2020-05-23 22:49:20 +02:00
Sam Vervaeck
e6c54052f1 Integrate type checker in frontend 2020-05-23 22:49:20 +02:00
Sam Vervaeck
846536023d Import source code printer for diagnostic messages 2020-05-23 22:49:06 +02:00
Sam Vervaeck
2a873484c4 Extend the type checker to support function calls 2020-05-23 22:23:44 +02:00
Sam Vervaeck
32a9d288de Re-write the type-checker to make it more extensible 2020-05-23 21:15:20 +02:00
Sam Vervaeck
831ae626c3 Fix some compilation errors 2020-05-23 15:04:32 +02:00
Sam Vervaeck
f3d8b021c2 Major restructuring
- Add a new `TransformManager` that automatically sets up pipelines
 - Integrate with a small IoC-like-framework
 - Add template code for some new transformations
 - `Program` is not seperate from a new class `Frontend`
 - Fixed some bugs in `src/treegen/`
2020-05-23 14:18:20 +02:00
Sam Vervaeck
3f96b88866 Add a small IoC framework 2020-05-23 12:01:40 +02:00
Sam Vervaeck
70064860d4 Make more JavaScript nodes parsable 2020-05-23 00:00:02 +02:00
Sam Vervaeck
02948613a9 Extend JavaScript scanner and parser 2020-05-22 23:04:40 +02:00
Sam Vervaeck
5189804c00 Add support for parsing 'trait' and 'impl' 2020-05-22 21:57:42 +02:00
Sam Vervaeck
d1ba2cb540 Update code
- Move foreign language interfaces to seperate directories
 - Extend the JavaScript scanner and parser to be able to parse simple
   call expressions and member expressions
 - Fix multiple issues in expander.ts
 - Move shared scanning/parsing utilities to util.ts
2020-05-22 21:29:14 +02:00
Sam Vervaeck
70b219d6df Update the parser and related files
- Extend the parser to support many more constructs
 - Add basic structure for parsing embedded JavaScript
 - Remove and update some AST definitions
 - Fix some bugs
2020-05-22 19:51:49 +02:00
Sam Vervaeck
9e139c40a9 Another set of fixes 2020-05-10 23:50:53 +02:00
Sam Vervaeck
12c9317ea0 Fix some type-checking errors 2020-05-10 19:05:37 +02:00
Sam Vervaeck
f8918bfa79 Fix even more errors 2020-05-10 18:54:57 +02:00
Sam Vervaeck
824cf57c13 Fix most error in src/parser.ts 2020-05-10 18:21:44 +02:00
Sam Vervaeck
7aa86d2789 Integrate with new AST system 2020-05-10 15:57:44 +02:00
Sam Vervaeck
1721a19078 Small cleanup of 'treegen' and Makefile 2020-05-10 11:59:59 +02:00
Sam Vervaeck
f64da05a36 Undo creation of workspaces and merge treegen with main source 2020-05-10 11:58:07 +02:00
Sam Vervaeck
a48454f960 Simplify AST definitions 2020-05-10 00:19:10 +02:00
Sam Vervaeck
f1d35917f2 Add WIP 2020-03-03 14:53:54 +01:00
Sam Vervaeck
a1304e177d Major update to code
- Many small fixes to parser and scanner
 - Extended type checking algorithm for existing nodes
 - Add partial support for module definitions and records
 - Add an evaluator
 - Prepare for new version of macro system
2020-02-26 18:53:28 +01:00
Sam Vervaeck
efa3c4d835 Fix some bugs and add minimal support for imports 2020-02-25 18:34:21 +01:00
Sam Vervaeck
5e111d8a65 Fix parser error message 2020-02-25 17:59:36 +01:00
Sam Vervaeck
c421721766 Add a very naive compiler 2020-02-25 17:55:17 +01:00
Sam Vervaeck
6c7172c0ce Add first draft of Parser and Expander 2020-02-25 12:26:21 +01:00
Sam Vervaeck
f79c599e19 Modify JSON emitter to not emit origNode 2020-02-25 12:25:25 +01:00
Sam Vervaeck
aae14a275c Update AST to support multiple original nodes 2020-02-25 10:49:35 +01:00
Sam Vervaeck
365de4e3f7 Split Punctuated into subclasses for parser 2020-02-24 20:47:10 +01:00
Sam Vervaeck
96aa6b6991 Fix support for single-character tokens 2020-02-24 19:23:34 +01:00
Sam Vervaeck
d06c8f577d Add support for paring sentences 2020-02-24 19:16:33 +01:00
Sam Vervaeck
917770416b Enable source-map-support 2020-02-24 18:35:28 +01:00
Sam Vervaeck
6921aabf2a Fix punctuation parsing 2020-02-24 18:35:07 +01:00
Sam Vervaeck
bcec19ecc8 Add a simple scanner for identifiers 2020-02-24 18:30:39 +01:00