466 Commits

Author SHA1 Message Date
dcodeIO
59a22c1842 A little 'asinit' CLI tool for quickly setting up a project; Minor refactoring 2018-04-01 23:46:41 +02:00
dcodeIO
6ff69394f0 Minor cleanup 2018-03-31 18:18:55 +02:00
Max Graey
3d1f181961 Add Mathf missed defs (#60) 2018-03-31 17:15:59 +02:00
dcodeIO
72063577f3 Also implement buffer toString in asc 2018-03-31 00:16:12 +02:00
dcodeIO
2e5077da2d Remove unnecessary dependencies in asc bundle; Update dependencies 2018-03-31 00:03:02 +02:00
dcodeIO
60f75c931b Update dist files 2018-03-30 17:51:47 +02:00
Daniel Wirtz
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
dcodeIO
e47a130771 More math 2018-03-26 23:46:41 +02:00
dcodeIO
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
dcodeIO
e75d006d26 Implement Math/Mathf.pow 2018-03-26 03:50:06 +02:00
dcodeIO
e26734ef90 Implement Math/Mathf.exp; Initial math test suite 2018-03-25 17:42:56 +02:00
Max Graey
70d2a0a425 Add more operator overloads + tests (#55)
* operator '-'
* operator '*'
* operator '/'
* operator '%'
* operator '&'
* operator '|'
* operator '^'
2018-03-25 13:14:53 +02:00
Igor
710fcefd72 Add array methods: findIndex, reduce, some, every (#49) 2018-03-25 13:13:53 +02:00
dcodeIO
38a025950e Support parameter properties; Minor formatting 2018-03-25 00:21:58 +01:00
dcodeIO
c80bf35747 Move fmod/fmodf to builtins and bind them to the '%' operator 2018-03-24 18:39:20 +01:00
dcodeIO
721d77012b Math scaffolding 2018-03-24 17:18:15 +01:00
dcodeIO
19a616dd96 Support indirect calls with omitted arguments 2018-03-24 09:46:22 +01:00
dcodeIO
664f2a1c0d Add offsetof<T> builtin; Put a function's trampoline into the function table if a it has optional parameters; TypedArray scaffolding 2018-03-24 00:38:49 +01:00
dcodeIO
ec5bb7ad51 Export function table by default and add an option to import it 2018-03-23 15:12:03 +01:00
dcodeIO
2738eee9cd Call trampolines with the actual number of provided operands
When calling indirectly, the number of required operands might not be known at compile time and providing the actual number of operands instead solves this.
2018-03-23 15:00:09 +01:00
dcodeIO
4adb69f73a Binary expression operator overloads for +/==; Check allocation flow in ternary expressions; Cache empty array buffers; Sealed decorator for non-derivable internals 2018-03-23 12:45:29 +01:00
dcodeIO
9cc0fcd611 Initial ArrayBuffer implementation; Conditional allocation within constructors; Explicit constructor return values 2018-03-23 01:47:01 +01:00
dcodeIO
8cfc479cc0 Fix asc not printing text format to console by default 2018-03-21 23:34:40 +01:00
dcodeIO
00e6d613a9 Fix an issue with asc not finding bundled library files in the browser; Minor cleanup 2018-03-21 23:27:53 +01:00
dcodeIO
d4c46b036e Fix trampolines not inheriting contextual type arguments 2018-03-21 17:47:08 +01:00
dcodeIO
4687dc2572 Fix contextual type argument propagation when calling function expressions; Implement indirect calls to concrete functions 2018-03-21 17:17:31 +01:00
dcodeIO
49f4d3dff1 Eliminate @builtin decorator for compatibility with TS 2018-03-21 16:29:08 +01:00
Daniel Wirtz
56d891583e
Add a build check for PRs (#51)
This now checks that distribution files are unmodified and fails otherwise. Also checks if the author is present in the NOTICE file and prints the result, but as email addresses may vary, does not hard-fail.
2018-03-21 13:26:11 +01:00
Norton Wang
3a8f9f1576 Add compileString convenience function to asc (#47) 2018-03-21 02:56:24 +01:00
dcodeIO
8c1847b316 Properly handle 'void' return type when checking signature compatibility 2018-03-21 01:16:46 +01:00
Max Graey
477669d7a3 Add min. normalized positive value (MIN_POSITIVE_VALUE) for floats (#50) 2018-03-21 01:06:56 +01:00
dcodeIO
13ed832c5d Remove unused portable definitions
These were intended to do IEEE754 calculations, which wasn't necessary due to glueing float ops instead
2018-03-20 23:46:44 +01:00
dcodeIO
be66abbd78 Initial static arrays of basic element types; Fixed member names in generic contexts 2018-03-20 23:41:37 +01:00
dcodeIO
2c0ddf4f80 Support 'this' in static functions, fixes #45; Fix propagation of 'ambient' flag 2018-03-20 12:02:05 +01:00
dcodeIO
fea8e65a41 Fix 'static readonly' not being recognized as constant anymore, see #44 2018-03-19 19:36:39 +01:00
dcodeIO
5323e64af9 Implement array functions with just an expression body 2018-03-19 01:22:19 +01:00
dcodeIO
0fef69e445 Set up documentation generation 2018-03-19 01:12:18 +01:00
dcodeIO
c0973433d6 Add architecture diagram to media 2018-03-18 22:29:08 +01:00
Norton Wang
9511e2618d Fix an issue with the --lib argument in asc and allow specifying files (#42) 2018-03-18 14:11:27 +01:00
dcodeIO
5eb10d404f Document the purpose of most files 2018-03-17 23:41:48 +01:00
dcodeIO
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
Igor
162096bcd6 Add Array#includes and improve compatibility of Array#indexOf (#41) 2018-03-17 17:02:15 +01:00
dcodeIO
2dfd9aae3a Fix dist files 2018-03-17 14:56:37 +01:00
dcodeIO
83e96892f2 Statically eliminate unnecessary branches in generic contexts
In order to use the new compile time type checks in generics, untaken branches must be skipped because these might be invalid.
2018-03-17 14:40:58 +01:00
dcodeIO
2ed9fac171 Initial compile time type check builtins 2018-03-17 12:54:37 +01:00
dcodeIO
faac3c31eb AST cleanup; Definition generators scaffolding 2018-03-17 01:37:05 +01:00
dcodeIO
eef923d124 Clean up tests directory a bit 2018-03-16 15:45:18 +01:00
dcodeIO
ee94634ffb Update test instructions 2018-03-16 14:19:47 +01:00
dcodeIO
c17dd14fc4 Use a mechanical keyboard, they sssaid 2018-03-16 12:44:34 +01:00
dcodeIO
5d05d978a3 Add contributing guidelines 2018-03-16 12:26:59 +01:00