Zachary Snow
ba270acb0e
forbid mixing ordered and named port or param bindings
2021-04-29 15:32:54 -04:00
Zachary Snow
5a8801a45f
allow trailing commas in parameter and port lists and bindings
2021-04-23 16:17:18 -04:00
Zachary Snow
cfff359b51
isolate parse state abstraction
2021-04-20 19:47:55 -04:00
Zachary Snow
ecee8b3358
support for interface based typedefs
2021-04-15 11:35:20 -04:00
Zachary Snow
c0b8ba17de
simplify interface port type representation
2021-04-13 10:45:26 -04:00
Zachary Snow
5f26e755c9
preserve implicitness of task and function ports
2021-04-10 20:45:40 -04:00
Zachary Snow
dce7f14909
fix precedence of non-blocking assignment
2021-04-08 17:04:28 -04:00
Zachary Snow
c6dbdd09ca
preliminary language support for basic classes
2021-03-22 20:01:38 -04:00
Zachary Snow
31ebf181bb
improved parse errors for certain unmatched tokens
2021-03-06 15:03:04 -05:00
Zachary Snow
da07619642
support const declarations of alias types
2021-02-23 16:45:53 -05:00
Zachary Snow
ec766657a8
simplify value range representation
2021-02-17 17:12:57 -05:00
Zachary Snow
4bfcfe4b28
module item attrs aren't mapped onto trace statements
2021-02-17 13:35:10 -05:00
Zachary Snow
0d095e6afb
updated case inside representation
2021-02-17 13:29:44 -05:00
Zachary Snow
275130e0b0
move package param step to conversion
2021-01-27 16:41:39 -05:00
Zachary Snow
b28a3cac0d
represent typedefs as localparam types
2021-01-24 10:07:35 -07:00
Zachary Snow
378ede9e1a
standardize internal representation of unknown types
2021-01-24 09:55:03 -07:00
Zachary Snow
8eb3a251f7
package conversion overhaul
...
- full import and export support
- simplify AST representation of import and export
- allow package-scoped identifiers invoked as subroutines
- use scoped name resolution for identifiers in packages
- merge package item nesting conversion into package conversion
- fix handling of colliding enum items in separate modules
- fix visiting enum item exprs in types
2021-01-23 21:54:39 -07:00
Zachary Snow
40df902887
parser production rule for optional assignments
2021-01-21 12:05:44 -07:00
Zachary Snow
ea56f51d03
support for parameters without defaults
2021-01-21 11:55:23 -07:00
Zachary Snow
2081f6a32a
support attributes on port declarations
2020-12-08 11:28:28 -07:00
Zachary Snow
eb908b8db7
fix ordering of and outputs
2020-09-13 23:24:21 -04:00
Zachary Snow
e4135bb896
use strict State and Writer monads
2020-08-11 19:14:18 -04:00
Zachary Snow
67466eaa60
major interface conversion update
...
- module instances with modport bindings are now inlined
- support for modports in generate loops
- support for generic interfaces
- implied modport instance propagation
- add error message for interface instances missing port list
2020-08-08 20:43:47 -06:00
Zachary Snow
bf1d9283d7
interpret package parameters as localparams
2020-07-13 18:54:45 -06:00
Zachary Snow
d88c516d33
enhanced handling of number literals
...
- number literals are parsed rather than stored as strings
- fix array query functions used on non-trivial number literals
- more efficient expression simplification recursion
- expanded constant folding scenarios
2020-07-12 15:06:27 -06:00
Zachary Snow
69b2e86aee
remove pattern synonyms which introduced excessive overhead
2020-07-09 21:01:18 -06:00
Zachary Snow
219a57c37b
preliminary language support for parameterized class scopes
2020-07-08 17:46:37 -06:00
Zachary Snow
8d37db30e5
support complex modport expressions
...
- modports can use complex expressions
- update interface_infer test for consistency across simulators
- fix interface inlining of implicitly typed data declarations
2020-06-19 20:32:37 -04:00
Zachary Snow
12be569742
reduce usage of maybe
2020-06-14 15:56:09 -04:00
Zachary Snow
9adb7522e9
improve stmt representation
2020-06-09 21:18: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
790312d25d
vim modelines for Lex.x and Parse.y
2020-05-06 19:03:32 -04:00
Zachary Snow
543a104683
upgrade to stackage lts-14.26
2020-04-05 13:45:31 -04:00
Zachary Snow
bcafef8d01
allow empty list_of_parameter_assignments
2020-03-30 19:27:44 -04:00
Zachary Snow
1687b1c5c1
allow empty parameter_port_list ( resolves #83 )
2020-03-25 23:55:19 -04:00
Zachary Snow
35e75c0604
language support for strengths
2020-03-20 21:13:57 -04:00
Zachary Snow
bd68ab0852
faster parsing of very long files
2020-03-20 18:53:06 -04:00
Zachary Snow
dd9f040f1f
improved handling of genvars
2020-02-23 22:30:17 -05:00
Zachary Snow
463cdcb2c1
support complex sizes in size casts ( resolves #69 )
2020-02-15 16:48:09 -05:00
Zachary Snow
4b3b09d2db
allow extraneous semicolons in generate blocks
2020-02-08 22:15:35 -05:00
Zachary Snow
3c08767b63
redesigned preprocessor and lexer
2020-02-06 23:33:13 -05:00
Zachary Snow
2dcd35ade7
support typedefs with unpacked dimensions
2020-02-02 21:40:43 -05:00
Zachary Snow
a402a73477
alias macromodule to module
2020-02-01 16:45:33 -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
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
22d6ba4927
support evaluating functions as statements
2020-01-11 21:06:09 -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