- Timestamp:
- Jan 24, 2008, 6:53:55 PM (18 years ago)
- Author:
- neil.c.c.brown
- Message:
-
Various tweaks to the presentation
- File:
-
- 1 edited
- docs/trunk/hacking-guide/tock-intro.tex (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
docs/trunk/hacking-guide/tock-intro.tex
r190 r191 18 18 \newpage 19 19 20 \section{Getting the Code} 21 22 All details currently reside on this page: \url{http://www.cs.kent.ac.uk/research/groups/sys/wiki/Tock} 23 24 Tock is held in a darcs repository. Darcs is broadly similar to CVS/SVN. The following few commands will usually suffice: 20 \section{Get the Code} 21 22 All details about checking out the code, committing your changes, the mailing list, 23 and how to keep track of the repository, currently reside on this page: 24 \url{http://www.cs.kent.ac.uk/research/groups/sys/wiki/Tock}. 25 26 Tock is held in a darcs repository. Darcs is broadly similar to CVS/SVN. 27 You can find more details on the Darcs website (\url{http://darcs.net/}) or in the manual 28 (\url{http://darcs.net/manual/}) but the following few commands will usually suffice: 25 29 26 30 \begin{itemize} … … 36 40 is a big change. 37 41 38 \section{Find (削除) ing (削除ここまで)the Right Place}42 \section{Find(追記) (追記ここまで) the Right Place} 39 43 40 44 Tock's modules are currently arranged into four directories. They are: … … 49 53 \end{enumerate} 50 54 51 T (削除) ests are in the same directory as the thing they test. The separation is by no means hard-and-fast, (削除ここまで)52 (削除) or perfect, but it's better than nothing (削除ここまで).55 T(追記) he separation is by no means hard-and-fast, or perfect, but it's better than nothing. (追記ここまで) 56 (追記) Tests are in the same directory as the thing they test (追記ここまで). 53 57 54 58 The directories should provide a quick idea of where to find what you are interested in. Data types … … 58 62 59 63 The \lstinline|Main| module in the main tock directory is the actual module for the tock executable. 60 It merely deals with the command-line options and (削除) string (削除ここまで)s together the various passes according to64 It merely deals with the command-line options and (追記) join (追記ここまで)s together the various passes according to 61 65 the options given. 62 66 … … 80 84 The last point is somewhat unavoidable, without an inspired re-write. Knowledge of occam will help 81 85 a lot with understanding the AST, except perhaps for the \lstinline|Structured| item (see below). 82 Haskell knowledge can be solved with a book or two (or other web resources); monads a (削除) re also covered (削除ここまで)83 (削除) (削除ここまで)in a section below.86 Haskell knowledge can be solved with a book or two (or other web resources); monads a(追記) nd generics (追記ここまで) 87 (追記) are each covered (追記ここまで)in a section below. 84 88 85 89 \subsection{A.Structured} … … 89 93 such as SEQ, PAR, ALT, CASE. Because occam allows the inter-mingling of processes and declarations, 90 94 and also replication on most of its constructs (SEQ, PAR, ALT, IF) Structured eliminates redundancy 91 by grouping this together. So for example, given this occam ps (削除) ue (削除ここまで)do-code:95 by grouping this together. So for example, given this occam ps(追記) eu (追記ここまで)do-code: 92 96 93 97 \occamsettings\begin{lstlisting} … … 205 209 \end{lstlisting} 206 210 207 Where `spec' is shorthand for the full specification of `x'. The specification (third argument (削除) ) (削除ここまで)208 is in scope for the whole of the body (the fourth argument). Multiple specifications lead to 209 (削除) (削除ここまで)nested Specifications:211 Where `spec' is shorthand for the full specification of `x'. The specification (third argument(追記) (追記ここまで) 212 of Specification) is in scope for the whole of the body (the fourth argument). 213 (追記) Multiple specifications lead to (追記ここまで)nested Specifications: 210 214 211 215 \occamsettings\begin{lstlisting}
Note:
See TracChangeset
for help on using the changeset viewer.