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
ed816ac5dc
fix silly bugs from AST reorg
2019-03-25 14:40:57 -04:00
Zachary Snow
8907ac861d
split out Decl, LHS, and Stmt into separate AST modules
2019-03-25 13:29: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
Zachary Snow
1d2eccb32a
preliminary support for defparam
2019-03-18 12:37:46 -04:00
Zachary Snow
acfbdb07f8
completely rewrote preprocessor; more extensive directive support (include, timescale)
2019-03-18 05:00:23 -04:00
Zachary Snow
e187de5623
support for commas in event expressions
2019-03-08 17:29:44 -05:00
Zachary Snow
bddb8ceaff
fix multiple instantiations on one line
2019-03-08 17:01:49 -05:00
Zachary Snow
b5b9fdb37e
support for null call arguments
2019-03-08 16:55:03 -05:00
Zachary Snow
b4b6ea348d
support for "unbased_unsized_literal"
2019-03-08 16:37:20 -05:00
Zachary Snow
943b7adc08
support for more complex LHSs with dots in decl token parser
2019-03-08 16:26:47 -05:00
Zachary Snow
2150e8a4bb
support optional tags in more places
2019-03-08 16:03:29 -05:00