Zachary Snow
dca3a55fa6
support for indexed part select in first procedural Stmt
2019-04-08 22:02:49 -04:00
Zachary Snow
9b51d7566b
more expression simplification
2019-04-08 21:57:50 -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
fb3d68e339
propper support for indexed part select addressing
2019-04-05 13:53:52 -04:00
Zachary Snow
011d88b544
PackedArray conversion supports arbitrary endianness
2019-04-04 19:40:19 -04:00
Zachary Snow
f47446653d
Updated README
2019-04-03 23:40:28 -04:00
Zachary Snow
f9d46d548e
cleanup of Enum conversion; additional test
2019-04-03 21:31:56 -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
f59ed11ef5
add support for specifying compile-time defines
2019-04-02 16:19:59 -04:00
Zachary Snow
5351dee80a
minor scoping/ordering fixes for pesky VCS restrictions
2019-04-02 15:36:29 -04:00
Zachary Snow
ba7ffdf14d
$bits conversion handles types with more than 1 dimension
2019-04-02 13:44:47 -04:00
Zachary Snow
86195d9ea1
interface conversion obeys function/task identifier shadowing
2019-04-02 13:35:15 -04:00
Zachary Snow
f13275bfa1
fix Struct and Interface conversion for expressions within LHSs
2019-04-02 01:00:02 -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
5ea2ec9ddf
added conversion for name task and function arguments
2019-04-01 13:16:21 -04:00
Zachary Snow
f1ac4fc04f
fixed PackedArray conversion assigning to reg for Local arrays
2019-04-01 02:45:36 -04:00
Zachary Snow
00d12c7ae5
fixed combined ranges incorrect upper bound calculation
2019-04-01 02:26:40 -04:00
Zachary Snow
9b8a95029b
more robust and full-featured interface conversion
2019-04-01 01:23:44 -04:00
Zachary Snow
0a3e9f4f49
more range-bit edge cases in Struct conversion
2019-03-31 17:35:00 -04:00
Zachary Snow
650c602be9
struct conversion handles bit expressions and expressions outside of assignments
2019-03-31 17:00:55 -04:00
Zachary Snow
b8d31d2a41
support for packed array flattening in tasks and functions
2019-03-31 16:43:19 -04:00
Zachary Snow
b148117935
fix conversion ordering
2019-03-31 15:57:28 -04:00
Zachary Snow
7883e263f9
several conversion bug fixes
...
- convert default pattern used to fill a vector
- convert Logic in parameter and localparam types
- interface conversion should happen early for type resolution later on
- interface conversion handles renaming of usages of inlined decls
2019-03-31 15:01:10 -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
c8e776265c
fix ports bound to decls inlined from an interface expansion
2019-03-30 22:15:48 -04:00
Zachary Snow
a059b6e83c
fix silly bug preventing structs from being converting
2019-03-30 03:32:08 -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
abd7ccf49a
don't prematurely unpack structs with complex types; support for convert patterns that use `default`
2019-03-30 02:33:31 -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