## To build:

``` <!---sh-->
    make
```


## To use:

``` <!---sh-->
    ./robison
    # enter an expression

    echo expression | ./robison
```


## Try:

``` <!---sh-->
    ./try.sh
```


## Judges' remarks:

Of integers this prog does a lot,<br>
plus minus, div times (and what not).

And modulus if remainders the needing,<br>
on standard input percent be feeding.

More than one line can thru give input,<br>
when interactive one values more than throughput.

With cut and paste and some time,<br>
one can compute M(23209).


## Author's remarks:

### Oh, The Strings You Can C!

I love the C language; its terseness is tops.<br>
But the thing I abhor is numerical ops!

No shifting, division, remainder, or times.<br>
No increment, decrement, or subscripting blech,<br>
No addition, subtraction, or bitwise bool glop.<br>
As for pointer arithmetic -- totally yech!

But I do have a pref'rence, for pointer deref'rence.<br>
I find NOTS are a bang, and relations a ball.<br>
I like calling routines, and recursions in essence.<br>
But the thing I like MOST is a string dot h CALL!

With mem copy I copy, and mem set I clear.<br>
Take string len of this, and string copy that.<br>
From my keyboard I pause, to hear subroutines dear:<br>
The bark of string chrr, and the purr of string CAT!

One tiny detail that could lead to defeat.<br>
From where an arg points: string calls only go forth,<br>
So how to go back, to be Turing complete?<br>
From standard dot H, to the rescue, q SORT!

My fixation might hint at a textual bent.<br>
Does my program compose a tattoo for your shin?<br>
Play crosswords or translate from Urdu to Tzouby?<br>
To give it a whirl, just punch 2 + 2 in.

You can add, do division, and multiply too.<br>
Take unary minus and also subtract.<br>
Summing hairs of a walrus?  No longer a fuss.<br>
Parenthetical grouping -- no pushing a stack!

Try dividing a [googol](https://en.wikipedia.org/wiki/Googol) by one forty three,<br>
Subtract an [octillion](https://en.wikipedia.org/wiki/Names_of_large_numbers) - it's simply divine.<br>
To compute a remainder, inscribe a percent.<br>
For the sign of the answer, see C ninety nine!

A hundred and twenty five digits or so,<br>
Are the lengthiest figures the program can gnash.<br>
Go over that limit, by even a digit:<br>
Risk incorrect answers, or witness a crash!

Say, say, does it have octal or binary zen?<br>
What about duodecimal, ternary, hex?<br>
Try the base as an option (of course in base ten)<br>
Any base two to twenty -- for that is the specs.

Use lowercase in trans-decimal radix,<br>
Divide *babbage* (in base seventeen) by *cafe* --<br>
a nice *fad*, but avoid a division by nix:<br>
No errant result, but you could wait all day!

To grok the internals, ask [Queen Cleopatra](https://en.wikipedia.org/wiki/Cleopatra),<br>
or [King Tutankhamun](https://en.wikipedia.org/wiki/Tutankhamun); for him it's a romp.<br>
Addition by cats, and if given two figures,<br>
to tell which is bigger, sort down and string CMP!

Unlawful subtraction, a grade school infraction,<br>
starts at the left and works to the right.<br>
Yet more innovation: like [Henry Ford's cars](https://en.wikipedia.org/wiki/Ford_Motor_Company),<br>
With a pound and define, mass production of vars!

The moral is clear, for programmers out there:<br>
With the C lib for strings, you can hack with a flair.


<!--

    Copyright © %%DATE_RANGE%% by Landon Curt Noll. All Rights Reserved.

    You are free to share and adapt this file under the terms of this license:

        Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

    For more information, see:

        https://creativecommons.org/licenses/by-sa/4.0/

-->
