Ignore:
Timestamp:
Oct 18, 2011, 12:14:02 PM (8 years ago)
Author:
mulligan
Message:

more added on parameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Deliverables/D4.2-4.3/reports/D4-3.tex

    r1399 r1400  
    171171We mentioned in the Deliverable D4.2 report that all joint languages are parameterised by a number of types, which are later specialised to each distinct intermediate language.
    172172As this parameterisation process is also dependent on designs decisions in the language semantics, we have so far held off summarising the role of each parameter.
    173 We now summarise what each parameter is.
    174 
     173
     174We begin the abstraction process with the \texttt{params\_\_} record.
     175This holds the types of the representations of the different register varieties in the intermediate languages:
    175176\begin{lstlisting}
    176177record params__: Type[1] ≝
     
    187188}.
    188189\end{lstlisting}
    189 We summarise what these types mean:
     190We summarise what these types mean, and how they are used in both the semantics and the translation process:
    190191\begin{center}
    191192\begin{tabular*}{\textwidth}{p{4cm}p{11cm}}
     
    194195\texttt{acc\_a\_reg} & The type of the accumulator A register.  In some languages this is implemented as the hardware accumulator, whereas in others this is a pseudoregister.\\
    195196\texttt{acc\_b\_reg} & Similar to the accumulator A field, but for the processor's auxilliary accumulator, B. \\
    196 \texttt{dpl\_reg} & \\
    197 \texttt{dph\_reg} & \\
    198 \texttt{pair\_reg} & \\
    199 \texttt{generic\_reg} & \\
     197\texttt{dpl\_reg} & The type of the representation of the low eight bit register of the MCS-51's single 16 bit register, DPL.  Can be either a pseudoregister or the hardware DPL register. \\
     198\texttt{dph\_reg} & Similar to the DPL register but for the eight high bits of the 16-bit register. \\
     199\texttt{pair\_reg} & Various different `move' instructions have been merged into a single move instruction in the joint language.  A value can either be moved to or from the accumulator in some languages, or moved to and from an arbitrary pseudoregister in others.  This type encodes how we should move data around the registers and accumulators. \\
     200\texttt{generic\_reg} & The representation of generic registers (i.e. those that are not devoted to a specific task). \\
    200201\texttt{call\_args} & \\
    201202\texttt{call\_dest} & \\
    202 \texttt{extend\_statements} &
     203\texttt{extend\_statements} & Instructions that are specific to a particular intermediate language, and which cannot be abstracted into the joint language.
    203204\end{tabular*}
    204205\end{center}
Note: See TracChangeset for help on using the changeset viewer.