X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=appx%2Fbytecode.tex;fp=appx%2Fbytecode.tex;h=234f7e7d19f5f43ab0ee2205b3282a39e69cb980;hb=5702796e5885e85b9e8dcc0d5160dccb9386b05f;hp=532f44b79c9a9d86ce17486d863d479b5ff53b88;hpb=2148585d40ac5048f4ff155ba140b5ae207ce958;p=phd-thesis.git diff --git a/appx/bytecode.tex b/appx/bytecode.tex index 532f44b..234f7e7 100644 --- a/appx/bytecode.tex +++ b/appx/bytecode.tex @@ -7,9 +7,13 @@ \ifSubfilesClassLoaded{\appendix\setcounter{chapter}{2}}{} \chapter{Bytecode instruction set}% \label{chp:bytecode_instruction_set}% -This appendix describeds the semantics of the byte code instruction set of \gls{MTASK} (see \cref{chp:implementation}). +Tasks in \gls{MTASK} are compiled at run time to byte code. +This byte code is evaluated using the interpreter. +The result of this evaluation is a task tree. +Subsequently, this task tree is rewritten until a stable value is observed. +This appendix describes the semantics of the byte code instruction set of \gls{MTASK} (see \cref{chp:implementation}). The byte code instructions are of variable length and automatically encoded and decoded using generic programming (see \cref{sec:ccodegen}). -\Cref{tbl:bc_notation} shows the notation convention. +\Cref{tbl:bc_notation} shows the notational convention of the variables used in the table. \Cref{tbl:instr_task} shows the semantics of all major byte code instructions, shorthand instructions and auxiliary peripherals have been omitted for brevity but have the analogous semantics as their counterparts. \begin{table}