Commit graph

124 commits

Author SHA1 Message Date
Sam Vervaeck
5c7f2927ca Add an experimental TypeScript-based AST specification 2020-05-31 20:49:59 +02:00
Sam Vervaeck
d33f99c83d treegen: Add some enhancements to generated code 2020-05-31 20:49:18 +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
02e7cb5664 treegen: Fix snippets 2020-05-30 16:06:59 +02:00
Sam Vervaeck
87717b7156 Temporarily add test.bolt 2020-05-30 11:35:14 +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
88f1402503 Update root Makefile to only cover main project 2020-05-30 11:29:39 +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
5fc5a95ed4 Add local VSCode configuration for now 2020-05-27 09:12:49 +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
33e08166ff Add an experimental arbitrary-precision integer types 2020-05-27 09:09:14 +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
8cb16db91a stdlib/lang/bolt.bolt: Rename 'Syntax' to 'Node' 2020-05-26 21:04:06 +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
3a7c65025f stdlib/lang/bolt.bolt: Mock a macro that generates the Bolt AST 2020-05-25 22:46:22 +02:00
Sam Vervaeck
d72301fa07 Fix some import errors in standard library 2020-05-25 21:22:40 +02:00
Sam Vervaeck
03c165b118 Fix some compile errors in standard library 2020-05-25 17:46:23 +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
53b253b9e9 Some minor fixes to standard library 2020-05-25 11:05:06 +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
1068dae5d6 Clean up to make room for new standard library 2020-05-24 21:35:42 +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