# Changeset 1455 for Deliverables

Ignore:
Timestamp:
Oct 23, 2011, 5:51:04 PM (9 years ago)
Message:

ratios changed

File:
1 edited

### Legend:

Unmodified
 r1454 call_dest_for_main: call_dest p; succ_pc: succ p $\rightarrow$ address $\rightarrow$ res address; greg_store_: generic_reg p $\rightarrow$ beval $\rightarrow$ regsT $\rightarrow$ res regsT; greg_retrieve_: regsT $\rightarrow$ generic_reg p $\rightarrow$ res beval; ... pair_reg_move_: regsT $\rightarrow$ pair_reg p $\rightarrow$ res regsT; pointer_of_label: label $\rightarrow$ $\Sigma$p:pointer. ptype p = Code }. \end{lstlisting} Here, the fields \texttt{empty\_framesT}, \texttt{empty\_regsT}, \texttt{call\_args\_for\_main} and \texttt{call\_dest\_for\_main} are used for state initialisation. The field \texttt{succ\_pc} takes an address, and a successor' label, and returns the address of the instruction immediately succeeding the one at hand. The fields \texttt{greg\_store\_} and \texttt{greg\_retrieve\_} store and retrieve values from a generic register, respectively. We extend \texttt{more\_sem\_params} with yet more parameters via \texttt{more\_sem\_params2}: \begin{lstlisting} record more_sem_params2 (globals: list ident) (p: params globals) : Type[1] := record more_sem_params1 (globals: list ident) (p: params globals) : Type[1] := { more_sparams1 :> more_sem_params p; succ_pc: succ p $\rightarrow$ address $\rightarrow$ res address; pointer_of_label: label $\rightarrow$ $\Sigma$p:pointer. ptype p = Code; ... fetch_statement: genv ... p $\rightarrow$ state (mk_sem_params ... more_sparams1) $\rightarrow$ }. \end{lstlisting} The field \texttt{succ\_pc} takes an address, and a successor' label, and returns the address of the instruction immediately succeeding the one at hand. Here, \texttt{fetch\_statement} fetches the next statement to be executed. The fields \texttt{save\_frame} and \texttt{pop\_frame} manipulate stack frames. Description & Matita & Lines & O'Caml & Lines & Ratio \\ \hline Semantics of the abstracted languages & \texttt{joint/semantics.ma} & 64 & N/A & N/A & N/A  \\ Generic utilities used in semantics joint' languages & \texttt{joint/SemanticUtils.ma} & 77 & N/A & N/A & N/A \\ Semantics of the abstracted languages & \texttt{joint/semantics.ma} & 434 & N/A & N/A & N/A  \\ Generic utilities used in semantics joint' languages & \texttt{joint/SemanticUtils.ma} & 70 & N/A & N/A & N/A \\ Semantics of RTLabs & \texttt{RTLabs/semantics.ma} & 223 & \texttt{RTLabs/RTLabsInterpret.ml} & 355 & 0.63 \\ Semantics of RTL & \texttt{RTL/semantics.ma} & 121 & \texttt{RTL/RTLInterpret.ml} & 324 & 1.88\tnote{a} \\ Semantics of ERTL & \texttt{ERTL/semantics.ma} & 125 & \texttt{ERTL/ERTLInterpret.ml} & 504  & 1.22\tnote{a} \\ Semantics of the joint LTL-LIN language & \texttt{LIN/joint\_LTL\_LIN\_semantics.ma} & 64 & N/A & N/A & N/A \\ Semantics of LTL & \texttt{LTL/semantics.ma} & 6 & \texttt{LTL/LTLInterpret.ml} & 416 & 1.25\tnote{b} \\ Semantics of LIN & \texttt{LIN/semantics.ma} & 22 & \texttt{LIN/LINInterpret.ml} & 379 & 1.52\tnote{b} Semantics of RTL & \texttt{RTL/semantics.ma} & 173 & \texttt{RTL/RTLInterpret.ml} & 324 & 2.01\tnote{a} \\ Semantics of ERTL & \texttt{ERTL/semantics.ma} & 130 & \texttt{ERTL/ERTLInterpret.ml} & 504  & 1.26\tnote{a} \\ Semantics of the joint LTL-LIN language & \texttt{LIN/joint\_LTL\_LIN\_semantics.ma} & 67 & N/A & N/A & N/A \\ Semantics of LTL & \texttt{LTL/semantics.ma} & 5 & \texttt{LTL/LTLInterpret.ml} & 416 & 1.38\tnote{b} \\ Semantics of LIN & \texttt{LIN/semantics.ma} & 43 & \texttt{LIN/LINInterpret.ml} & 379 & 1.62\tnote{b} \end{tabular} \begin{tablenotes} \item{b} Includes \texttt{joint/semantics.ma}, \texttt{joint/SemanticUtils.ma} and \texttt{joint/joint\_LTL\_LIN\_semantics.ma}. \\ \begin{tabular}{ll} Total lines of Matita code for the above files:& 1125 \\ Total lines of Matita code for the above files:& 1145 \\ Total lines of O'Caml code for the above files:& 1978 \\ Ration of total lines:& 0.57 Ration of total lines:& 0.58 \end{tabular} \end{tablenotes}