Commit Graph

111 Commits

Author SHA1 Message Date
Ilya Rezvov fa1d9a7bd1 handle more parsing edgecases 2021-04-07 10:35:51 -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 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 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 01e0ab8d44 added line position for failed asserts and implemented mutable globals import/export 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 709c8d994c bump version to 1.0 tag 2018-06-20 16:33:52 -07:00
Ilya Rezvov 1330eb41f6 start builder api 2018-05-12 22:37:50 -07:00
Ilya Rezvov 4601666eab stabilize inline exports extraction algorithm 2018-04-26 20:19:19 -07:00
Ilya Rezvov a619e1b742 extract load instructions to generic function 2018-04-24 19:08:31 -07:00
Ilya Rezvov 9d14c233c5 fix parsing of multiple folded instructions in if predicate expression 2018-04-24 16:12:52 -07:00
Ilya Rezvov 081d6ded2a use single rule for all index refences 2018-04-24 15:37:43 -07:00
Ilya Rezvov 1720730df5 pass assert_malformed tests 2018-04-18 22:42:47 -07:00
Ilya Rezvov fbadde5c3a improve alignment parsing 2018-04-16 21:02:26 -07:00
Ilya Rezvov 7dfbe2775e fix call_inderect type use parsing 2018-04-16 20:51:04 -07:00
Ilya Rezvov cb7fee3d45 check imports appear before any other definitions 2018-04-16 16:08:38 -07:00
Ilya Rezvov f046ab3cfa check if aux type signature match referred type 2018-04-16 15:54:10 -07:00
Ilya Rezvov 6c4183c930 check if optional labels match for block instructions 2018-04-16 15:37:28 -07:00
Ilya Rezvov 035ffe05da check if name is valid utf8 string 2018-04-16 14:35:05 -07:00
Ilya Rezvov be47aa7d43 fail on too long offset and align constants 2018-04-15 19:08:27 -07:00
Ilya Rezvov a1ae58b5f7 make parser monadic 2018-04-15 18:54:39 -07:00
Ilya Rezvov 09f4b15d2c implemented assert_malformed assertion and added NFData instances for all parsing types 2018-04-15 16:16:11 -07:00
Ilya Rezvov 23ed83a42e fix parsing of functions with incorrect type indexes 2018-04-13 16:56:25 -07:00
Ilya Rezvov 16bbc3d198 implement assert_invalid assertion 2018-04-13 14:25:23 -07:00
Ilya Rezvov 2955456e26 pass all assert_return tests 2018-04-11 21:15:56 -07:00
Ilya Rezvov 1fe669e762 use correct signed int representation 2018-04-10 20:50:26 -07:00
Ilya Rezvov f4e008ab9a fix arguments order on function call 2018-04-10 09:17:26 -07:00
Ilya Rezvov b7933df8c3 add actions interpretatiion 2018-04-09 14:36:14 -07:00
Ilya Rezvov 8ef3eadc9a parse arithmetic nan 2018-04-08 19:47:10 -07:00
Ilya Rezvov 277cfad6ff add host environment for script modules 2018-04-08 17:42:25 -07:00
Ilya Rezvov 7a66ff7150 provide imports for modules from registery 2018-04-08 12:50:36 -07:00
Ilya Rezvov 98d9ca2399 fix parsing binary modules from text representation 2018-04-08 11:54:29 -07:00
Ilya Rezvov d7641bcee2 fix implicit type extraction 2018-04-08 10:25:05 -07:00
Ilya Rezvov 43feccbf08 load modules in wasm script commands 2018-04-08 09:43:41 -07:00
Ilya Rezvov 8a22d84804 pass all tests 2018-03-20 21:52:02 -07:00
Ilya Rezvov 682e71defc fix tokenizing of numbers and expressions of offset 2018-03-20 21:33:11 -07:00
Ilya Rezvov 3400a7c1ad fix stack instructions parsing 2018-03-20 21:26:42 -07:00