mirror of https://github.com/zachjs/sv2v.git
support time literals as expressions
This commit is contained in:
parent
1a394cff9c
commit
08c38e6193
|
|
@ -441,6 +441,7 @@ convertAsgn structs types (lhs, expr) =
|
|||
(Implicit Unspecified [], Call (Just x) f args)
|
||||
convertSubExpr (String s) = (Implicit Unspecified [], String s)
|
||||
convertSubExpr (Number n) = (Implicit Unspecified [], Number n)
|
||||
convertSubExpr (Time n) = (Implicit Unspecified [], Time n)
|
||||
convertSubExpr (PSIdent x y) = (Implicit Unspecified [], PSIdent x y)
|
||||
convertSubExpr (Repeat e es) =
|
||||
(Implicit Unspecified [], Repeat e' es')
|
||||
|
|
|
|||
|
|
@ -426,6 +426,7 @@ traverseNestedExprsM mapper = exprMapper
|
|||
exprMapper e >>= return . Right
|
||||
em (String s) = return $ String s
|
||||
em (Number s) = return $ Number s
|
||||
em (Time s) = return $ Time s
|
||||
em (Ident i) = return $ Ident i
|
||||
em (PSIdent x y) = return $ PSIdent x y
|
||||
em (Range e m (e1, e2)) = do
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ type TypeOrExpr = Either Type Expr
|
|||
data Expr
|
||||
= String String
|
||||
| Number String
|
||||
| Time String
|
||||
| Ident Identifier
|
||||
| PSIdent Identifier Identifier
|
||||
| Range Expr PartSelectMode Range
|
||||
|
|
@ -62,6 +63,7 @@ data Expr
|
|||
instance Show Expr where
|
||||
show (Nil ) = ""
|
||||
show (Number str ) = str
|
||||
show (Time str ) = str
|
||||
show (Ident str ) = str
|
||||
show (PSIdent x y ) = printf "%s::%s" x y
|
||||
show (String str ) = printf "\"%s\"" str
|
||||
|
|
|
|||
|
|
@ -1085,6 +1085,7 @@ Expr :: { Expr }
|
|||
: "(" Expr ")" { $2 }
|
||||
| String { String $1 }
|
||||
| Number { Number $1 }
|
||||
| Time { Time $1 }
|
||||
| Identifier CallArgs { Call (Nothing) $1 $2 }
|
||||
| Identifier "::" Identifier CallArgs { Call (Just $1) $3 $4 }
|
||||
| DimsFn "(" TypeOrExpr ")" { DimsFn $1 $3 }
|
||||
|
|
|
|||
Loading…
Reference in New Issue