Commit graph

37 commits

Author SHA1 Message Date
Sam Vervaeck
2a0e24213d Add a POC test runner for the parser and scanner 2020-06-03 09:19:30 +02:00
Sam Vervaeck
1659cfa7ec Fix parsing of BoltFunctionDeclaration in parser.ts 2020-06-01 20:11:25 +02:00
Sam Vervaeck
518631f3b8 Update frontend and integration with CLI 2020-05-31 20:48:13 +02:00
Sam Vervaeck
045f8a181f Fix parsing of 'impl' and 'trait' 2020-05-30 11:33:16 +02:00
Sam Vervaeck
884be8f9ec Small fixes and major enhancements to TypeChecker 2020-05-28 14:08:49 +02:00
Sam Vervaeck
ce8c0aa7a1 Fix symbol resolution and error handling 2020-05-27 20:59:45 +02:00
Sam Vervaeck
05b024c3f4 Update code base
- Fix some issues in the parser and the AST spec
 - Fix invalid union types emitted by treegen
 - Fix and extend the Evaluator a bit
 - Swich API of type checker and make it store checking errors
   on the Syntax object itself
2020-05-27 19:57:15 +02:00
Sam Vervaeck
f765ba6115 Fix issue in launch.json 2020-05-27 17:18:05 +02:00
Sam Vervaeck
a426328e3a Add missing 'typeNode' to BoltTypeParameter 2020-05-27 09:08:07 +02:00
Sam Vervaeck
ffb0e2a8c0 Major update to code base
- Extended and fixed some issues in the parser
 - Complete rewrite of TypeChecker as a SymbolResolver
 - Created basic structure for a new class TypeChecker
 - Introduces verification passes
 - Updated frontend and all bits depending on it
2020-05-26 21:03:28 +02:00
Sam Vervaeck
828af8432e Fix multiple issues with symbol resolver 2020-05-25 17:46:01 +02:00
Sam Vervaeck
e0566233c0 Improve symbol resolution algorithms in type checker 2020-05-25 15:52:19 +02:00
Sam Vervaeck
17d91ef36c Add initial support for packages and imports 2020-05-25 11:29:51 +02:00
Sam Vervaeck
ec746b655d Fix some errors while parsing and checking stdlib 2020-05-24 22:41:46 +02:00
Sam Vervaeck
d0aed2405f Some minor fixes and extensions to parser and type checker 2020-05-24 22:23:25 +02:00
Sam Vervaeck
95d1b8825e Remove a dangling console.log()-statement 2020-05-24 21:52:08 +02:00
Sam Vervaeck
79f150bb4b Move some declarations from src/util.ts to src/common.ts 2020-05-24 21:50:29 +02:00
Sam Vervaeck
8f661f49a7 Enable parsing member expressions 2020-05-24 21:19:11 +02:00
Sam Vervaeck
aad00c5024 Add support in parser for even more nodes 2020-05-24 21:03:22 +02:00
Sam Vervaeck
1a349244a0 Extend parser and scanner to support more constructs 2020-05-24 20:17:42 +02:00
Sam Vervaeck
def4adba40 Re-write the type checker to be more robust 2020-05-24 11:17:56 +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
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
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
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