mirror of https://github.com/zachjs/sv2v.git
cleaned up SystemTasks.hs
This commit is contained in:
parent
4181b94c0f
commit
31ffa439f7
|
|
@ -14,34 +14,36 @@ convert =
|
|||
map $ traverseDescriptions $ traverseModuleItems $
|
||||
traverseStmts $ traverseNestedStmts convertStmt
|
||||
|
||||
timeCall :: Expr
|
||||
timeCall = Call (Ident "$time") (Args [] [])
|
||||
|
||||
convertStmt :: Stmt -> Stmt
|
||||
convertStmt (Subroutine (Ident "$info") args) =
|
||||
Block Seq "" [] [
|
||||
(Subroutine (Ident "$write") (Args [(String "[%0t] Info: "), (Call (Ident "$time") (Args [] []))] [])),
|
||||
(Subroutine (Ident "$write") (Args [(String "[%0t] Info: "), timeCall] [])),
|
||||
(Subroutine (Ident "$display") args)
|
||||
]
|
||||
|
||||
convertStmt (Subroutine (Ident "$warning") args) =
|
||||
Block Seq "" [] [
|
||||
(Subroutine (Ident "$write") (Args [(String "[%0t] Warning: "), (Call (Ident "$time") (Args [] []))] [])),
|
||||
(Subroutine (Ident "$write") (Args [(String "[%0t] Warning: "), timeCall] [])),
|
||||
(Subroutine (Ident "$display") args)
|
||||
]
|
||||
|
||||
convertStmt (Subroutine (Ident "$error") args) =
|
||||
Block Seq "" [] [
|
||||
(Subroutine (Ident "$write") (Args [(String "[%0t] Error: "), (Call (Ident "$time") (Args [] []))] [])),
|
||||
(Subroutine (Ident "$write") (Args [(String "[%0t] Error: "), timeCall] [])),
|
||||
(Subroutine (Ident "$display") args)
|
||||
]
|
||||
|
||||
convertStmt (Subroutine (Ident "$fatal") (Args [] [])) =
|
||||
Block Seq "" [] [
|
||||
(Subroutine (Ident "$write") (Args [(String "[%0t] Fatal: "), (Call (Ident "$time") (Args [] []))] [])),
|
||||
(Subroutine (Ident "$display") (Args [] [])),
|
||||
(Subroutine (Ident "$display") (Args [(String "[%0t] Fatal:"), timeCall] [])),
|
||||
(Subroutine (Ident "$finish") (Args [] []))
|
||||
]
|
||||
convertStmt (Subroutine (Ident "$fatal") (Args (finishArgs:displayArgs) [])) =
|
||||
convertStmt (Subroutine (Ident "$fatal") (Args (finishArgs:displayArgs) _)) =
|
||||
Block Seq "" [] [
|
||||
(Subroutine (Ident "$write") (Args [(String "Fatal:")] [])),
|
||||
(Subroutine (Ident "$write") (Args [(String "[%0t] Fatal: "), timeCall] [])),
|
||||
(Subroutine (Ident "$display") (Args displayArgs [])),
|
||||
(Subroutine (Ident "$finish") (Args [finishArgs] []))
|
||||
]
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ module top;
|
|||
$error;
|
||||
$error("%b", 3);
|
||||
$fatal;
|
||||
$fatal(0);
|
||||
$fatal(0, "%b", 4);
|
||||
end
|
||||
endmodule
|
||||
|
|
|
|||
|
|
@ -12,10 +12,12 @@ module top;
|
|||
$display;
|
||||
$write("[%0t] Error: ", $time);
|
||||
$display("%b", 3);
|
||||
$display("[%0t] Fatal:", $time);
|
||||
$finish;
|
||||
$write("[%0t] Fatal: ", $time);
|
||||
$display;
|
||||
$finish;
|
||||
$write("Fatal:");
|
||||
$finish(0);
|
||||
$write("[%0t] Fatal: ", $time);
|
||||
$display("%b", 4);
|
||||
$finish(0);
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue