|
@@ -71,12 +71,12 @@
|
|
|
\newcommand{\LangCast}{$\Lang_{\mathsf{Cast}}$} %R9'
|
|
|
\newcommand{\LangCastM}{\Lang_{\mathsf{Cast}}} %R9'
|
|
|
\newcommand{\LangProxy}{\ensuremath{\Lang_{\mathsf{Proxy}}}} %R8''
|
|
|
-\newcommand{\LangPVec}{\ensuremath{\Lang_{\mathsf{PVec}}}} %R8''
|
|
|
-\newcommand{\LangPVecFunRef}{\ensuremath{\Lang^{\mathsf{FunRef}}_{\mathsf{PVec}}}} %R8''
|
|
|
-\newcommand{\LangPVecAlloc}{\ensuremath{\Lang^{\mathsf{Alloc}}_{\mathsf{PVec}}}} %R8''
|
|
|
+\newcommand{\LangPVec}{\ensuremath{\Lang_{\mathsf{POr}}}} %R8''
|
|
|
+\newcommand{\LangPVecFunRef}{\ensuremath{\Lang^{\mathsf{FunRef}}_{\mathsf{POr}}}} %R8''
|
|
|
+\newcommand{\LangPVecAlloc}{\ensuremath{\Lang^{\mathsf{Alloc}}_{\mathsf{POr}}}} %R8''
|
|
|
\newcommand{\LangPoly}{\ensuremath{\Lang_{\mathsf{Poly}}}} %R10
|
|
|
\newcommand{\LangInst}{\ensuremath{\Lang_{\mathsf{Inst}}}} %R'10
|
|
|
-\newcommand{\LangCLoopPVec}{\ensuremath{\CLang^{\mathsf{PVec}}_{\circlearrowleft}}} %Cp7
|
|
|
+\newcommand{\LangCLoopPVec}{\ensuremath{\CLang^{\mathsf{POr}}_{\circlearrowleft}}} %Cp7
|
|
|
|
|
|
\newcommand{\LangXVar}{$\mathrm{x86}_{\mathsf{Var}}$} % pseudo x86_0
|
|
|
\newcommand{\LangXASTInt}{\ensuremath{\mathrm{x86}_{\mathsf{Int}}}} % x86_0
|
|
@@ -147,9 +147,14 @@
|
|
|
\newcommand{\CUNIOP}[2]{\LP #1~#2 \RP}
|
|
|
\newcommand{\BINOP}[3]{\key{(Prim}~#1~\code{(}#2~#3\code{))}}
|
|
|
\newcommand{\CBINOP}[3]{\LP #1~#2~#3\RP}
|
|
|
+\newcommand{\EQNAME}{\key{eq?}}
|
|
|
\newcommand{\CEQ}[2]{\LP\key{eq?}~#1~#2\RP}
|
|
|
+\newcommand{\IFNAME}{\key{If}}
|
|
|
\newcommand{\IF}[3]{\key{(If}\,#1~#2~#3\key{)}}
|
|
|
\newcommand{\CIF}[3]{\LP\key{if}~#1~#2~#3\RP}
|
|
|
+\newcommand{\ANDNAME}{\key{and}}
|
|
|
+\newcommand{\ORNAME}{\key{or}}
|
|
|
+\newcommand{\NOTNAME}{\key{not}}
|
|
|
\newcommand{\AND}[2]{\key{(Prim}~\code{'and}~\code{(}#1~#2\code{))}}
|
|
|
\newcommand{\OR}[2]{\key{(Prim}~\code{'or}~\code{(}#1~#2\code{))}}
|
|
|
\newcommand{\CAND}[2]{\CBINOP{\key{and}}{#1}{#2}}
|
|
@@ -157,11 +162,17 @@
|
|
|
\newcommand{\INTTY}{{\key{Integer}}}
|
|
|
\newcommand{\INTTYPE}{{\key{Integer}}}
|
|
|
\newcommand{\BOOLTY}{{\key{Boolean}}}
|
|
|
+\newcommand{\TUPLETYPENAME}{\key{Vector}}
|
|
|
+\newcommand{\ARRAYTYPENAME}{\key{Vectorof}}
|
|
|
\newcommand{\VECTY}[1]{\LP\key{Vector}~#1\RP}
|
|
|
\newcommand{\ARRAYTY}[1]{\LP\key{Vectorof}~#1\RP}
|
|
|
\newcommand{\CARRAYTY}[1]{\LP\key{Vectorof}~#1\RP}
|
|
|
-\newcommand{\ANYTY}{{\key{Any}}}
|
|
|
-\newcommand{\CANYTY}{{\key{Any}}}
|
|
|
+\newcommand{\ANYTY}{\key{Any}}
|
|
|
+\newcommand{\CANYTY}{\key{Any}}
|
|
|
+\newcommand{\PTUPLETYNAME}{\key{PVector}}
|
|
|
+\newcommand{\PARRAYTYNAME}{\key{PVectorof}}
|
|
|
+\newcommand{\PTUPLETY}[1]{\LP\key{PVector}~#1\RP}
|
|
|
+\newcommand{\CPTUPLETY}[1]{\LP\key{PVector}~#1\RP}
|
|
|
\newcommand{\CPROGRAM}[2]{\LP\code{CProgram}~#1~#2\RP}
|
|
|
\newcommand{\CPROGRAMDEFS}[2]{\LP\code{CProgramDefs}~#1~#2\RP}
|
|
|
\newcommand{\LET}[3]{\key{(Let}~#1~#2~#3\key{)}}
|
|
@@ -184,6 +195,12 @@
|
|
|
%% Use BEGIN instead of LET -Jeremy
|
|
|
%% \newcommand{\LET}[3]{\key{Let}\LP #1 \key{,} #2 \key{,} #3 \RP}
|
|
|
%% \newcommand{\CLET}[3]{\key{let}~#1~\key{=}~#2~\key{in}~#3}
|
|
|
+\newcommand{\PTUPLETYNAME}{\key{ProxyOrTupleType}}
|
|
|
+\newcommand{\PARRAYTYNAME}{\key{ProxyOrListType}}
|
|
|
+\newcommand{\PTUPLETY}[1]{\key{ProxyOrTupleType}\LP#1\RP}
|
|
|
+\newcommand{\CPTUPLETY}[1]{\key{ProxyOrTupleType}\LP#1\RP}
|
|
|
+\newcommand{\PARRAYTY}[1]{\key{ProxyOrListType}\LP#1\RP}
|
|
|
+\newcommand{\CPARRAYTY}[1]{\key{ProxyOrListType}\LP#1\RP}
|
|
|
\newcommand{\QUOTE}[1]{\code{'}#1\code{'}}
|
|
|
\newcommand{\INT}[1]{{\key{Constant}\LP#1\RP}}
|
|
|
\newcommand{\READOP}{{\key{input\_int}}}
|
|
@@ -205,6 +222,8 @@
|
|
|
\newcommand{\CUNIOP}[2]{#1~#2}
|
|
|
\newcommand{\BINOP}[3]{\key{BinOp}\LP #1 \code{,} #2 \code{,} #3 \RP}
|
|
|
\newcommand{\CBINOP}[3]{#2~#1~#3}
|
|
|
+\newcommand{\EQNAME}{\key{Eq}}
|
|
|
+\newcommand{\NOTEQNAME}{\key{NotEq}}
|
|
|
\newcommand{\CEQ}[2]{#1~\code{==}~#2}
|
|
|
\newcommand{\CGET}[2]{#1 \LS #2 \RS}
|
|
|
\newcommand{\GET}[2]{\key{Subscript}\LP #1 \code{,} #2 \code{,} \code{Load()} \RP}
|
|
@@ -218,8 +237,12 @@
|
|
|
\newcommand{\CCMP}[3]{#2~#1~#3}
|
|
|
\newcommand{\TRUE}{\key{True}}
|
|
|
\newcommand{\FALSE}{\key{False}}
|
|
|
+\newcommand{\IFNAME}{\key{IfExp}}
|
|
|
\newcommand{\IF}[3]{\key{IfExp}\LP #1 \code{,} #2 \code{,} #3 \RP}
|
|
|
\newcommand{\CIF}[3]{#2~\key{if}~#1~\key{else}~#3}
|
|
|
+\newcommand{\ANDNAME}{\key{and}}
|
|
|
+\newcommand{\ORNAME}{\key{or}}
|
|
|
+\newcommand{\NOTNAME}{\key{not}}
|
|
|
\newcommand{\AND}[2]{\BOOLOP{\key{And()}}{#1}{#2}}
|
|
|
\newcommand{\CAND}[2]{#1~\key{and}~#2}
|
|
|
\newcommand{\OR}[2]{\BOOLOP{\key{Or()}}{#1}{#2}}
|
|
@@ -228,6 +251,8 @@
|
|
|
\newcommand{\BOOLTY}{{\key{bool}}}
|
|
|
\newcommand{\ANYTY}{{\key{AnyType}}}
|
|
|
\newcommand{\CANYTY}{{\key{Any}}}
|
|
|
+\newcommand{\TUPLETYPENAME}{\key{TupleType}}
|
|
|
+\newcommand{\ARRAYTYPENAME}{\key{ListType}}
|
|
|
\newcommand{\VECTY}[1]{{\key{TupleType}\LP\LS #1 \RS\RP}}
|
|
|
\newcommand{\ARRAYTY}[1]{\key{ListType}\LP#1\RP}
|
|
|
\newcommand{\CARRAYTY}[1]{\key{list}\LS#1\RS}
|
|
@@ -236,7 +261,7 @@
|
|
|
\newcommand{\CCOLLECT}[1]{\key{collect}\LP#1\RP}
|
|
|
\newcommand{\ALLOCATE}[2]{\key{Allocate}\LP#1,#2\RP}
|
|
|
\newcommand{\CALLOCATE}[2]{\key{allocate}\LP#1,#2\RP}
|
|
|
-\newcommand{\ALLOCARRAY}[2]{\key{AllocateArrow}\LP#1,#2\RP}
|
|
|
+\newcommand{\ALLOCARRAY}[2]{\key{AllocateArray}\LP#1\code{, }#2\RP}
|
|
|
\newcommand{\CALLOCARRAY}[2]{\key{allocate\_arrray}\LP#1,#2\RP}
|
|
|
\newcommand{\GLOBALVALUE}[1]{\key{GlobalValue}\LP#1\RP}
|
|
|
\newcommand{\CGLOBALVALUE}[1]{\key{global\_value}\LP#1\RP}
|
|
@@ -277,6 +302,7 @@
|
|
|
\newcommand{\CSUB}[2]{\LP\key{-}~#1~#2\RP}
|
|
|
\newcommand{\CWHILE}[2]{\LP\key{while}~#1~#2\RP}
|
|
|
\newcommand{\WHILE}[2]{\LP\key{WhileLoop}~#1~#2\RP}
|
|
|
+\newcommand{\MAKEVEC}[2]{\LP\key{make-vector}~#1~#2\RP}
|
|
|
\newcommand{\CMAKEVEC}[2]{\LP\key{make-vector}~#1~#2\RP}
|
|
|
\newcommand{\MAKEVEC}[2]{\LP\key{make-vector}~#1~#2\RP}
|
|
|
\newcommand{\CSETBANG}[2]{\LP\key{set!}~#1~#2\RP}
|
|
@@ -308,6 +334,7 @@
|
|
|
\newcommand{\TAILCALL}[2]{\key{(TailCall}~#1~#2\code{)}}
|
|
|
\newcommand{\CASSIGN}[2]{#1~\key{=}~#2\key{;}}
|
|
|
\newcommand{\ASSIGN}[2]{\key{(Assign}~#1~#2\key{)}}
|
|
|
+\newcommand{\IFSTMTNAME}{\key{IfStmt}}
|
|
|
\newcommand{\IFSTMT}[3]{\key{(IfStmt}\,#1~#2~#3\key{)}}
|
|
|
\newcommand{\RETURN}[1]{\key{(Return}~#1\key{)}}
|
|
|
\newcommand{\CRETURN}[1]{\key{return}~#1\key{;}}
|
|
@@ -330,6 +357,7 @@
|
|
|
\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{\IFSTMTNAME}{\key{If}}
|
|
|
\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}
|