Mark McCaskey
ce21910077
Prepare for 0.14.1 release
...
0.14.1 differs from 0.14.0 primarily in that the GNU/Linux build is
built on Ubuntu 16.04 instead of 18.04, meaning we'll use an earlier
version of GLIBC.
2020-02-24 13:20:12 -08:00
Ivan Enderlin
6b667805d7
Merge branch 'master' into doc-readme-logo
2020-02-21 13:41:35 +01:00
Ivan Enderlin
1e52d4b9b2
doc(readme) Fix logo.
2020-02-21 13:39:43 +01:00
Ivan Enderlin
48f8823879
Merge branch 'master' into feat-interface-types-decoders-wat
2020-02-21 12:24:52 +01:00
Ivan Enderlin
80d0b5116f
doc(interface-types) Add intra links.
2020-02-21 12:23:58 +01:00
Ivan Enderlin
0afd308c44
feat(interface-types) Add the parse
public API.
...
Also rename `kw` to `keyword`.
2020-02-21 12:23:20 +01:00
Mark McCaskey
1374bf0806
Prepare for 0.14.0 release
2020-02-20 13:15:29 -08:00
Ivan Enderlin
2ef13cdc81
fix(interface-types) Remove #[allow(unused)]
.
2020-02-20 15:16:35 +01:00
Ivan Enderlin
5e00153d29
feat(interface-types) Decode instructions in WIT's text format.
2020-02-20 15:13:11 +01:00
Ivan Enderlin
cda53a57b5
feat(interface-types) Replace nom by wast for decoding WIT's text format.
2020-02-20 14:43:58 +01:00
Ivan Enderlin
00e36508d6
feat(interface-types) Parse Adapter
in the WAT decoders.
2020-02-19 17:41:06 +01:00
Ivan Enderlin
2e78cf1fc0
feat(interface-types) Parse Import
in the WAT decoders.
2020-02-19 17:20:18 +01:00
Ivan Enderlin
c97122899d
feat(interface-types) Start implementing the WAT decoder.
2020-02-19 16:12:06 +01:00
Ivan Enderlin
cc93f3197b
Merge branch 'master' into feat-interface-types-encoders-binary
2020-02-18 09:57:29 +01:00
Ivan Enderlin
d6cd1fa6c4
doc(interface-types) Add a README.md
file.
2020-02-17 14:48:58 +01:00
Ivan Enderlin
306d19274b
test(interface-types) Test roundtrip: AST to binary to AST.
2020-02-17 13:55:59 +01:00
Ivan Enderlin
8736f0548e
test(interface-types) Fix one bug and write the test suite.
2020-02-17 13:55:59 +01:00
Ivan Enderlin
1149158589
feat(interface-types) Add the binary encoder.
2020-02-17 13:55:59 +01:00
Ivan Enderlin
0c4c9107d5
fix(interface-types) Remove a dbg!
macro.
2020-02-14 12:19:29 +01:00
Ivan Enderlin
eb2f9db230
feat(interface-types) Forbids unsafe code.
2020-02-13 14:36:17 +01:00
Ivan Enderlin
9559747394
doc(interface-types) Add #[deny(missing_docs)]
.
2020-02-13 14:34:45 +01:00
Ivan Enderlin
ae6e26158f
chore(interface-types) Simplify code.
2020-02-13 14:26:50 +01:00
Ivan Enderlin
6891517c8b
chore(encoders) Changing unimplemented!()
to todo!()
.
2020-02-13 14:24:07 +01:00
Ivan Enderlin
13cee90d17
feat(encoders) Implement ToString
instead of From<…> for String
.
2020-02-13 14:19:31 +01:00
Ivan Enderlin
722727bd56
chore(decoders) Simplify code.
2020-02-13 13:56:30 +01:00
Ivan Enderlin
d8f923091f
chore(decoders) Simplify code.
2020-02-13 13:54:26 +01:00
Ivan Enderlin
3f0c32bf44
fix(decoders) Remove the unsafe
block in the string
parser.
...
Instead of using `str::from_utf8_unchecked`, this patch updates the
code to use `str::from_utf8` and handles the error appropriately.
2020-02-13 13:52:23 +01:00
Ivan Enderlin
370fd6d866
feat(decoders) Improve LEB parser in the binary
module.
...
The LEB parser is renamed `uleb`. It now checks for overflow, and
badly-formed bits, resp. `TooLarge` or `Eof`. More test cases are
added, whose from the DWARF 4 standard.
2020-02-13 13:36:18 +01:00
Ivan Enderlin
1ad42d81cb
doc(interface-types) Improve documentation of decoders::binary::leb
.
2020-02-13 11:41:02 +01:00
Ivan Enderlin
b7941f4019
feat(interface-types) Ensure ast::Type
is always well-formed.
...
As @MarkMcCaskey noted, `Type` can be corrupted because `field_names`
and `field_types` must have the same length. This patch removes the
public visibility, and adds methods like `new`, `add_field`,
`field_names` and `field_types` to encapsulate `Type` internal data.
2020-02-13 11:24:29 +01:00
Ivan Enderlin
13b9cb3995
doc(interface-types) Improve the documentation of the interpreter
module.
2020-02-12 17:37:06 +01:00
Ivan Enderlin
6b0e43b7c4
doc(interface-types) Improve the documentation of the instruction
module.
2020-02-12 16:01:33 +01:00
Ivan Enderlin
b3c102da37
doc(interface-types) Improve documentation of the instruction
module.
...
Also, rename `RepeatWhile` to `RepeatUntil`.
2020-02-12 15:59:41 +01:00
Ivan Enderlin
98c73099c3
doc(interface-types) Improve documentation of the macros
module.
2020-02-12 15:52:15 +01:00
Ivan Enderlin
c5b963b81b
doc(interface-types) Improve documentation of the wat
module.
2020-02-10 17:12:32 +01:00
Ivan Enderlin
55ae0e474e
doc(interface-types) Add a doctest for decoders::binary::parse
.
2020-02-10 16:48:25 +01:00
Ivan Enderlin
98fb0697d1
test(interface-types) Test the parse
parser.
2020-02-10 16:39:34 +01:00
Ivan Enderlin
9fda6f9451
doc(interface-types) Improve documentation of the binary
module.
2020-02-10 16:39:06 +01:00
Ivan Enderlin
2fc1fbb7ec
doc(interface-types) Improve documentation of the ast
module.
2020-02-10 15:44:28 +01:00
Ivan Enderlin
d667cb8e2f
doc(interface-types) Improve documentation of the ast
module.
2020-02-10 15:41:41 +01:00
Ivan Enderlin
36c7dbd92f
feat(interface-types) Rename ImportedFunction
to Import
.
...
So that we are consistent with `Export`.
2020-02-10 15:41:10 +01:00
Ivan Enderlin
32325c1861
doc(interface-types) Improve module descriptions.
2020-02-10 15:27:04 +01:00
Ivan Enderlin
d63508f19e
doc(interface-types) Improve documentation of the stack
module.
2020-02-10 15:23:28 +01:00
Ivan Enderlin
e098934328
doc(interface-types) Improve documentation of the crate itself.
2020-02-10 15:22:56 +01:00
Ivan Enderlin
5ed5ac82c0
test(interface-types) Improve test cases for Stack
.
2020-02-10 15:22:22 +01:00
Ivan Enderlin
102ebe87f8
chore(interface-types) Format code.
2020-02-10 14:41:40 +01:00
Ivan Enderlin
0b0a89bf0f
test(interface-types) Fix a documentation message.
2020-02-10 14:41:06 +01:00
Ivan Enderlin
60a905698d
feat(interface-types) Use nom 5.1.
2020-02-10 14:05:13 +01:00
Ivan Enderlin
fe14c5c06b
chore(interface-types) Update crate version.
2020-02-10 13:32:04 +01:00
Ivan Enderlin
c8af1b1fb7
feat(interface-types) Remove dev-dependencies to any runtime.
2020-02-10 13:15:52 +01:00