## To build: ``` make all ``` **NOTE**: this version is a fixed version for modern C compilers. See the [Alternate code](#alternate-code) section below for how to use the original and why one might wish to do so. ## Try: ``` ./westley ``` Also try: ``` ./try.sh ``` to show the code with followed by the result so you can truly see the magic. ## Alternate code: This version is the original which might not work as you expect nowadays. ### Alternate build: ``` make alt ``` ### Alternate use: To see if your compiler has the problem described in the Judges' remarks below, try: ``` ./westley.alt ``` Does it show the same output as `westley`? ## Judges' remarks: Your compiler must parse ``` #define _ -a -_ ``` as `--a` and not `-(-a)` or some other tokenized form. Some strictly conforming ANSI C Preprocessors may object to this: for such compilers, you can elide the non-standard token-pasting requirement by changing the `#define` line to: ``` #define _ F-->00||F-OO--; ``` This is what the modified code in [westley.c](%%REPO_URL%%/1988/westley/westley.c) does whereas the alternate code is the original. You might enjoy looking at the output of: ``` cc -E westley.alt.c cc -E westley.c ``` ## Author's remarks: No remarks were provided by the author.