Commit Graph

  • bd8c7faf12 Add support for hex integer literals Nick Fitzgerald 2021-11-02 15:15:07 -07:00
  • 8f5dffab72 Add better error messages for duplicate term declarations Nick Fitzgerald 2021-11-01 13:55:28 -07:00
  • 22e18a9d98 Remove eprintln!s that shouldn't have been committed Nick Fitzgerald 2021-10-26 14:35:04 -07:00
  • 037db8aab6 Make sure that infallible match operations come after fallible ones Nick Fitzgerald 2021-10-26 14:32:22 -07:00
  • 6c6b7a2b78 Add a method to pretty-print a trie Nick Fitzgerald 2021-10-26 13:33:01 -07:00
  • 0411b20871 Fix allow declaration Nick Fitzgerald 2021-10-22 14:40:26 -07:00
  • 7fab7c5eab Emit if lets against Option<x> instead of Option<(x,)> Nick Fitzgerald 2021-10-22 14:37:43 -07:00
  • 0c6956376b Allow irrefutable let patterns in the generated code Nick Fitzgerald 2021-10-22 14:37:20 -07:00
  • e015a49270 Do not use 1-member tuples in external constructor/extractor trait methods Nick Fitzgerald 2021-10-13 13:46:45 -07:00
  • 0e02ec4cba Use BTree{Map,Set} instead of Hash{Map,Set} to ensure deterministic output Nick Fitzgerald 2021-10-12 11:04:17 -07:00
  • efe7df7f45 Keep track of where primitives are defined for better error messages Nick Fitzgerald 2021-10-11 11:32:49 -07:00
  • fe836a2302 Yield source positions from lexer that have file-relative offsets Nick Fitzgerald 2021-10-11 11:30:43 -07:00
  • 7f8cb75e54 Allow terms to have both extractors and constructors Nick Fitzgerald 2021-10-07 16:38:47 -07:00
  • fddff6ee2d Fix 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
  • 9af23bf061 Report the recursive calls when an extractor is recursive Nick Fitzgerald 2021-10-05 14:40:51 -07:00
  • 31d1cf3808 Fill out implementation overview in README Nick Fitzgerald 2021-10-04 14:11:22 -07:00
  • 381dadadd0 Move trie construction out to its own module Nick Fitzgerald 2021-10-04 13:48:20 -07:00
  • bffaccde1f Add a tutorial to the README Nick Fitzgerald 2021-10-01 14:12:16 -07:00
  • 0e082e8d6f Make sure that every decl has a definition at the end of type checking Nick Fitzgerald 2021-09-30 12:28:22 -07:00
  • d2bd07c246 Check that integer literals are primitive types in patterns Nick Fitzgerald 2021-09-30 09:51:09 -07:00
  • ce207ee953 Check that integer literals are a primitive type Nick Fitzgerald 2021-09-30 09:49:23 -07:00
  • a099b2b590 Extend fuzzing to semantic analysis and codegen Nick Fitzgerald 2021-09-29 17:18:18 -07:00
  • 9be1942b11 Use .copied() instead of .cloned() Nick Fitzgerald 2021-09-29 13:38:00 -07:00
  • 6604a26e27 Add a top-level parse function Nick Fitzgerald 2021-09-29 13:18:30 -07:00
  • e3aeb850b2 Fix a panic when parsing var patterns Nick Fitzgerald 2021-09-28 16:27:59 -07:00
  • f2b6244b9c Fix some panics on parsing error paths Nick Fitzgerald 2021-09-28 16:12:07 -07:00
  • 6a523938de Fix overflows when tokenizing integer literals Nick Fitzgerald 2021-09-28 16:07:42 -07:00
  • 825258939b Define a fuzz target for the parser Nick Fitzgerald 2021-09-28 15:54:01 -07:00
  • cfaa35d8c0 Use structopt to derive CLI flags Nick Fitzgerald 2021-09-28 15:14:42 -07:00
  • 6ffb02d9f6 Use miette for reporting errors Nick Fitzgerald 2021-09-28 14:51:02 -07:00
  • 38da2cee3e Switch to using thiserror Nick Fitzgerald 2021-09-28 13:09:24 -07:00
  • b93304b327 Add docs to all public exports and deny(missing_docs) going forward Nick Fitzgerald 2021-09-28 12:11:43 -07:00
  • 922a3886d5 Fix let variable typing rules Nick Fitzgerald 2021-09-28 12:03:11 -07:00
  • 972dc00a92 Don't use &mut dyn Write in codegen Nick Fitzgerald 2021-09-27 15:57:32 -07:00
  • 3535f82056 Remove an unused field in TermFunctionBuilder Nick Fitzgerald 2021-09-27 14:53:38 -07:00
  • 012f4b04d7 Update TODO Nick Fitzgerald 2021-09-27 14:53:15 -07:00
  • 5f5484ddbc Use matches!(..) to make TrieNode::is_empty more concise Nick Fitzgerald 2021-09-27 14:38:12 -07:00
  • 66ba1d89b5 Remove TODO we don't want to do Nick Fitzgerald 2021-09-23 11:22:17 -07:00
  • 91904aa756 TODO items from call with fitzgen Chris Fallin 2021-09-15 16:07:49 -07:00
  • 20bc5ca7a8 Support extern constants of any primitive type. Chris Fallin 2021-09-15 00:01:51 -07:00
  • d0ace640a2 TODO update. Chris Fallin 2021-09-14 23:30:42 -07:00
  • 521010cc4f Split into isle and islec crates Chris Fallin 2021-09-14 23:24:49 -07:00
  • e751f12ac5 Refactor to allow use as library, in order to allow build.rs usage. Chris Fallin 2021-09-14 22:55:08 -07:00
  • 83672a88cc bugfix to macro template generation: exclude Pos on ident from equality (broken by recent commit) Chris Fallin 2021-09-10 01:27:09 -07:00
  • 3ed146b782 README update. Chris Fallin 2021-09-10 00:08:46 -07:00
  • 2a574b1b42 Properly 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
  • 7d38b3b6d8 Revamped 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
  • b46fa6acb0 Remove old/no longer used lower.rs Chris Fallin 2021-09-09 21:51:12 -07:00
  • af9e01a456 Remove old .gitmodules -- no longer using wasmtime as a submodule Chris Fallin 2021-09-09 18:33:18 -07:00
  • 5a8e35b253 Some fixes to the internal-extractor macro substitution Chris Fallin 2021-09-09 18:12:46 -07:00
  • 3f96068f94 Some test cases for arg-less enums. Chris Fallin 2021-09-09 16:32:28 -07:00
  • edc95c51a0 Support for bools. Also fix fallible/infallible mixup for ctors. Chris Fallin 2021-09-09 16:26:35 -07:00
  • a412cce615 Infallible extractors, and some fixes to fallibility in return types (Option<T> vs T). Chris Fallin 2021-09-09 15:33:15 -07:00
  • 6daa55af82 Initial 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
  • 602b8308ce More work on sketch for isel and some TODO items derived from it. Chris Fallin 2021-09-07 00:27:45 -07:00
  • d725ac13b2 Codegen: parameterize on a generated Context trait that contains external ctors/etors. Chris Fallin 2021-09-05 17:53:55 -07:00
  • 3ccbaf0f69 Generate match {} statements by merging adjacent MatchVariant trie edges. Chris Fallin 2021-09-05 17:21:15 -07:00
  • ed4c857082 Priority-trie: merge edges with different priorities into ranges when possible. Chris Fallin 2021-09-05 10:52:55 -07:00
  • 7865191093 Update long block comment describing priority trie in codegen.rs. Chris Fallin 2021-09-05 10:41:15 -07:00
  • b8e916a0ab Another example, testing rule priorities a bit Chris Fallin 2021-09-04 20:37:47 -07:00
  • bc91a4e5f6 Add TODO Chris Fallin 2021-09-04 20:27:38 -07:00
  • 4a2cd78827 Working example and README Chris Fallin 2021-09-04 20:25:10 -07:00
  • d7efd9f219 Working extractor and constructor generation from rules! Chris Fallin 2021-09-04 20:03:21 -07:00
  • be1140e80a WIP. Chris Fallin 2021-09-04 18:45:03 -07:00
  • cd55dc9568 WIP. Chris Fallin 2021-09-04 17:20:55 -07:00
  • e5d76db97a WIP. Chris Fallin 2021-09-04 17:01:56 -07:00
  • 8c727b175a more codegen WIP: start to generate functions Chris Fallin 2021-09-04 14:23:47 -07:00
  • 638c9edd01 Support for file input and output, including multiple input files with proper position tracking. Chris Fallin 2021-09-04 14:04:19 -07:00
  • e9a57d854d Generate internal enum types. Chris Fallin 2021-09-04 12:59:19 -07:00
  • 5aa72bc060 skeleton for codegen Chris Fallin 2021-09-04 12:45:42 -07:00
  • 02ec77a45b trie insertion Chris Fallin 2021-09-04 12:36:04 -07:00
  • 77ed861857 Start 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
  • f2399c5384 WIP -- more thinking about how to work priorities into FSM Chris Fallin 2021-09-03 17:46:52 -07:00
  • 6a567924cd WIP Chris Fallin 2021-09-02 22:24:40 -07:00
  • e08160845e WIP: rip out a bunch of stuff and rework Chris Fallin 2021-09-02 19:30:28 -07:00
  • 84b7612b98 Initial public commit of ISLE prototype DSL compiler. Chris Fallin 2021-06-29 17:00:43 -07:00
  • f2939111d9 Merge pull request #3515 from cfallin/wasmtime-meeting-20211111 Chris Fallin 2021-11-11 09:55:46 -08:00
  • e50d431946 Update meetings/wasmtime/2021/wasmtime-11-11.md Chris Fallin 2021-11-11 09:55:18 -08:00
  • 0a8b08a0d5 Wasmtime meeting notes from 2021-11-11. Chris Fallin 2021-11-11 09:33:41 -08:00
  • 990f834e27 Merge pull request #3514 from peterhuene/feature-gate-pooling-allocator Peter Huene 2021-11-10 14:00:33 -08:00
  • 58aab85680 Add the pooling-allocator feature. Peter Huene 2021-11-10 13:21:22 -08:00
  • 00feefe9a7 Change the bump-version workflow's schedule (#3512) Alex Crichton 2021-11-08 10:37:53 -06:00
  • 12bfbdfaca Skip generating DWARF info for dead code (#3498) Adam Bratschi-Kaye 2021-11-08 16:31:04 +01:00
  • 2053e972b7 InstancePre can impl Clone (#3510) Pat Hickey 2021-11-08 07:11:31 -08:00
  • 6be0f82b96 Fix a panic with an invalid name section (#3509) Alex Crichton 2021-11-05 15:08:58 -05:00
  • 6bcee7f5f7 Add a configuration option to force "static" memories (#3503) Alex Crichton 2021-11-03 16:50:49 -05:00
  • 6428ac80d0 cargo update -p userfaultfd to 0.4.2 (#3505) Pat Hickey 2021-11-03 14:50:40 -07:00
  • c952969389 Remove unused dependencies (#3490) Benjamin Bouvier 2021-11-02 18:08:30 +01:00
  • b024603866 Merge pull request #3502 from cfallin/ifcmp-sp Chris Fallin 2021-11-01 14:04:51 -07:00
  • 5e96a447f0 Add back the ifcmp_sp CLIF opcode. Chris Fallin 2021-11-01 13:34:31 -07:00
  • 9e7760bd83 Merge pull request #3497 from bjorn3/misc_meta_simplifications Chris Fallin 2021-11-01 11:24:44 -07:00
  • d0aac82481 Merge pull request #3501 from bytecodealliance/alexcrichton-patch-1 Nick Fitzgerald 2021-11-01 10:42:08 -07:00
  • 5b3c570247 Add cranelift meeting notes for today Alex Crichton 2021-11-01 12:31:21 -05:00
  • 86d2ef8952 Fix CI bjorn3 2021-11-01 18:19:59 +01:00
  • 93e9bb02e4 Review comments bjorn3 2021-11-01 18:17:57 +01:00
  • 2fab40bec6 Merge pull request #3496 from bjorn3/legalizer_changes Chris Fallin 2021-11-01 09:48:30 -07:00
  • 3c1736f828 Merge pull request #3500 from bytecodealliance/fitzgen-patch-1 Nick Fitzgerald 2021-11-01 08:28:52 -07:00
  • 925a9f0444 Add slides for ISLE update in cranelift meeting Nick Fitzgerald 2021-11-01 08:26:43 -07:00
  • 240835f8e4 Check cranelift benchmarks in CI (#3494) Nils Martel 2021-11-01 15:33:45 +01:00