Commit Graph

76 Commits

Author SHA1 Message Date
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 da38776d73 decls are now package items 2019-04-23 17:12:56 -04:00
Zachary Snow d01df6110b preliminary language support for packages 2019-04-23 15:53:51 -04:00
Zachary Snow 85d22d8d03 support for generate constructs outside of generate regions and genvar declarations in generate loops 2019-04-23 14:38:44 -04:00
Zachary Snow 88579c6d1f logic conversion fixes produced reg-to-output bindings
- generally cleaned up and documented the Logic conversion
- made exprToLHS a shared helper function, now uses Maybe
- ported existing local exprToLHS helpers to the new one
2019-04-22 20:44:35 -04:00
Zachary Snow 4cbfd8fa1a enum conversion explicitly sizes generated params and supports partial types 2019-04-18 21:01:29 -04:00
Zachary Snow 369e9f2f19 updated Stack snapshot; handled pattern matching failure issues introduced in GHC 8.6 2019-04-16 15:52:38 -04:00
Zachary Snow dca3a55fa6 support for indexed part select in first procedural Stmt 2019-04-08 22:02:49 -04:00
Zachary Snow fb3d68e339 propper support for indexed part select addressing 2019-04-05 13:53:52 -04:00
Zachary Snow 383754fa7a final major round of splitting and cleanup in the SystemVerilog module 2019-04-03 20:24:09 -04:00
Zachary Snow 6d0f7dd0a7 significantly stronger support, and proper handling of assertions 2019-04-03 19:08:30 -04:00
Zachary Snow e79c95c5f0 some cleanup throughout the SystemVerilog module 2019-04-03 13:45:43 -04:00
Zachary Snow 39f377e022 lexer has useful tagging of tokens from a macro expansion 2019-04-03 13:05:33 -04:00
Zachary Snow 2f91e25aa2 more lexer tests 2019-04-03 00:16:30 -04:00
Zachary Snow a18270a3bd many lexer fixes
- added support for macros with default arguments
- fixed bug where nested preprocessor conditionals would not be skipped
- macro expansion respects escaped quotation marks
- macro expansion considers whole identifiers, rather than substituting in wildly
2019-04-02 23:05:42 -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 dc759dbb68 support for parameters of all types; fix named argument display bug 2019-03-31 14:25:09 -04:00
Zachary Snow 317994ed3a faster lexing by storing tokens in reverse order 2019-03-30 03:21:56 -04:00
Zachary Snow b45217bae9 hacky support for 'part-select addressing' 2019-03-30 02:50:45 -04:00
Zachary Snow dd89e5c9ea minor fixes 2019-03-30 01:56:57 -04:00
Zachary Snow c4f5718f51 support for binary xnor 2019-03-30 01:33:49 -04:00
Zachary Snow 2314f97a96 support for call args with unnamed and named arguments 2019-03-30 01:27:48 -04:00
Zachary Snow a432d75939 additional SystemVerilog language support
- unique0 and priority
- uniqueness on if statements
- preliminary discard-only parsing of assertions
- parameters with alias typenames
2019-03-30 00:47:42 -04:00
Zachary Snow 17fd6f8ce5 proper handling of single-line comments in macro definitions 2019-03-29 19:08:44 -04:00
Zachary Snow c4449fd9ca better support for macros with arguments 2019-03-29 18:55:45 -04:00
Zachary Snow e49cb3536e beginning work to support macros with arguments; lex posn fix 2019-03-29 17:02:49 -04:00
Zachary Snow 1a170f41c2 allow for stray semicolons in module items; allow for multiple struct field declarations on one line 2019-03-29 16:48:58 -04:00
Zachary Snow 5dc049b9e5 cleanup pass over Lex.x 2019-03-29 13:59:51 -04:00
Zachary Snow d578aee5d9 conflate the preprocessor and lexer
This should make it much easier to add support for ``, `", macros with
arguments, etc., in the future.
2019-03-29 05:33:17 -04:00
Zachary Snow e69895af54 initial setup for combining pre-processor and lexer 2019-03-29 01:10:46 -04:00
Zachary Snow 0d9ed3e1fa updated CLI to support include dirs and multiple files 2019-03-28 19:55:53 -04:00
Zachary Snow 7e37fe4338 fix nested conditional preprocessor directives 2019-03-28 18:04:28 -04:00
Zachary Snow 848f8cbd61 support for ++ and -- as bare Stmts 2019-03-28 15:08:05 -04:00
Zachary Snow e4efb4803b fix broken for inits parsing; beefed up relong test script to catch such mistakes 2019-03-27 03:33:28 -04:00
Zachary Snow 713fb8a658 support for more complex for loop components 2019-03-27 01:53:26 -04:00
Zachary Snow 1c1740f1e3 support for constant size casts 2019-03-27 00:34:17 -04:00
Zachary Snow 5de77ab62d fix function and task input types 2019-03-26 23:51:31 -04:00
Zachary Snow 6cc4654ad6 support for real numbers 2019-03-26 15:21:06 -04:00
Zachary Snow 39f6bbb3d8 preliminary support for extern and module/interface lifetimes 2019-03-26 15:10:16 -04:00
Zachary Snow 0352414e0f surprisingly non-disgusting addition of attribute instances to module items and statements 2019-03-26 01:54:16 -04:00
Zachary Snow 0e2658fdca fix string literal lexing 2019-03-25 19:42:20 -04:00
Zachary Snow a2d0872d6f support for delays on continuous assignments 2019-03-25 19:31:06 -04:00
Zachary Snow ec06b2b97a support for basic event triggers 2019-03-25 19:06:54 -04:00
Zachary Snow a803284be8 support for instantiations with a range 2019-03-25 19:06:35 -04:00
Zachary Snow 77f0d23d4b starting work to clean up and segment AST 2019-03-22 19:39:28 -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 45d16a30db support non-blocking assignments with delay or event controls 2019-03-22 02:47:25 -04:00
Zachary Snow 9259fef249 tolerate spaces in numeric literals in line with the spec 2019-03-22 02:01:48 -04:00
Zachary Snow 90bd6b3492 added support for n-input gates and n-output gates 2019-03-22 01:32:43 -04:00
Zachary Snow 071d56a1ea more accurate handling of tagged blocks 2019-03-18 14:41:09 -04:00