|
ddff6cb365
|
language: today, we killed lambdas
|
2023-09-05 19:37:23 -07:00 |
|
|
073ea09b13
|
ast codegen: optional support for inlining visit
|
2023-09-05 18:59:42 -07:00 |
|
|
9f90e05d8a
|
ast: utilize extension functions to prevent larger stack frames from default interface methods
|
2023-09-05 17:06:52 -07:00 |
|
|
290d8d0f0a
|
evaluator: optimize the cost of defining a variable in a scope
|
2023-09-05 03:13:43 -07:00 |
|
|
63a90a599c
|
evaluator: functions now use their own evaluation visitor
|
2023-09-05 02:42:15 -07:00 |
|
|
9634a735ee
|
evaluator: ensure function definitions use root scope
|
2023-09-05 02:20:46 -07:00 |
|
|
725137c82f
|
tool: add support for measuring runtime of a program
|
2023-09-05 01:49:19 -07:00 |
|
|
2631b6752b
|
evaluator: inherit fast cache for calls to functions in a function definition
|
2023-09-05 01:43:59 -07:00 |
|
|
65f61fcd90
|
evaluator: implement an elaborate system that should mean that recursive functions don't require reaching far up the stack
|
2023-09-05 01:35:50 -07:00 |
|
|
cc23789203
|
evaluator: prevent double lookup when looking up value in a scope
|
2023-09-05 01:09:26 -07:00 |
|
|
7de8f8cd63
|
Prepare for benchmarking and profiling.
|
2023-09-05 01:02:13 -07:00 |
|
|
2f0ee43556
|
tool: use absolute path for root
|
2023-09-04 22:46:36 -07:00 |
|
|
e7f36e0524
|
Fix -march=compatibility for GraalVM
|
2023-09-04 22:33:38 -07:00 |
|
|
174d51ca1c
|
Auto-generate the AST.
|
2023-09-04 22:13:58 -07:00 |
|
|
f06ea93dc4
|
Significant progress on AST codegen.
|
2023-09-04 18:38:09 -07:00 |
|
|
edec706ed4
|
Fix NodeType hierarchy.
|
2023-09-04 03:09:09 -07:00 |
|
|
e49ad7c4ba
|
fn -> func in README
|
2023-09-04 03:04:36 -07:00 |
|
|
bfd24154a8
|
Fix README
|
2023-09-04 02:39:40 -07:00 |
|
|
4aa516f0fb
|
Fix some overqualifications due to IDE renaming.
|
2023-09-04 02:38:09 -07:00 |
|
|
3545aa076f
|
Introduce the requirement of let for assignment.
|
2023-09-04 02:33:13 -07:00 |
|
|
128f40bcf4
|
Split out all code into modules.
|
2023-09-04 01:56:24 -07:00 |
|
|
d46ea1e307
|
Multi-module arrangement and the start of AST generation.
|
2023-09-03 23:15:21 -07:00 |
|
|
bf3967544a
|
Complex import sample and support for import dependency cycles.
|
2023-09-03 02:41:02 -07:00 |
|
|
4f567eb287
|
Exportable functions, common frontend, and scoped imports.
|
2023-09-03 02:26:21 -07:00 |
|
|
7a771980e0
|
Prepare for CFE.
|
2023-09-03 01:11:27 -07:00 |
|
|
d572a5c732
|
Well that's a bad mistake.
|
2023-09-02 23:35:28 -07:00 |
|
|
ed5bbec004
|
Implement a very dumb import system.
|
2023-09-02 23:28:40 -07:00 |
|
|
e7be1f622d
|
fn -> func
|
2023-09-02 21:07:59 -07:00 |
|
|
b1f9e02253
|
Declaration based compilation units.
|
2023-09-02 20:22:08 -07:00 |
|
|
04c78c35e0
|
Enhanced indention support.
|
2023-09-02 19:38:27 -07:00 |
|
|
62ba662a91
|
Fix attribution of tokens.
|
2023-09-02 17:01:56 -07:00 |
|
|
941b201549
|
Define node visitor order based on parsing order.
|
2023-09-02 15:11:25 -07:00 |
|
|
900e3f1a1c
|
Implement token node attribution and a Dart compiler.
|
2023-08-30 03:54:44 -07:00 |
|
|
743bc00bab
|
Cleanup parser and extract common logic.
|
2023-08-30 03:15:13 -07:00 |
|
|
7f0b9ca8e3
|
Meta tokenizer.
|
2023-08-25 23:55:09 -07:00 |
|
|
1c300b6109
|
Remove unused supression.
|
2023-08-23 23:10:20 -07:00 |
|
|
ddde99f38d
|
String literal support.
|
2023-08-22 21:58:56 -07:00 |
|
|
c418694307
|
Implement frontend layer to simplify cli commands.
|
2023-08-22 19:54:21 -07:00 |
|
|
4ec53e1209
|
Implement AST serialization.
|
2023-08-21 23:31:40 -07:00 |
|
|
05cb52bc32
|
Add reprint command to regenerate program from AST.
|
2023-08-21 23:17:30 -07:00 |
|
|
1445490770
|
An actual command line tool to run pork programs.
|
2023-08-21 23:08:56 -07:00 |
|
|
e12b51e8a7
|
Implement syntax highlighter.
|
2023-08-21 20:15:31 -07:00 |
|
|
95fe6e9abb
|
Add support for not equals (!=) infix operation.
|
2023-08-21 02:34:33 -07:00 |
|
|
0b3700667d
|
Add support for line comments.
|
2023-08-21 02:22:43 -07:00 |
|
|
5455846d7a
|
Add support for block comments.
|
2023-08-21 02:15:52 -07:00 |
|
|
5f4d74008e
|
Add check to make sure re-parsed AST is equal.
|
2023-08-21 00:59:55 -07:00 |
|
|
1de73ed855
|
AST equals and hashCode
|
2023-08-21 00:58:05 -07:00 |
|
|
d92dc8d904
|
Restructure AST to make roles more clear.
|
2023-08-21 00:47:14 -07:00 |
|
|
624b05605a
|
Validate token soundness.
|
2023-08-21 00:29:14 -07:00 |
|
|
ce1e262c05
|
Tokenizer now always produces whitespace, parser ignores whitespace, and token DSL.
|
2023-08-21 00:14:58 -07:00 |
|