|
|
1.1 ! root 1: \label{bare} ! 2: \twocolumn[Figure \protect\ref{bare}: Syntax of the Bare Language \\ \\] ! 3: {\samepage ! 4: \begin{list}{}{\setlength{\listparindent}{0pt} ! 5: \setlength{\labelwidth}{5em} ! 6: % \setlength{\parsep}{0pt} ! 7: \setlength{\labelsep}{0.5em}} ! 8: \lhs{lab} INT ! 9: \\ id ! 10: \lhs{const} INT ! 11: \\ REAL ! 12: \\ STRING ! 13: \lhs{exp} id ! 14: \\ const ! 15: \\ \{ lab% ! 16: \verb"="% ! 17: exp , \rep{0} , lab% ! 18: \verb"="% ! 19: exp \} ! 20: \\ \res{let} dec \res{in} exp \res{end} ! 21: \\ exp exp ! 22: \\ exp : ty ! 23: \\ \res{fn} match ! 24: \\ \res{raise} exp ! 25: \\ exp \res{handle} match ! 26: \lhs{match} pat \verb"=>" exp $\mid$ \rep{1} $\mid$ pat \verb"=>" exp ! 27: \lhs{apat} id ! 28: \\ const ! 29: \\ \verb"_" ! 30: \\ ( pat ) ! 31: \\ \{ lab% ! 32: \verb"="% ! 33: pat , \rep{0} , lab% ! 34: \verb"="% ! 35: pat \} ! 36: \\ \{ lab% ! 37: \verb"="% ! 38: pat , \rep{0} , lab% ! 39: \verb"="% ! 40: pat , ... \} ! 41: \lhs{pat} apat ! 42: \\ id apat ! 43: \\ pat : ty ! 44: \\ id constraint \res{as} pat ! 45: \lhs{ty} \res{tyvar} ! 46: \\ \{ lab : ty , \rep{0} , lab : ty \} ! 47: \\ ( ty ) ! 48: \\ ( ty , \rep{2} , ty ) id ! 49: \\ ty id ! 50: \\ id ! 51: \\ ty \verb"->" ty ! 52: \lhs{vb} pat \verb"=" exp ! 53: \\ vb \res{and} \rep{1} \res{and} vb ! 54: \lhs{constraint} {\it empty} ! 55: \\ : ty ! 56: \lhs{rvb} id constraint \verb"=" \res{fn} match ! 57: \\ rvb \res{and} \rep{1} \res{and} rvb ! 58: \lhs{tb} tyvars id \verb"=" ty ! 59: \\ tb \res{and} \rep{1} \res{and} tb ! 60: \lhs{tyvars} {\it empty} ! 61: \\ \res{tyvar} ! 62: \\ ( \res{tyvar} , \rep{2} , \res{tyvar} ) ! 63: \lhs{db} tyvars id \verb"=" constr $\mid$ \rep{1} $\mid$ constr ! 64: \\ db \res{and} \rep{1} \res{and} db ! 65: \lhs{constr} id ! 66: \\ id \res{of} ty ! 67: \lhs{eb} id ! 68: \\ id \res{of} ty ! 69: \\ id \verb"=" id ! 70: \\ eb \res{and} \rep{1} \res{and} eb ! 71: \lhs{dec} \res{val} vb ! 72: \\ \res{val} \res{rec} rvb ! 73: \\ \res{type} tb ! 74: \\ \res{datatype} db ! 75: \\ \res{exception} eb ! 76: \\ \res{local} dec \res{in} dec \res{end} ! 77: \\ dec ; ! 78: \\ dec dec ! 79: ! 80: \end{list} ! 81: } ! 82: \onecolumn
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.