<html> <head> <title>Gri: programming</title> </head> <body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="FF0000"> <!-- newfile Programming.html "Gri: programming" "Programming Gri" --> <p> <!-- @node Programming, Defaults, Write Image, Top --> <a name="Programming" ></a> <img src="./resources/top_banner.gif" usemap="#navigate_top" border="0"> <table summary="top banner" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="150" valign="top"> <font size=-1> <br> Chapters: </br> <a href="Introduction.html">1: Introduction</a><br> <a href="SimpleExample.html">2: Simple example</a><br> <a href="InvokingGri.html">3: Invocation</a><br> <a href="GettingMoreControl.html">4: Finer Control</a><br> <a href="X-Y.html">5: X-Y Plots</a><br> <a href="ContourPlots.html">6: Contour Plots</a><br> <a href="Images.html">7: Image Plots</a><br> <a href="Examples.html">8: Examples</a><br> <a href="Commands.html">9: Gri Commands</a><br> <a href="Programming.html">10: Programming</a><br> <a href="Environment.html">11: Environment</a><br> <a href="Emacs.html">12: Emacs Mode</a><br> <a href="History.html">13: History</a><br> <a href="Installation.html">14: Installation</a><br> <a href="Bugs.html">15: Gri Bugs</a><br> <a href="TestSuite.html">16: Test Suite</a><br> <a href="Acknowledgments.html">17: Acknowledgments</a><br> <a href="License.html">18: License</a><br> <br> Indices:</br> <a href="ConceptIndex.html"><i>Concepts</i></a><br> <a href="CommandIndex.html"><i>Commands</i></a><br> <a href="BuiltinIndex.html"><i>Variables</i></a><br> </font> <td width="500" valign="top"> <map name="navigate_top"> <area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top"> <area alt="index.html#Top" shape="rect" coords="516,2,532,24" href="index.html#Top"> <area alt="Gri: Write commands" shape="rect" coords="557,2,573,24" href="Write.html"> <area alt="Gri: defaults" shape="rect" coords="581,2,599,24" href="Defaults.html"> </map> <map name="navigate_bottom"> <area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top"> <area alt="Gri: defaults" shape="rect" coords="581,2,599,24" href="Defaults.html"></map> <h1>10: Programming in the Gri Language</h1> The Gri programming language has `<font color="#82140F"><code>if</code></font>' statements to control program flow, and a `<font color="#82140F"><code>while</code></font>' statement to repeat commands. There are two data types in Gri: ``variables'' (to store numbers) and ``synonyms'' (to store character strings). Gri recognizes commands by matching statements against its list of known commands. This list is extensible; it is easy to add new commands as extensions to Gri. <p> <UL> <LI><a href="Defaults.html#Defaults">Defaults</a>: How Gri normally acts <LI><a href="OnlineHelp.html#OnlineHelp">Online Help</a>: Getting help from gri itself <LI><a href="LongCommandLines.html#LongCommandLines">Long Command Lines</a>: Continued lines <LI><a href="Variables.html#Variables">Variables</a>: Variables (for storing numbers) <LI><a href="Synonyms.html#Synonyms">Synonyms</a>: Synonyms (for storing character strings) <LI><a href="IfStatements.html#IfStatements">If Statements</a>: If statements <LI><a href="Loops.html#Loops">Loops</a>: Repeating command lines <LI><a href="Mathematics.html#Mathematics">Mathematics</a>: Doing mathematics on columns, grids etc <LI><a href="ReversePolishMath.html#rpnMathematics">rpn Mathematics</a>: Doing mathematics on variables <LI><a href="Text.html#Text">Text</a>: Doing things with characters strings <LI><a href="NewCommands.html#AddingNewCommands">Adding New Commands</a>: How to customize Gri by adding new commands <LI><a href="MissingValues.html#MissingValues">Missing Values</a>: How to specify missing data <LI><a href="Hints.html#Hints">Hints</a>: Hints for good Gri programming <LI><a href="Debugging.html#Debugging">Debugging</a>: Debugging Gri programs <LI><a href="ErrorMessages.html#ErrorMessages">Error Messages</a>: What to do about Gri error messages <LI><a href="MissingValues.html#MissingValues">Missing Values</a>: Missing value code <LI><a href="OperatingSystem.html#OperatingSystem">Operating System</a>: Using Gri in OS and OS in Gri <LI><a href="ResourceFile.html#ResourceFile">Resource File</a>: Personalizing Gri </UL> </table> <img src="./resources/bottom_banner.gif" usemap="#navigate_bottom" border="0"> </body> </html>