35 lines
1.5 KiB
TeX
35 lines
1.5 KiB
TeX
\chapter*{The Filet-O-Fish Language}
|
|
\label{chap:fof_lang}
|
|
\epigraph{Give me back that Filet-O-Fish, Give me back that Filet-O-Fish, \ldots}%
|
|
{Frankie the Fish}
|
|
|
|
|
|
|
|
Filet-o-Fish is organized in a modular way. This is reflected by the
|
|
definition of the syntax of the language in
|
|
Chapter~\ref{chap:fof_syntax}. Indeed, the language is organized
|
|
around the purely functional core of C, as described in
|
|
Section~\ref{sec:fof_syntax_core}. This core is extended by several
|
|
\emph{constructs} that are the operationally rich building blocks of
|
|
the language, as described in Section~\ref{sec:fof_syntax_constructs}.
|
|
|
|
|
|
The functional semantics of this language is then implemented in
|
|
Chapter~\ref{chap:fof_semantics}. Following the modular definition of
|
|
the language, we first implement an interpreter for the core language
|
|
(Section~\ref{sec:semantics_core}). In
|
|
Section~\ref{sec:semantics_constructs}, we gather the per-construct
|
|
interpreter under one general function. In
|
|
Section~\ref{sec:semantics_machinery}, we build the machinery to
|
|
automatically compute an interpreter and a compiler for the whole
|
|
language.
|
|
|
|
Further, in Chapter~\ref{chap:fof_operators}, we implement the
|
|
interpreter and Filet-o-Fish interpretation of the
|
|
constructs. Similarly, Chapter~\ref{chap:fof_libc} and
|
|
Chapter~\ref{chap:fof_libbarrelfish}, we define foreign functions
|
|
mirroring the C library and the barrelfish library. These chapters are
|
|
bound to be extended as long as foreign functions are needed. This is
|
|
a natural process made easy by the modular design of the syntax and
|
|
semantics of Filet-o-Fish.
|