Commit Graph

258 Commits

Author SHA1 Message Date
Zachary Snow df7277a6a0 simplification applies to exprs in decls 2020-04-05 22:13:19 -04:00
Zachary Snow b8d512e31f remove unneeded imports 2020-04-05 13:45:22 -04:00
Zachary Snow c262324a36 removed Unique dependency
- made stream conversion pure
- type param conversion uses Set for instance uniqueness
- updated NOTICE and resolutions
2020-04-05 13:09:52 -04:00
Zachary Snow e7381c4db2 fix double multipack conversion of Exprs in LHSs 2020-03-24 22:02:38 -04:00
Zachary Snow 5ad4849454 fix slicing direction for multi-packed arrays 2020-03-22 19:37:58 -04:00
Zachary Snow 35e75c0604 language support for strengths 2020-03-20 21:13:57 -04:00
Zachary Snow c03dba096f pack sliced arrays (resolves #78) 2020-03-18 23:40:21 -04:00
Zachary Snow dd9f040f1f improved handling of genvars 2020-02-23 22:30:17 -05:00
Zachary Snow b2504afe71 package convertion perf tweak 2020-02-21 21:17:47 -05:00
Zachary Snow 95524c46ad remove excess patterns from struct conversion 2020-02-21 21:03:33 -05:00
Zachary Snow 400c009480 traversal performance improvements 2020-02-20 23:57:41 -05:00
Zachary Snow a415d9eb3d fix type propagation of struct fields bit accesses 2020-02-20 00:19:14 -05:00
Zachary Snow 470fa01eb2 updated casting conventions
- explicit enum casts in source are converted to size casts
- conversion for basic pattern array literals of unsized numbers
- unsized number array literals preserve signing
- more aggressive ternary simplification
2020-02-19 18:58:25 -05:00
Zachary Snow 976f582287 push struct and multi-packed ternaries into ranges
- the ternary expressions were previously used to decide the direction
  of generated part selects
- this fixes an issue where ternaries were generated for LHSs
2020-02-18 21:25:20 -05:00
Zachary Snow db4c396389 minor multi-packed verbosity improvement 2020-02-17 17:31:14 -05:00
Zachary Snow 8f2d7dd5c7 fixed multiple issues with struct and multi-packed conversions
- struct conversion handles directionality of fields
- struct conversion supports minus part selects
- fixed incorrect handling of directional part selects in multi-packed
  conversion
- multi-packed conversion defines standard ranges in terms of
  directional part selects for clarity
- fixed potential loop due to overeager untagging in multi-packed
  conversion
2020-02-17 13:57:48 -05:00
Zachary Snow 80984f7e7e size casts on decimal numbers are simplified 2020-02-17 12:53:26 -05:00
Zachary Snow 5f0ccee065 conversion for unsized integer arrays 2020-02-17 12:12:51 -05:00
Zachary Snow 20dc92f6d8 fix typeof integer slices 2020-02-16 23:39:48 -05:00
Zachary Snow 9af38e7870 globally imported items are selectively nested 2020-02-16 15:44:03 -05:00
Zachary Snow 799141af42 enum conversion covers nested module items (resolves #70) 2020-02-15 17:14:59 -05:00
Zachary Snow fe8839eaec fix struct typing of ternary expressions (resolves #73) 2020-02-15 14:44:49 -05:00
Zachary Snow aea64e903c pack arrays assigned to other arrays 2020-02-13 23:59:01 -05:00
Zachary Snow 8f4e783fd1 remove empty generate loops 2020-02-09 23:20:35 -05:00
Zachary Snow fcaca6c33a package item nesting perf tweaks 2020-02-09 22:34:27 -05:00
Zachary Snow c876c447e6 fix interface inlining renaming 2020-02-09 22:17:48 -05:00
Zachary Snow df4244d8d5 more aggressive expression simplification 2020-02-09 20:03:08 -05:00
Zachary Snow 9036bbabe4 cover struct width $bits edge case 2020-02-09 19:07:12 -05:00
Zachary Snow 4cf65dd4e2 support for struct type parameters
- param type conversion properly supports deferred param type resolution
- fixed struct conversion incomplete Subroutine traversal
- struct conversion excludes param types from conversion
- parameters are defaulted to have integer type
2020-02-09 17:31:24 -05:00
Zachary Snow 2f8ee303de keyword args conversion covers tasks 2020-02-09 14:17:18 -05:00
Zachary Snow 8a008c3024 interface conversion supports positional port bindings
- also fixes an issue where system tasks were inadvertently prefixed
  during the interface conversion
2020-02-09 13:42:45 -05:00
Zachary Snow 7a00c36a70 jump conversion keeps timing controls at the top level 2020-02-09 11:53:21 -05:00
Zachary Snow eb76d16dde faster package item nesting conversion 2020-02-09 11:52:48 -05:00
Zachary Snow 48f84a9ed4 faster param type conversion 2020-02-09 11:52:33 -05:00
Zachary Snow 88c401e856 additional interface conversion error messages 2020-02-07 19:10:21 -05:00
Zachary Snow 9694799a23 more consistent procedural assignment support 2020-02-01 15:52:52 -05:00
Zachary Snow 610d9abacf support for gates with delays 2020-01-31 20:24:37 -05:00
Zachary Snow 6e4a19d00b flatten generate blocks with one item 2020-01-31 19:43:34 -05:00
Zachary Snow dd0eb5981d added source trace comments
- Trace comments cover module items, decls, and stmts
- Added pseudo-lexer to Alex parser for monadic Position production
- Added Position to every DeclToken
- Removed Comment PackageItem
- Added CommentStmt and CommentDecl
- Fixed traversal skipping outer MIAttr ModuleItems
- Generally cleaned up Parser modules
2020-01-30 22:17:17 -05:00
Zachary Snow 17e17ebd7f fix struct array pattern conversion (resolves #60) 2020-01-20 17:26:03 -08:00
Zachary Snow 6f0fa58ace simplify struct LHS handling 2020-01-14 00:23:16 -05:00
Zachary Snow e62074c756 type operator full select support 2020-01-11 22:52:12 -05:00
Zachary Snow 22d6ba4927 support evaluating functions as statements 2020-01-11 21:06:09 -05:00
Zachary Snow 2bd24b6086 expand type operator support 2020-01-11 20:35:51 -05:00
Zachary Snow b58248fc2c support type operator on simple expressions 2020-01-11 16:22:07 -05:00
Zachary Snow 82217ec05c updated lifetime representation; struct packers use automatic 2019-12-22 12:01:05 -05:00
Zachary Snow 7ea5b60d0b support for inside case statements 2019-12-21 20:41:19 -05:00
Zachary Snow 7f2fe54b11 fix jump statement conversion 2019-12-09 21:17:01 -05:00
Zachary Snow fb5fd39388 support for inside expression ranges and wildcards 2019-12-08 17:36:25 -05:00
Zachary Snow 96fe986b2d cleanup case representation 2019-12-01 23:25:33 -05:00