X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/58f9b4000fb24a363ba8843ce999e8b9a27c4052..ebf5ae2e5caf1e843c313328f43c9e8c6fda0081:/doc/tutorial.tex diff --git a/doc/tutorial.tex b/doc/tutorial.tex index bb357d8..f313e0e 100644 --- a/doc/tutorial.tex +++ b/doc/tutorial.tex @@ -96,8 +96,8 @@ The main consequences of this are as follows. Of course, this means that your build system needs to become more complicated. If you use \man{make}{1}, then something like \begin{prog} - SOD = sod \\ - \\ + SOD = sod + \\+ .SUFFIXES: .sod .c .h \\ .sod.c:; \$(SOD) -tc \$< \\ .sod.h:; \$(SOD) -th \$< @@ -109,46 +109,46 @@ ought to do the job. The following is a simple Sod input file. \begin{prog} -/* -*-sod-*- */ \\ -\\ -code c : includes \{ \\ -\#include "greeter.h" \\ -\} \\ -\\ -code h : includes \{ \\ -\#include \\ -\#include \\ -\} \\ -\\ -class Greeter : SodObject \{ \\ \ind - void greet(FILE *fp) \{ \\ \ind - fputs("Hello, world!\textbackslash n", fp); \- \\ - \} \- \\ -\} + /* -*-sod-*- */ + \\+ + code c : includes \{ \\ + \#include "greeter.h" \\ + \} + \\+ + code h : includes \{ \\ + \#include \\ + \#include \\ + \} + \\+ + class Greeter : SodObject \{ \\ \ind + void greet(FILE *fp) \{ \\ \ind + fputs("Hello, world!\textbackslash n", fp); \- \\ + \} \- \\ + \} \end{prog} Save it as @"greeter.sod", and run \begin{prog} -sod --gc --gh greeter + sod --gc --gh greeter \end{prog} This will create files @"greeter.c" and @"greeter.h" in the current directory. Here's how we might use such a simple thing. \begin{prog} -\#include "greeter.h" \\ -\\ -int main(void) \\ -\{ \\ \ind - SOD_DECL(Greeter, g); \\ - \\ - Greeter_greet(g, stdout); \\ - return (0); \- \\ -\} + \#include "greeter.h" + \\+ + int main(void) \\ + \{ \\ \ind + SOD_DECL(Greeter, g); + \\+ + Greeter_greet(g, stdout); \\ + return (0); \- \\ + \} \end{prog} Compare this to the traditional \begin{prog} -\#include \\ -\\ -int main(void) \\ \ind - \{ fputs("Hello, world@\\n", stdout); return (0); \} + \#include + \\+ + int main(void) \\ \ind + \{ fputs("Hello, world@\\n", stdout); return (0); \} \end{prog} and I'm sure you'll appreciate the benefits of using Sod already -- mostly to do with finger exercise. Trust me, it gets more useful.