|
@@ -99,6 +99,8 @@
|
|
|
\newcommand{\FType}{\itm{ftype}}
|
|
|
\newcommand{\Instr}{\itm{instr}}
|
|
|
\newcommand{\Block}{\itm{block}}
|
|
|
+\newcommand{\Blocks}{\itm{blocks}}
|
|
|
+\newcommand{\Params}{\itm{params}}
|
|
|
\newcommand{\Tail}{\itm{tail}}
|
|
|
\newcommand{\Prog}{\itm{prog}}
|
|
|
\newcommand{\Arg}{\itm{arg}}
|
|
@@ -258,11 +260,9 @@
|
|
|
\newcommand{\ALLOC}[2]{\LP\key{Allocate}~#1~#2\RP}
|
|
|
\newcommand{\ALLOCCLOS}[3]{\LP\key{AllocateClosure}~#1~#2~#3\RP}
|
|
|
|
|
|
-\newcommand{\VOID}[1]{\key{(Void)}}
|
|
|
+\newcommand{\VOID}{\key{(Void)}}
|
|
|
\newcommand{\FUNREFARITY}[2]{\key{(FunRefArity}~#1~#2\code{)}}
|
|
|
\newcommand{\CFUNREFARITY}[2]{\key{(fun-ref-arity}~#1~#2\code{)}}
|
|
|
-\newcommand{\LAMBDA}[3]{\key{(Lambda}~#1~#2~#3\code{)}}
|
|
|
-\newcommand{\CLAMBDA}[3]{\LP\key{lambda:}\,#1\,\key{:}\,#2~\Exp\RP}
|
|
|
\newcommand{\CGLAMBDA}[3]{\LP\key{lambda:}\,#1\,#2~\Exp\RP}
|
|
|
\newcommand{\INJECT}[2]{\LP\key{Inject}~#1~#2\RP}
|
|
|
\newcommand{\PROJECT}[2]{\LP\key{Project}~#1~#2\RP}
|
|
@@ -271,6 +271,8 @@
|
|
|
\newcommand{\VALUEOF}[2]{\LP\key{ValueOf}~#1~#2\RP}
|
|
|
|
|
|
\if\edition\racketEd
|
|
|
+\newcommand{\LAMBDA}[3]{\key{(Lambda}~#1~#2~#3\code{)}}
|
|
|
+\newcommand{\CLAMBDA}[3]{\LP\key{lambda:}\,#1\,\key{:}\,#2~\Exp\RP}
|
|
|
\newcommand{\TAILCALL}[2]{\key{(TailCall}~#1~#2\code{)}}
|
|
|
\newcommand{\CASSIGN}[2]{#1~\key{=}~#2\key{;}}
|
|
|
\newcommand{\ASSIGN}[2]{\key{(Assign}~#1~#2\key{)}}
|
|
@@ -282,9 +284,13 @@
|
|
|
\newcommand{\FUNDEF}[5]{\key{(Def}~#1~#2~#3~#4~#5\code{)}}
|
|
|
\fi
|
|
|
\if\edition\pythonEd
|
|
|
-\newcommand{\TAILCALL}[2]{\key{TailCall}\LP#1\code{,}#2\RP}
|
|
|
+\newcommand{\LAMBDA}[2]{\key{Lambda}\LP#1\code{, }#2\RP}
|
|
|
+\newcommand{\CLAMBDA}[2]{\key{lambda}\,#1\,\key{:}\,#2}
|
|
|
+\newcommand{\TAILCALL}[2]{\key{TailCall}\LP#1\code{, }#2\RP}
|
|
|
\newcommand{\CASSIGN}[2]{#1~\key{=}~#2}
|
|
|
\newcommand{\ASSIGN}[2]{\key{Assign}\LP\LS #1\RS\key{, }#2\RP}
|
|
|
+\newcommand{\CANNASSIGN}[3]{#1~\key{:}~#2~\key{=}~#3}
|
|
|
+\newcommand{\ANNASSIGN}[3]{\key{AnnAssign}\LP#1\key{, }#2\key{, }#3\key{, 0}\RP}
|
|
|
\newcommand{\IFSTMT}[3]{\key{If}\LP #1 \code{, } #2 \code{, } #3 \RP}
|
|
|
\newcommand{\CIFSTMT}[3]{\key{if}~#1\code{:}~#2~\code{else:}~#3}
|
|
|
\newcommand{\CBEGIN}[2]{\key{begin:}~#1~#2}
|
|
@@ -294,7 +300,7 @@
|
|
|
\newcommand{\CRETURN}[1]{\key{return}~#1}
|
|
|
\newcommand{\GOTO}[1]{\key{Goto}\LP #1 \RP}
|
|
|
\newcommand{\CGOTO}[1]{\key{goto}~#1}
|
|
|
-\newcommand{\FUNDEF}[5]{\key{FunctionDef}\LP#1\key{, }#2\key{, }#3\key{, }#5\RP}
|
|
|
+\newcommand{\FUNDEF}[5]{\key{FunctionDef}\LP#1\key{, }#2\key{, }#3\key{, None}\key{, }#5\key{, None}\RP}
|
|
|
\fi
|
|
|
|
|
|
\newcommand{\SEQ}[2]{\key{(Seq}~#1~#2\key{)}}
|
|
@@ -305,9 +311,9 @@
|
|
|
\newcommand{\DEREF}[2]{\key{(Deref}~#1~#2\key{)}}
|
|
|
\newcommand{\BININSTR}[3]{\key{(Instr}~#1~\key{(}#2~#3\key{))}}
|
|
|
\newcommand{\UNIINSTR}[2]{\key{(Instr}~#1~\key{(}#2\key{))}}
|
|
|
-\newcommand{\CALLQ}[2]{\key{(Callq}~#1~#2\key{)}}
|
|
|
-\newcommand{\PUSHQ}[1]{\key{(Pushq}~#1\key{)}}
|
|
|
-\newcommand{\POPQ}[1]{\key{(Popq}~#1\key{)}}
|
|
|
+\newcommand{\CALLQ}[2]{\LP\key{Callq}~#1~#2\RP}
|
|
|
+\newcommand{\PUSHQ}[1]{\LP\key{Instr}~\key{pushq}~\LP#1\RP\RP}
|
|
|
+\newcommand{\POPQ}[1]{\LP\key{Instr}~\key{popq}~\LP#1\RP\RP}
|
|
|
\newcommand{\JMP}[1]{\key{(Jmp}~#1\key{)}}
|
|
|
\newcommand{\JMPIF}[2]{\key{(JmpIf}~#1~#2\key{)}}
|
|
|
\newcommand{\RETQ}{\key{(Retq)}}
|