Mercurial > ~dholland > hg > ag > index.cgi
diff doc/misc/html/examples/ffcalc.html @ 0:13d2b8934445
Import AnaGram (near-)release tree into Mercurial.
author | David A. Holland |
---|---|
date | Sat, 22 Dec 2007 17:52:45 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/misc/html/examples/ffcalc.html Sat Dec 22 17:52:45 2007 -0500 @@ -0,0 +1,101 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> +<HEAD> +<TITLE>Four Function Calculator</TITLE> +</HEAD> + + +<BODY BGCOLOR="#ffffff" BACKGROUND="tilbl6h.gif" + TEXT="#000000" LINK="#0033CC" + VLINK="#CC0033" ALINK="#CC0099"> + +<P> +<IMG ALIGN="right" SRC="../images/agrsl6c.gif" ALT="AnaGram" + WIDTH=124 HEIGHT=30 > +<BR CLEAR="all"> +Back to <A HREF="../index.html">Index</A> +<P> +<IMG ALIGN="bottom" SRC="../images/rbline6j.gif" ALT="----------------------" + WIDTH=1010 HEIGHT=2 > +<P> + +<H1>Four Function Calculator</H1> + +<IMG ALIGN="bottom" SRC="../images/rbline6j.gif" ALT="----------------------" + WIDTH=1010 HEIGHT=2 > +<P> +<H2>Introduction</H2> +<P> + <tt>ffcalc.syn</tt> implements a simple four function + calculator. The + calculator has 52 registers, labeled 'a' through 'z' and 'A' + through 'Z'. <tt>ffcalc</tt> evaluates arithmetic expressions and + assignment statements and prints the results. The + expressions may contain '<CODE>+</CODE>', '<CODE>-</CODE>', + '<CODE>*</CODE>', and '<CODE>/</CODE>' operators as + well as parentheses. In addition, <tt>ffcalc</tt> supports + the free + use of white space and C style comments in the input. It + also includes syntax error handling, including a diagnostic + message, and resynchronization. +<P> + <tt>ffcalcmx.syn</tt> is a simple variation on + <tt>ffcalc.syn</tt>. The only + difference between the two grammars is that <tt>ffcalcx</tt> uses a + deliberately ambiguous grammar for expressions, with + precedence statements to resolve the ambiguities. +<P> + +<H2>Building FFCALC</H2> + To build a working copy of <tt>ffcalc</tt>, you need to + carry out the following steps: +<UL> +<LI> 1. Run Anagram and build a parser for <tt>ffcalc.syn</tt>. </LI> +<LI> 2. Using your C compiler, compile and link <tt>ffcalc.c</tt>. </LI> +</UL> +<P> + +<H2>Running FFCALC</H2> + <tt>ffcalc</tt> reads expressions and assignment statements from + stdin. You may either type input directly, or provide input + by using file redirection. The file <tt>test.ffc</tt> has been + provided as a sample. +<P> + Run <tt>ffcalc</tt> from the command line and type an + arithmetic expression or assignment + statement to be evaluated. <tt>ffcalc</tt> will accept addition, + subtraction, multiplication and division operations, as well + as unary negation, using floating point arithmetic. It + respects the conventional order of operations and allows the + use of parentheses to override the natural order of + computation. You may use spaces, tabs, and C-style comments + freely. You may use variable names consisting of a single + upper or lower case letter. +<P> + Each expression or assignment statement must be terminated + by a newline. Note that <tt>ffcalc</tt>, unlike + <tt>rcalc</tt>, does not explicitly check + for division by zero. +</P> + +<BR> + +<IMG ALIGN="bottom" SRC="../images/rbline6j.gif" ALT="----------------------" + WIDTH=1010 HEIGHT=2 > +<P> +<IMG ALIGN="right" SRC="../images/pslrb6d.gif" ALT="Parsifal Software" + WIDTH=181 HEIGHT=25> +<BR CLEAR="right"> +<P> +Back to <A HREF="../index.html">Index</A> +<P> +<ADDRESS><FONT SIZE="-1"> + AnaGram parser generator - examples<BR> + Four Function Calculator<BR> + Copyright © 1993-1999, Parsifal Software. <BR> + All Rights Reserved.<BR> +</FONT></ADDRESS> + +</BODY> +</HTML> +