c102fc9848
Minor CLI and README cleanup
2018-06-14 15:57:04 +02:00
e18165bbbc
Remove chalk dependency and replace it with something simpler, fixes #138
2018-06-12 18:34:39 +02:00
c9ed03028d
Add CLI definitions; CLI restructure
2018-05-28 18:55:51 +02:00
113925fa7e
Add a mechanism to hook into the compilation process with custom transforms, see #20
...
A custom transform is a node module that exports hooks called by the compiler on specific occasions, then being able to modify the intermediate results. Starting with 'afterParse' to modify the AST before compilation is performed.
2018-05-26 13:13:39 +02:00
ea0eb7f1a5
Add a simple UTF8 converter, i.e. for calling C++ APIs; Fix disabling 'abort' entirely
2018-05-21 23:14:47 +02:00
73417a9a06
Move 'abort' out of builtins and make it overridable
...
Now defaults to 'env.abort' as imported in lib/env.ts, but can be overridden through '--use abort=someThingElseOrNothingAtAll'
2018-05-21 18:48:29 +02:00
2a7f40953a
Update README
2018-05-08 14:37:51 +02:00
27f0621ee9
Add support for the 'mutable-global' proposal behind a feature flag
2018-05-08 09:27:56 +02:00
1bf0ca6525
Add a mechanism to enable additional (experimental) features and start with sign extension operations; Hashing experimentation
2018-05-08 00:36:19 +02:00
06f99406be
Experimenting with inline-assembler-ish explicit builtins
...
Starting with explicit loads and stores as part of the respective type namespaces. Might become handy for use with portable code, because these can be polyfilled, while load<T> and store<T> can't.
2018-04-27 00:08:41 +02:00
d445608467
Fix deprecation warning in node 10 ( #85 )
2018-04-26 02:18:39 +02:00
fe9d53329d
Fix asinit tsconfig.json generation
...
This used to extend the .d.ts file instead of the base .json, which was wrong
2018-04-25 22:54:55 +02:00
9731958738
Implement a mechanism to realloc array buffers; Trap when trying to allocate more than max size; Test allocators in CI
2018-04-08 00:52:19 +02:00
f1b00c90be
Fix browser asc
2018-04-07 16:37:39 +02:00
8770f7b548
New ArrayBuffer/TypedArray; Stdlib restructure; Fix importing stdlib in stdlib; Traverse constructors; Allow initialization of readonly instance fields in constructors
2018-04-07 03:27:22 +02:00
5e20bed09a
Unify / simplify asc API (in browsers)
2018-04-04 14:39:40 +02:00
5823e35f37
Progress and a tiny WASM binary parser
2018-04-03 23:56:48 +02:00
06198a3723
Rename lib prefix to '~lib' (parens aren't valid); Add built-in alignof<T>; Prepare for ArrayBufferView
2018-04-02 19:05:26 +02:00
3b50720603
Also create an 'index.js' to load the module when running asinit
2018-04-02 02:42:42 +02:00
59a22c1842
A little 'asinit' CLI tool for quickly setting up a project; Minor refactoring
2018-04-01 23:46:41 +02:00
6ff69394f0
Minor cleanup
2018-03-31 18:18:55 +02:00
72063577f3
Also implement buffer toString in asc
2018-03-31 00:16:12 +02:00
2e5077da2d
Remove unnecessary dependencies in asc bundle; Update dependencies
2018-03-31 00:03:02 +02:00
164f134053
Even more math ( #56 )
...
Remaining implementations of JavaScript's Math functions (except sin/cos/tan), both double (Math) and single (Mathf) precision, ported from musl incl. tests from libc-test, plus some changes to match JS semantics. Also binds fmod to `%` and pow to `**`.
2018-03-30 17:25:54 +02:00
792202ac5a
Add an option to alias global objects
...
This for example allows to switch the default 'Math' implementation a program will use. Uses 'NativeMath' by default.
2018-03-26 16:54:25 +02:00
e75d006d26
Implement Math/Mathf.pow
2018-03-26 03:50:06 +02:00
ec5bb7ad51
Export function table by default and add an option to import it
2018-03-23 15:12:03 +01:00
8cfc479cc0
Fix asc not printing text format to console by default
2018-03-21 23:34:40 +01:00
00e6d613a9
Fix an issue with asc not finding bundled library files in the browser; Minor cleanup
2018-03-21 23:27:53 +01:00
3a8f9f1576
Add compileString convenience function to asc ( #47 )
2018-03-21 02:56:24 +01:00
0fef69e445
Set up documentation generation
2018-03-19 01:12:18 +01:00
9511e2618d
Fix an issue with the --lib argument in asc and allow specifying files ( #42 )
2018-03-18 14:11:27 +01:00
2ed9fac171
Initial compile time type check builtins
2018-03-17 12:54:37 +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
f754b24819
Fix asc bundle with webpack 4, see #36 ; Function expression progress
2018-03-03 18:38:38 +01:00
eef8ef2cd8
Fix asc bundle AMD usage
2018-03-01 22:57:35 +01:00
02dce5a518
Add importMemory option to asc, see #36
2018-02-28 18:38:42 +01:00
8dc517e352
Cleanup; Initial tslint integration
2018-02-25 00:13:39 +01:00
e50a23bf75
Rename wast to wat
2018-02-17 11:09:22 +01:00
6b459259f9
Add memoryBase compiler option
...
This allows having fixed-size application-specific memory in front, followed by compiler-generated static memory and the heap.
2018-02-17 00:16:08 +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
c6486c461d
Move TLSF to stdlib, see #15
2018-02-12 19:17:50 +01:00
9e9284955d
Clean up asc a bit
2018-02-12 18:54:17 +01:00
74f8189ac1
Fix CRLF issues in tests; Include common tsc options in asc bundle
2018-02-10 18:34:29 +01:00
9678ce839e
Also bundle definition files with asc
2018-02-10 17:25:31 +01:00
08d9ba12aa
Improve bundled asc example a bit, see #25
2018-02-09 16:40:53 +01:00
60728c38fd
Initial asc browser bundle, see #25
2018-02-09 15:43:57 +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