Sam Vervaeck
c7a01621b6
bolt-test.ts: Make a few names more descriptive
2020-06-09 10:35:50 +02:00
Sam Vervaeck
a86324a3c9
Upgrade test infrastructure
...
- Enhance (de)serialization logic and slim down generated JSON
- Add more commands to `bolt-test` and improve support for aliases
2020-06-07 22:23:01 +02:00
Sam Vervaeck
608728ade9
Add a minimally working test infrastructure
2020-06-07 00:21:15 +02:00
Sam Vervaeck
3dcf91c520
Add a quick 'n dirty serializer for AST nodes
2020-06-07 00:18:02 +02:00
Sam Vervaeck
2a0e24213d
Add a POC test runner for the parser and scanner
2020-06-03 09:19:30 +02:00
Sam Vervaeck
1659d722cc
Fix errors and make project work again
2020-06-01 21:49:28 +02:00
Sam Vervaeck
1659cfa7ec
Fix parsing of BoltFunctionDeclaration in parser.ts
2020-06-01 20:11:25 +02:00
Sam Vervaeck
68942f4488
Fix some small compile-time and runtime errors
2020-06-01 20:10:54 +02:00
Sam Vervaeck
475f11782e
Swap code generator for AST definitions
2020-06-01 20:10:01 +02:00
Sam Vervaeck
5c7f2927ca
Add an experimental TypeScript-based AST specification
2020-05-31 20:49:59 +02:00
Sam Vervaeck
518631f3b8
Update frontend and integration with CLI
2020-05-31 20:48:13 +02:00
Sam Vervaeck
a140ffac9d
Update src/util.ts
2020-05-31 20:47:21 +02:00
Sam Vervaeck
0df11bdcc8
Fix some errors in AST specification
2020-05-31 10:36:35 +02:00
Sam Vervaeck
5e7b344e49
src/types.ts: Only make 'fn', 'struct' and 'type' introduce new types as declarations
2020-05-30 11:34:45 +02:00
Sam Vervaeck
0ae7fd565e
js/parser.ts: Remove some unused imports
2020-05-30 11:33:50 +02:00
Sam Vervaeck
5b619a1792
Fix reference to missing file
2020-05-30 11:33:28 +02:00
Sam Vervaeck
045f8a181f
Fix parsing of 'impl' and 'trait'
2020-05-30 11:33:16 +02:00
Sam Vervaeck
930bc57bc3
Update ast-spec.txt and compile with new treegen
2020-05-30 11:32:54 +02:00
Sam Vervaeck
1636a3c6f4
Add and configure Webpack as build tool
2020-05-30 11:32:06 +02:00
Sam Vervaeck
f01e82b532
Fix references to undefined DATETIME_FORMAT
2020-05-30 11:30:14 +02:00
Sam Vervaeck
dd53ca87f3
Move 'treegen' to seperate directory
2020-05-30 11:29:08 +02:00
Sam Vervaeck
4251c6eeaf
Make type checker produce first sane results
2020-05-29 20:33:04 +02:00
Sam Vervaeck
c2d101c25c
Major update to code and type checker
2020-05-29 18:44:58 +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
9757bf07ea
src/treegen/ast-template.js: Fix an obsolete stratement
2020-05-27 09:12:06 +02:00
Sam Vervaeck
ad525ec712
Fix some issues in SymbolResolver
2020-05-27 09:11:03 +02:00
Sam Vervaeck
672cc62778
src/ast.d.ts: Update to new spec
2020-05-27 09:10:00 +02:00
Sam Vervaeck
a426328e3a
Add missing 'typeNode' to BoltTypeParameter
2020-05-27 09:08:07 +02:00
Sam Vervaeck
b0649fd8ed
Make error checking on stdlib work again
2020-05-26 22:58:31 +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
ae41362367
Fix some issues in treegen
2020-05-26 20:59:44 +02:00
Sam Vervaeck
4197fe21dc
Update treegen to support narrowing of parent and child nodes
2020-05-26 19:02:33 +02:00
Sam Vervaeck
7afcc95af4
src/diagnostics.ts: Some fixes and better diagnostic printing
2020-05-26 08:39:46 +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
9b5cb6ad38
Add a first version of Lang.Bolt module
2020-05-24 19:12:03 +02:00
Sam Vervaeck
def4adba40
Re-write the type checker to be more robust
2020-05-24 11:17:56 +02:00
Sam Vervaeck
9ef9ef82d6
src/diagnostics.ts: Improve empty character handling in snippet printer
2020-05-24 11:00:40 +02:00
Sam Vervaeck
9415f7a2e7
Fix @memoize and make it more efficient
2020-05-23 23:08:40 +02:00