Commit Graph

246 Commits

Author SHA1 Message Date
Ilya Rezvov 66af1b3a37 add uniqueness check for func and local idents 2021-04-08 21:18:05 -07:00
Ilya Rezvov 53bdf096a4 fix nan with payload parsing and safely handle out of range type indecies 2021-04-07 22:38:34 -07:00
Ilya Rezvov fa1d9a7bd1 handle more parsing edgecases 2021-04-07 10:35:51 -07:00
Ilya Rezvov 93a79badbe fix multivalue return typecheck and some execution rules 2021-04-06 23:20:03 -07:00
Ilya Rezvov 604f8f190d start the validator refactoring to deal with multiresults 2021-04-05 22:10:45 -07:00
Ilya Rezvov ee1c7d3f7a resolve all grammar conflicts 2021-04-05 21:03:55 -07:00
Ilya Rezvov 88e80306b7 simplify typeuse rule 2021-04-05 10:31:29 -07:00
Ilya Rezvov fe83e2c1a3 rebase artefacts 2021-04-04 17:34:03 -07:00
Ilya Rezvov cd834466a4 remove redundant clauses 2021-04-04 17:30:38 -07:00
Ilya Rezvov afb5cb4f05 fix imports 2021-04-04 17:30:38 -07:00
Ilya Rezvov d4a72089ba get rid of some rules 2021-04-04 17:30:38 -07:00
Ilya Rezvov d62f945b8b instuction_list parser 2021-04-04 17:30:38 -07:00
Ilya Rezvov b816e04b6d type signature parsing for loop and if blocks 2021-04-04 17:30:38 -07:00
Ilya Rezvov 2d58addefa refactor function parser 2021-04-04 17:30:38 -07:00
Ilya Rezvov 58fd11dfa8 refactor typeuse parser to accomodate raw instructions 2021-04-04 17:30:38 -07:00
Ilya Rezvov 72804d2210 get rid of some shift/reduce conflicts in grammar 2021-04-04 17:30:38 -07:00
Ilya Rezvov b64193b6a9 clean up the parser a little bit and relax arity checks on validation phase 2021-04-04 17:30:38 -07:00
Ilya Rezvov 2a49528a1f simplify grammar and parse block typeuses 2021-04-04 17:30:38 -07:00
Ilya Rezvov 2082a8557f start multivalue proposal implementation for block instruction 2021-04-04 17:30:38 -07:00
Ilya Rezvov f92754b572 change instansiating to be stateful 2021-04-04 17:30:17 -07:00
Ilya Rezvov 2451dc2ddc added line position for failed asserts and implemented mutable globals import/export proposal 2021-04-04 17:29:47 -07:00
Ilya Rezvov ea7769aa9f more grammar fixes 2021-04-04 17:28:16 -07:00
Ilya Rezvov b1874dfcea start multivalue proposal implementation for block instruction 2021-04-04 17:23:43 -07:00
Ilya Rezvov 511bae84e8 report multiple start sections in text representation as parsing error 2021-04-04 17:23:43 -07:00
Ilya Rezvov 1e7afd94fc change instansiating to be stateful 2021-04-04 17:23:43 -07:00
Ilya Rezvov 01e0ab8d44 added line position for failed asserts and implemented mutable globals import/export proposal 2021-04-04 17:23:43 -07:00
Ilya Rezvov 20c2623b1c fix align bug for I64Load32U and start mutable globals export/import proposal 2021-04-04 17:23:43 -07:00
Ilya Rezvov d61926e18a implement sign-extension operators proposal 2021-04-04 17:23:43 -07:00
Ilya Rezvov 4fb4da0f2f more grammar fixes 2021-04-04 17:23:43 -07:00
Ilya Rezvov d01691338f add parsing of canonical nan, reinterpret instructions and check for mem idents uniqueness 2021-04-04 17:23:43 -07:00
Ilya Rezvov 88a31548b8 replace hardcoded tests with submodule to the official testsuit 2021-04-04 17:23:43 -07:00
Gabor Greif 4bce493d8c catch some typos 2020-09-13 15:14:04 +02:00
Ilya Rezvov bcb83798cb implemented fast-path for aligned addresses on memory read/write 2020-02-19 16:07:18 -08:00
Ilya Rezvov 915b705ed2 using primitive's ByteArray for memory instance's backend storage in the interpreter instead of IOVector 2020-02-19 14:36:03 -08:00
Ilya Rezvov f8d008bb04 small clean up 2020-01-14 17:00:41 -08:00
Ilya Rezvov d7e1b803f5 fix build and tests for ghc >8.6 2020-01-13 21:56:06 -08:00
Agustín Mista 6a2b3fbfc2 Added missing type synonym to exports 2019-07-16 20:50:36 +02:00
Agustín Mista f5c9fb45ee Added missing exports in Structure 2019-07-16 18:03:18 +02:00
Ilya Rezvov 709c8d994c bump version to 1.0 tag 2018-06-20 16:33:52 -07:00
Ilya Rezvov db18150ec9 expose label type from builder 2018-06-11 20:20:06 -07:00
Ilya Rezvov f862c74bf9 fix typos in sign suffixes 2018-06-02 11:01:01 -07:00
Ilya Rezvov 85dfac08f1 enforce type constraints for conversion operations 2018-06-02 10:57:49 -07:00
Ilya Rezvov 4dccc4279e add all instructions 2018-06-02 10:36:24 -07:00
Ilya Rezvov 2aeb960cb1 introduce declaration+implementation mechanic for mutual recursive functions definitions 2018-05-31 14:06:33 -07:00
Ilya Rezvov 1cf668408a unify name convention for signed/unsigned operations 2018-05-27 15:29:31 -07:00
Ilya Rezvov ddf89644ce make inc and dec polymorphic 2018-05-27 14:49:49 -07:00
Ilya Rezvov 3926e5b9f1 make export combinator polymorphic 2018-05-27 11:59:27 -07:00
Ilya Rezvov 330fb93f0f introduce polymorphic result types for combinators 2018-05-27 11:17:26 -07:00
Ilya Rezvov 95318c86fc wrap instruction for builder 2018-05-25 11:30:08 -07:00
Ilya Rezvov 4ec5a0fcbf two more helpers for builder 2018-05-24 16:22:05 -07:00