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
Sam Vervaeck
02b759a05b
stlib: Add draft of some IO primitives
2020-05-24 11:18:52 +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
Sam Vervaeck
aa1893918b
src/diagnostics.ts: Add column number to messages
2020-05-23 22:52:00 +02:00
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
742dd6ba5d
Update tsconfig.json
2020-05-23 15:04:51 +02:00
Sam Vervaeck
831ae626c3
Fix some compilation errors
2020-05-23 15:04:32 +02:00
Sam Vervaeck
98ddad8562
Update and clean up package dependencies
2020-05-23 14:21:00 +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
03892cf149
Update wording in README.md
2020-05-10 12:03:29 +02:00