bd8c7faf12Add support for hex integer literals
Nick Fitzgerald
2021-11-02 15:15:07 -07:00
8f5dffab72Add better error messages for duplicate term declarations
Nick Fitzgerald
2021-11-01 13:55:28 -07:00
22e18a9d98Remove eprintln!s that shouldn't have been committed
Nick Fitzgerald
2021-10-26 14:35:04 -07:00
037db8aab6Make sure that infallible match operations come after fallible ones
Nick Fitzgerald
2021-10-26 14:32:22 -07:00
6c6b7a2b78Add a method to pretty-print a trie
Nick Fitzgerald
2021-10-26 13:33:01 -07:00
0411b20871Fix allow declaration
Nick Fitzgerald
2021-10-22 14:40:26 -07:00
7fab7c5eabEmit if lets against Option<x> instead of Option<(x,)>
Nick Fitzgerald
2021-10-22 14:37:43 -07:00
0c6956376bAllow irrefutable let patterns in the generated code
Nick Fitzgerald
2021-10-22 14:37:20 -07:00
e015a49270Do not use 1-member tuples in external constructor/extractor trait methods
Nick Fitzgerald
2021-10-13 13:46:45 -07:00
0e02ec4cbaUse BTree{Map,Set} instead of Hash{Map,Set} to ensure deterministic output
Nick Fitzgerald
2021-10-12 11:04:17 -07:00
efe7df7f45Keep track of where primitives are defined for better error messages
Nick Fitzgerald
2021-10-11 11:32:49 -07:00
fe836a2302Yield source positions from lexer that have file-relative offsets
Nick Fitzgerald
2021-10-11 11:30:43 -07:00
7f8cb75e54Allow terms to have both extractors and constructors
Nick Fitzgerald
2021-10-07 16:38:47 -07:00
fddff6ee2dFix a panic when checking the call graph for an extractor with type errors in its definition
Nick Fitzgerald
2021-10-05 16:35:07 -07:00
9af23bf061Report the recursive calls when an extractor is recursive
Nick Fitzgerald
2021-10-05 14:40:51 -07:00
31d1cf3808Fill out implementation overview in README
Nick Fitzgerald
2021-10-04 14:11:22 -07:00
381dadadd0Move trie construction out to its own module
Nick Fitzgerald
2021-10-04 13:48:20 -07:00
bffaccde1fAdd a tutorial to the README
Nick Fitzgerald
2021-10-01 14:12:16 -07:00
0e082e8d6fMake sure that every decl has a definition at the end of type checking
Nick Fitzgerald
2021-09-30 12:28:22 -07:00
d2bd07c246Check that integer literals are primitive types in patterns
Nick Fitzgerald
2021-09-30 09:51:09 -07:00
ce207ee953Check that integer literals are a primitive type
Nick Fitzgerald
2021-09-30 09:49:23 -07:00
a099b2b590Extend fuzzing to semantic analysis and codegen
Nick Fitzgerald
2021-09-29 17:18:18 -07:00
9be1942b11Use .copied() instead of .cloned()
Nick Fitzgerald
2021-09-29 13:38:00 -07:00
6604a26e27Add a top-level parse function
Nick Fitzgerald
2021-09-29 13:18:30 -07:00
e3aeb850b2Fix a panic when parsing var patterns
Nick Fitzgerald
2021-09-28 16:27:59 -07:00
f2b6244b9cFix some panics on parsing error paths
Nick Fitzgerald
2021-09-28 16:12:07 -07:00
6a523938deFix overflows when tokenizing integer literals
Nick Fitzgerald
2021-09-28 16:07:42 -07:00
825258939bDefine a fuzz target for the parser
Nick Fitzgerald
2021-09-28 15:54:01 -07:00
cfaa35d8c0Use structopt to derive CLI flags
Nick Fitzgerald
2021-09-28 15:14:42 -07:00
6ffb02d9f6Use miette for reporting errors
Nick Fitzgerald
2021-09-28 14:51:02 -07:00
38da2cee3eSwitch to using thiserror
Nick Fitzgerald
2021-09-28 13:09:24 -07:00
b93304b327Add docs to all public exports and deny(missing_docs) going forward
Nick Fitzgerald
2021-09-28 12:11:43 -07:00
922a3886d5Fix let variable typing rules
Nick Fitzgerald
2021-09-28 12:03:11 -07:00
972dc00a92Don't use &mut dyn Write in codegen
Nick Fitzgerald
2021-09-27 15:57:32 -07:00
3535f82056Remove an unused field in TermFunctionBuilder
Nick Fitzgerald
2021-09-27 14:53:38 -07:00
012f4b04d7Update TODO
Nick Fitzgerald
2021-09-27 14:53:15 -07:00
5f5484ddbcUse matches!(..) to make TrieNode::is_empty more concise
Nick Fitzgerald
2021-09-27 14:38:12 -07:00
66ba1d89b5Remove TODO we don't want to do
Nick Fitzgerald
2021-09-23 11:22:17 -07:00
91904aa756TODO items from call with fitzgen
Chris Fallin
2021-09-15 16:07:49 -07:00
20bc5ca7a8Support extern constants of any primitive type.
Chris Fallin
2021-09-15 00:01:51 -07:00
d0ace640a2TODO update.
Chris Fallin
2021-09-14 23:30:42 -07:00
521010cc4fSplit into isle and islec crates
Chris Fallin
2021-09-14 23:24:49 -07:00
e751f12ac5Refactor to allow use as library, in order to allow build.rs usage.
Chris Fallin
2021-09-14 22:55:08 -07:00
83672a88ccbugfix to macro template generation: exclude Pos on ident from equality (broken by recent commit)
Chris Fallin
2021-09-10 01:27:09 -07:00
3ed146b782README update.
Chris Fallin
2021-09-10 00:08:46 -07:00
2a574b1b42Properly track locations on every AST node. Semantic errors are much more useful now. Also print parse errors in same (pseudo-standard compiler error) output format.
Chris Fallin
2021-09-09 23:56:28 -07:00
7d38b3b6d8Revamped error handling: keep going beyond some errors to accumulate a list of build errors, like most conventional compilers.
Chris Fallin
2021-09-09 23:27:25 -07:00
b46fa6acb0Remove old/no longer used lower.rs
Chris Fallin
2021-09-09 21:51:12 -07:00
af9e01a456Remove old .gitmodules -- no longer using wasmtime as a submodule
Chris Fallin
2021-09-09 18:33:18 -07:00
5a8e35b253Some fixes to the internal-extractor macro substitution
Chris Fallin
2021-09-09 18:12:46 -07:00
3f96068f94Some test cases for arg-less enums.
Chris Fallin
2021-09-09 16:32:28 -07:00
edc95c51a0Support for bools. Also fix fallible/infallible mixup for ctors.
Chris Fallin
2021-09-09 16:26:35 -07:00
a412cce615Infallible extractors, and some fixes to fallibility in return types (Option<T> vs T).
Chris Fallin
2021-09-09 15:33:15 -07:00
6daa55af82Initial draft of DSL semantics complete.
Chris Fallin
2021-09-09 00:48:36 -07:00
1ceef04680(and ...) combinator in patterns
Chris Fallin
2021-09-07 00:47:03 -07:00
602b8308ceMore work on sketch for isel and some TODO items derived from it.
Chris Fallin
2021-09-07 00:27:45 -07:00
d725ac13b2Codegen: parameterize on a generated Context trait that contains external ctors/etors.
Chris Fallin
2021-09-05 17:53:55 -07:00
3ccbaf0f69Generate match {} statements by merging adjacent MatchVariant trie edges.
Chris Fallin
2021-09-05 17:21:15 -07:00
ed4c857082Priority-trie: merge edges with different priorities into ranges when possible.
Chris Fallin
2021-09-05 10:52:55 -07:00
7865191093Update long block comment describing priority trie in codegen.rs.
Chris Fallin
2021-09-05 10:41:15 -07:00
b8e916a0abAnother example, testing rule priorities a bit
Chris Fallin
2021-09-04 20:37:47 -07:00
bc91a4e5f6Add TODO
Chris Fallin
2021-09-04 20:27:38 -07:00
4a2cd78827Working example and README
Chris Fallin
2021-09-04 20:25:10 -07:00
d7efd9f219Working extractor and constructor generation from rules!
Chris Fallin
2021-09-04 20:03:21 -07:00
be1140e80aWIP.
Chris Fallin
2021-09-04 18:45:03 -07:00
cd55dc9568WIP.
Chris Fallin
2021-09-04 17:20:55 -07:00
e5d76db97aWIP.
Chris Fallin
2021-09-04 17:01:56 -07:00
8c727b175amore codegen WIP: start to generate functions
Chris Fallin
2021-09-04 14:23:47 -07:00
638c9edd01Support for file input and output, including multiple input files with proper position tracking.
Chris Fallin
2021-09-04 14:04:19 -07:00
e9a57d854dGenerate internal enum types.
Chris Fallin
2021-09-04 12:59:19 -07:00
5aa72bc060skeleton for codegen
Chris Fallin
2021-09-04 12:45:42 -07:00
02ec77a45btrie insertion
Chris Fallin
2021-09-04 12:36:04 -07:00
77ed861857Start of significant rework: compile to a trie, not an FSM, and handle rule priorities appropriately.
Chris Fallin
2021-09-03 18:53:22 -07:00
f2399c5384WIP -- more thinking about how to work priorities into FSM
Chris Fallin
2021-09-03 17:46:52 -07:00
6a567924cdWIP
Chris Fallin
2021-09-02 22:24:40 -07:00
e08160845eWIP: rip out a bunch of stuff and rework
Chris Fallin
2021-09-02 19:30:28 -07:00
84b7612b98Initial public commit of ISLE prototype DSL compiler.
Chris Fallin
2021-06-29 17:00:43 -07:00
f2939111d9Merge pull request #3515 from cfallin/wasmtime-meeting-20211111
Chris Fallin
2021-11-11 09:55:46 -08:00
e50d431946Update meetings/wasmtime/2021/wasmtime-11-11.md
Chris Fallin
2021-11-11 09:55:18 -08:00
0a8b08a0d5Wasmtime meeting notes from 2021-11-11.
Chris Fallin
2021-11-11 09:33:41 -08:00
990f834e27Merge pull request #3514 from peterhuene/feature-gate-pooling-allocator
Peter Huene
2021-11-10 14:00:33 -08:00
58aab85680Add the pooling-allocator feature.
Peter Huene
2021-11-10 13:21:22 -08:00
00feefe9a7Change the bump-version workflow's schedule (#3512)
Alex Crichton
2021-11-08 10:37:53 -06:00
12bfbdfacaSkip generating DWARF info for dead code (#3498)
Adam Bratschi-Kaye
2021-11-08 16:31:04 +01:00
2053e972b7InstancePre can impl Clone (#3510)
Pat Hickey
2021-11-08 07:11:31 -08:00
6be0f82b96Fix a panic with an invalid name section (#3509)
Alex Crichton
2021-11-05 15:08:58 -05:00
6bcee7f5f7Add a configuration option to force "static" memories (#3503)
Alex Crichton
2021-11-03 16:50:49 -05:00
6428ac80d0cargo update -p userfaultfd to 0.4.2 (#3505)
Pat Hickey
2021-11-03 14:50:40 -07:00
c952969389Remove unused dependencies (#3490)
Benjamin Bouvier
2021-11-02 18:08:30 +01:00
b024603866Merge pull request #3502 from cfallin/ifcmp-sp
Chris Fallin
2021-11-01 14:04:51 -07:00
5e96a447f0Add back the ifcmp_sp CLIF opcode.
Chris Fallin
2021-11-01 13:34:31 -07:00
9e7760bd83Merge pull request #3497 from bjorn3/misc_meta_simplifications
Chris Fallin
2021-11-01 11:24:44 -07:00
d0aac82481Merge pull request #3501 from bytecodealliance/alexcrichton-patch-1
Nick Fitzgerald
2021-11-01 10:42:08 -07:00
5b3c570247Add cranelift meeting notes for today
Alex Crichton
2021-11-01 12:31:21 -05:00
86d2ef8952Fix CI
bjorn3
2021-11-01 18:19:59 +01:00