Changeset 1400 for Deliverables/D4.2-4.3
- Timestamp:
- Oct 18, 2011, 12:14:02 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Deliverables/D4.2-4.3/reports/D4-3.tex
r1399 r1400 171 171 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. 172 172 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. 173 We now summarise what each parameter is. 174 173 174 We begin the abstraction process with the \texttt{params\_\_} record. 175 This holds the types of the representations of the different register varieties in the intermediate languages: 175 176 \begin{lstlisting} 176 177 record params__: Type[1] ≝ … … 187 188 }. 188 189 \end{lstlisting} 189 We summarise what these types mean :190 We summarise what these types mean, and how they are used in both the semantics and the translation process: 190 191 \begin{center} 191 192 \begin{tabular*}{\textwidth}{p{4cm}p{11cm}} … … 194 195 \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.\\ 195 196 \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). \\ 200 201 \texttt{call\_args} & \\ 201 202 \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. 203 204 \end{tabular*} 204 205 \end{center}
Note: See TracChangeset
for help on using the changeset viewer.