Commit Graph

33 Commits

Author SHA1 Message Date
Zachary Snow 69b2e86aee remove pattern synonyms which introduced excessive overhead 2020-07-09 21:01:18 -06:00
Zachary Snow 4b5e3232b9 support for localparam type 2020-07-08 19:39:26 -06:00
Zachary Snow 219a57c37b preliminary language support for parameterized class scopes 2020-07-08 17:46:37 -06:00
Zachary Snow 85e3d0f5b5 initial generate block scoping support
- significant refactor of struct conversion
- significant refactor of typedef conversion
- scoping support in multipack conversion
- scoping support in typeof conversion
2020-07-02 22:58:59 -06:00
Zachary Snow 3cfd368bc2 support multi-dimensional instances 2020-06-17 22:18:08 -04:00
Zachary Snow 3baa9cbac7 simplify typedef conversion 2020-06-11 20:37:53 -04:00
Zachary Snow 9249c9fa2b typdef conversion obeys generate scoping 2020-06-05 21:38:31 -04:00
Zachary Snow ae392d4536 fix single bit enum sizing
- single bit localparams retain explicit range
- fix $bits on unsized literals
- use Implicit over Maybe for underlying type
2020-06-05 21:32:02 -04: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 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 1584f39045 allow typename resolution of non-vector types 2019-09-25 23:45:18 -04:00
Zachary Snow 7267f94b0b allow signing on net types (closes #40) 2019-09-16 19:50:30 -04:00
Zachary Snow 5d80c83092 support for module attributes (resolves #39) 2019-09-15 23:17:14 -04:00
Zachary Snow c5f7f2cc5e typedef conversion gracefully skips yet-unknown typenames 2019-09-14 20:59:41 -04:00
Zachary Snow f5d6683422 generalization of array dimension(s) system functions 2019-09-14 12:38:26 -04:00
Zachary Snow a14d078230 substitution conversion for size casts (closes #27) 2019-09-11 22:52:01 -04:00
Zachary Snow 6271e16b68 functional parameter type conversion 2019-09-11 17:58:03 +02:00
Zachary Snow 8df1e67faf typedef traversal only marks interfaces as such 2019-09-09 18:44:45 +02:00
Zachary Snow 8a67a91166 added language support for (untagged) unions 2019-08-08 23:12:06 -04:00
Zachary Snow 04337988cc standardized handling of resolution across source files 2019-04-30 15:44:52 -04:00
Zachary Snow bc23aebc55 added language support for package-scoped calls and typenames 2019-04-24 03:37:47 -04:00
Zachary Snow 33dc4b3f88 conversions are applied per-file
- NestTF refactored to cover all package items
- fixed issue where type traverse skipped typedefs
2019-04-23 18:51:39 -04:00
Zachary Snow c8894cebde random documentation and cleanup 2019-04-23 00:23:32 -04:00
Zachary Snow 9a38225b1d several major fixes surrounding packed arrays
- entirely new PackedArray conversion (always flattens)
- typedef and struct correctly order packed ranges when combining types
- Stmt LHS traversal no longer traverses nested statements to avoid double conversion
- Logic conversion applies to `initial` blocks`
- new and modified tests to cover these cases
2019-04-08 21:28:33 -04:00
Zachary Snow c53b39319d added support and conversion handling of the $bits system function
This also entailed further fleshing out the expression traversal helper
to cover expressions in generate blocks, which could, of course, use
$bits.
2019-04-02 00:16:09 -04:00
Zachary Snow cecd141e57 revamped support system with most SystemVerilog types and signed types 2019-03-22 17:45:31 -04:00
Zachary Snow 0f4a60be1d functions and typedefs can now appear at the top level 2019-03-07 13:19:31 -05:00
Zachary Snow 729a75cd11 support for interfaces; new "declaration parser" 2019-03-04 02:58:00 -05:00
Zachary Snow b2e0c4fa97 preliminary support for structs 2019-03-01 20:32:46 -05:00
Zachary Snow ab91eaafd7 initial version of enum conversion 2019-02-28 22:44:31 -05:00
Zachary Snow 816d959fc8 rewrite Typedef conversion to use Traverse 2019-02-28 20:30:21 -05:00
Zachary Snow 7bc81ef67b directory re-org; streamline build setup 2019-02-28 13:52:31 -05:00