# Changeset 1400 for Deliverables

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

more added on parameters

File:
1 edited

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

 r1399 We 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. As 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. We now summarise what each parameter is. We begin the abstraction process with the \texttt{params\_\_} record. This holds the types of the representations of the different register varieties in the intermediate languages: \begin{lstlisting} record params__: Type[1] ≝ }. \end{lstlisting} We summarise what these types mean: We summarise what these types mean, and how they are used in both the semantics and the translation process: \begin{center} \begin{tabular*}{\textwidth}{p{4cm}p{11cm}} \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.\\ \texttt{acc\_b\_reg} & Similar to the accumulator A field, but for the processor's auxilliary accumulator, B. \\ \texttt{dpl\_reg} & \\ \texttt{dph\_reg} & \\ \texttt{pair\_reg} & \\ \texttt{generic\_reg} & \\ \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. \\ \texttt{dph\_reg} & Similar to the DPL register but for the eight high bits of the 16-bit register. \\ \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. \\ \texttt{generic\_reg} & The representation of generic registers (i.e. those that are not devoted to a specific task). \\ \texttt{call\_args} & \\ \texttt{call\_dest} & \\ \texttt{extend\_statements} & \texttt{extend\_statements} & Instructions that are specific to a particular intermediate language, and which cannot be abstracted into the joint language. \end{tabular*} \end{center}
Note: See TracChangeset for help on using the changeset viewer.