Commit Graph

57 Commits

Author SHA1 Message Date
d45eb93df6 Allow intercepting comments when tokenizing
It appears that this isn't necessary for the compiler at this point, but might be good to have for future tooling.
2018-03-17 19:41:48 +01:00
faac3c31eb AST cleanup; Definition generators scaffolding 2018-03-17 01:37:05 +01:00
081ac768ae Give some love to the linter 2018-03-13 14:03:57 +01:00
23a7db4dc3 Ensure consistent variable modifiers
'var' is a distinct local or mutable global, 'let' a shared local
2018-03-13 02:32:10 +01:00
7870e3ac18 Generic function type aliases 2018-03-12 17:44:09 +01:00
423533c6b0 Implement function types / indirect calls / trampolines (#39) 2018-03-12 14:06:39 +01:00
d81ce5f907 Retain wrap state in parenthesized expressions; Void statements fwiw 2018-03-04 18:52:12 +01:00
d4c00eaba3 Revised implicit type conversions; Initial function expression compilation 2018-02-28 01:48:01 +01:00
bda6cb9792 Initial function expression parsing 2018-02-27 02:28:36 +01:00
8dc517e352 Cleanup; Initial tslint integration 2018-02-25 00:13:39 +01:00
48cbbbbd68 More cleanup 2018-02-16 18:57:51 +01:00
3d7e8b2b7a More cleanup and a possible fix for #29 2018-02-16 11:55:13 +01:00
d31e484b15 Cleanup; Fix an issue with 'let' declarations reusing a local 2018-02-14 19:21:31 +01:00
b1c6ccab2a Use long.js in JS and native i64 in WASM; Compile literals more thoroughly 2018-02-14 09:18:43 +01:00
ad92d91f01 Move built-in declarations to actual sources; Remove declaration is null checks; Resolve calls 2018-02-09 02:31:48 +01:00
4736227879 Update binaryen to latest nightly; Source map support 2018-02-02 03:07:54 +01:00
de066fc128 Preliminary strings
While not well-wrought, it's at least possible now to log some stuff when debugging
2018-01-27 05:35:14 +01:00
64c939fdc4 Initial implementation of 'new'
This doesn't yet call the constructor or use provided parameters and just allocates raw memory
2018-01-19 16:13:14 +01:00
7be4f9fabb Control flow evaluator; Support for block-level let/const variables 2018-01-18 23:34:12 +01:00
9cdfa35938 Initial implementation if ugc, see #16; Fix tests 2018-01-18 01:48:03 +01:00
d1fed692f6 Moved AST serialization to extra (not ultimately needed by asc) 2018-01-15 19:00:18 +01:00
2c009c67d3 Initial element access compilation; Carefully approaching std array 2018-01-13 23:38:07 +01:00
2df318a7ec Implicitly alias stdlib exports as program globals, see #8 2018-01-12 15:36:17 +01:00
3980e53bb7 Let the optimizer decide what it takes to become a select 2018-01-12 05:03:25 +01:00
0de05b543b Harden regexp parsing a bit 2018-01-07 18:15:21 +01:00
7c8670ac35 Regexp literal support; Properly resolve statically inherited members 2018-01-07 15:07:46 +01:00
d8fa04f910 Operator overload preparations 2018-01-06 10:20:38 +01:00
9846f6c033 Add showcase compiler test incl. respective features and fixes 2018-01-05 18:19:32 +01:00
2d0f5f3087 Comma expressions fwiw 2018-01-05 01:55:59 +01:00
2b182b505e Make sure changetype works 2018-01-02 05:02:05 +01:00
3add4624c5 Initial instance methods and field layout; More cleanup 2018-01-01 20:27:21 +01:00
2888ba14ad PSON decoder example using namespaced imports 2017-12-30 05:11:58 +01:00
c67f87a988 Update binaryen.js and enable tee optimizations 2017-12-29 04:42:20 +01:00
4207f6460d Warn on constant locals not being actual constants; Simplify changetype 2017-12-28 17:16:37 +01:00
2ed3c22031 Cleanup: Make use of type inference and use 'var' in functions to match actual WebAssembly semantics 2017-12-28 04:09:40 +01:00
4baff99125 Refactoring; Add tslint fwiw 2017-12-24 03:19:47 +01:00
ca9c79185b Basic type inference 2017-12-23 13:48:04 +01:00
ad298c7bea Asterisk imports parsing; Pussyfooting around stdlib 2017-12-23 00:48:54 +01:00
9632777842 Type declaration parsing; Future feature references 2017-12-19 17:49:15 +01:00
aa563a9a5a Cleanup; Documentation 2017-12-18 03:46:36 +01:00
2720515982 More stdlib setup 2017-12-16 17:54:53 +01:00
85a9fb1eb5 Stdlib preparations 2017-12-16 02:27:39 +01:00
c6c36613e6 Accessor parsing; Cleanup 2017-12-14 11:55:35 +01:00
99b0fdf7a8 Namespaces 2017-12-13 23:24:13 +01:00
d0b189b437 CString/CArray was an illusion; Update and test tsconfig files 2017-12-11 02:03:15 +01:00
bbb57baecb changetype builtin; some namespace parsing; more stdlib ideas; compiler options for asc 2017-12-08 04:03:44 +01:00
c6af2d1454 Implement ternary using if, see AssemblyScript/assemblyscript#123 2017-12-04 14:49:24 +01:00
b9edfb5185 More tests and fixes (unary, binary, globals) 2017-12-02 18:37:59 +01:00
bad5175a55 Fixed for-loop parsing 2017-11-29 00:18:14 +01:00
df637164a6 Cleanup 2017-11-26 04:03:28 +01:00