[Avida-cvs] [avida-svn] r904 - development/documentation

brysonda at myxo.css.msu.edu brysonda at myxo.css.msu.edu
Mon Aug 28 19:55:45 PDT 2006


Author: brysonda
Date: 2006-08-28 22:55:45 -0400 (Mon, 28 Aug 2006)
New Revision: 904

Modified:
   development/documentation/actions.html
   development/documentation/analyze.html
Log:
Update Analyze Mode documentation.

Modified: development/documentation/actions.html
===================================================================
--- development/documentation/actions.html	2006-08-28 19:45:59 UTC (rev 903)
+++ development/documentation/actions.html	2006-08-29 02:55:45 UTC (rev 904)
@@ -1036,9 +1036,8 @@
   
   <p>
   Precalculate the distance 1 full landscape for the current batch in parallel
-  using multiple threads.  The resulting data can be used by the analyze mode
-  <code>DETAIL</code> command. The values created can be lazily evaluated by
-  the <code>DETAIL</code>, however the calculation will be serialized.
+  using multiple threads.  The resulting data is stored into the current batch
+  and can be used by many subsequent output commands within Analyze mode.
   </p>
 </li>
 <li>

Modified: development/documentation/analyze.html
===================================================================
--- development/documentation/analyze.html	2006-08-28 19:45:59 UTC (rev 903)
+++ development/documentation/analyze.html	2006-08-29 02:55:45 UTC (rev 904)
@@ -1,361 +1,484 @@
 <html>
-<title>The Analyze File</title>
-<body
- bgcolor="#FFFFFF"
- text="#000000"
- link="#0000AA"
- alink="#0000FF"
- vlink="#000044">
+<head>
+  <title>Avida : The Analyze File</title>
+</head>
+<body>
 
-<h2 align=center>The Analyze File</h2>
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
 
-<p>
-The file "<tt>analyze.cfg</tt>" is used to setup avida when its in
-analysis-only mode, which can be done by running "avida -a".  It is used to
-perform additional tests on genotypes after a run has completed.
+<p><a href="index.html">Return to the Index</a></p>
+<hr />
 
+<div align="center">
+<h1>The Analyze File</h1>
+</div>
+
 <p>
+The file <kbd>analyze.cfg</kbd> is used to setup Avida when it is run in
+analyze mode, which can be done by running <kbd>avida -a</kbd>.  Analyze
+mode is useful for performing additional tests on genotypes after a run
+has completed.
+</p>
+<p>
 This analysis language is basically a simple programming language.  The
 structure of a program involves loading in genotypes in one or more
-"batches", and then either manipulating single batches, or doing comparisons
+<em>batches</em>, and then either manipulating single batches, or doing comparisons
 between batches.  Currently there can be up to 2000 batches of genotypes, but
 we will eventually remove this limit.
-
+</p>
 <p>
 The rest of this file describes how individual commands work, as well
 as some notes on other languages features, like how to use variables.  As
 a formatting guide, command arguments will be presented between brackets,
-such as [<font color="#0000AA">filename</font>].  If that argument is
+such as [<span style="color: #0000AA">filename</span>].  If that argument is
 mandatory, it will be in blue.  If it is optional, it will be in green, and
 (if relevant) a default value will be listed, such as
-[<font color="#008800">filename="output.dat"</font>]
+[<span style="color: #008800">filename='output.dat'</span>].
+</p>
 
+<p>&nbsp;</p>
+<h2>Analyze Mode Commands</h2>
+
 <p>
-There are currently six ways to load in genotypes:
+Analyze mode provides a number of commands for loading, manipulating,
+and saving analysis data. In addition to the analyze mode specific
+commands detailed in the following sections, all of the
+<a href="actions.html">Avida actions</a> can be called as well.
+</p>
 
-<p align=center><b>Table 1: <font color="#008800">Genotype Loading Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>LOAD_ORGANISM [<font color="#0000AA">filename</font>]</b><br>
-    	Load in a normal single-organism file of the type that is output
-        from avida.  These consist of lots of organismal information inside
-        of comments, and then the full genome of the organism with one
-        instruction per line.
-<tr><td><b>LOAD [<font color="#0000AA">filename</font>]</b><br>
-    Load in a file that contains a list of genotypes, one-per-line with
-    additional informaiton about those genotypes. Avida now includes a header
-    on such files indicating the values containted in each column.  As such,
-    this command supercedes the now-depricated "LOAD_BASE_DUMP" and
-    "LOAD_DETAIL_DUMP", and can handle those file types.
-<tr><td><b>LOAD_SEQUENCE [<font color="#0000AA">sequence</font>]</b><br>
+<p>&nbsp;</p>
+<h3>Load Commands</h3>
+<p>
+There are currently four ways to load in genotypes:
+</p>
+<dl>
+<dt><strong>LOAD_ORGANISM [<font color="#0000AA">filename</font>]</strong></dt>
+<dd>
+  Load in a normal single-organism file of the type that is output
+  from avida.  These consist of lots of organismal information inside
+  of comments, and then the full genome of the organism with one
+  instruction per line.
+</dd>
+<dt><strong>LOAD [<font color="#0000AA">filename</font>]</strong></dt>
+<dd>  
+  Load in a file that contains a list of genotypes, one-per-line with
+  additional informaiton about those genotypes. Avida now includes a header
+  on such files indicating the values containted in each column.
+</dd>
+<dt><strong>LOAD_SEQUENCE [<font color="#0000AA">sequence</font>]</strong></dt>
+<dd>  
 	Load in a user-provided sequence as the genotype.  Avida has a
-        symbol associated with each instruction; this command is simply
-        followed by a sequence of such symbols that is than translated back
-        into a proper genotype.
-<tr><td><b>LOAD_MULTI_DETAIL [<font color="#0000AA">start-UD</font>] [<font color="#0000AA">step-UD</font>] [<font color="#0000AA">stop-UD</font>] [<font color="#008800">dir='./'</font>] [<font color="#008800">start batch=0</font>]</b><br>
-   Allows the user to load in multiple detail files at once, one per
-   batch.  This is helpful when you're trying to do parallel analysis
-   on many detail files, or else to create a phylogenetic depth map.<br>
+  symbol associated with each instruction; this command is simply
+  followed by a sequence of such symbols that is than translated back
+  into a proper genotype.
+</dd>
+<dt><strong>
+  LOAD_MULTI_DETAIL [<font color="#0000AA">start-UD</font>]
+  [<font color="#0000AA">step-UD</font>] [<font color="#0000AA">stop-UD</font>]
+  [<font color="#008800">dir='./'</font>] [<font color="#008800">start batch=0</font>]
+</strong></dt>
+<dd>  
+  Allows the user to load in multiple detail files at once, one per
+  batch.  This is helpful when you're trying to do parallel analysis
+  on many detail files, or else to create a phylogenetic depth map.
+  <br />Example: <code>LOAD_MULTI_DETAIL 100 100 100000 ../my_run/run100/</code>
+  <br />
+  This would load in the files detail_pop.100 through detail_pop.100000 
+  in steps of 100, from the directory of my choosing.  Since 1000 files will
+  be loaded and we didn't specify starting batch, they will be put in
+  batches 0 through 999.
+</dd>
+</dl>
 
-   Example: <tt>LOAD_MULTI_DETAIL 100 100 100000 ../my_run/run100/</tt><br>
-
-   This would load in the files detail_pop.100 through detail_pop.100000 
-   in steps of 100, from the directory of my choosing.  Since 1000 files will
-   be loaded and we didn't specify starting batch, they will be put in
-   batches 0 through 999.
-
-
-</table>
-
 <p>
 A future addition to this list is a command that will use the "dominant.dat"
 file to identify all of the dominant genotypes from a run, and then lookup and
-load their individual genomes from the genebank directory.  Also, the
-commands LOAD_BASE_DUMP and LOAD_DETAIL_DUMP currently require fixed-formated
-files.  New output files from avida have tags listed for their column names,
-and as such we already have a working prototype of a generic "LOAD" command
-that will figure out the file format and be able to load in all of the data
-properly.
+load their individual genomes from the archive directory.
+</p>
 
+
+<p>&nbsp;</p>
+<h3>Batch Control Commands</h3>
 <p>
-All of the load commands place the new genotypes into the "current" batch,
-which can be set with the "SET_BATCH" command.  Below is the list of control
+All of the load commands place the new genotypes into the <em>current</em> batch,
+which can be set with the <code>SET_BATCH</code> command.  Below is the list of control
 functions that allow you to manipulate the batches.
+</p>
 
-<p align=center><b>Table 2: <font color="#008800">Batch Control Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>SET_BATCH [<font color="#0000AA">id</font>]</b><br>
-    	Set the batch that is currently active; the initial active batch
-        at the start of a program is 0.
-<tr><td><b>NAME_BATCH [<font color="#0000AA">name</font>]</b><br>
-    	Attach a name to the current batch.  Some of the printing methods
-        will print data from multiple batches, and we want the data from each
-        batch to be attached to a meaningful identifier.
-<tr><td><b>PURGE_BATCH [<font color="#008800">id=current</font>]</b><br>
-    	Remove all genotypes in the specified batch (if no argument is given,
-        the current batch is purged.
-<tr><td><b>DUPLICATE [<font color="#0000AA">id1</font>]
-        [<font color="#008800">id2=current</font>]</b><br>
-    	Copy the genotypes from batch id1 into id2.  By default,
-        copy id1 into the current batch.  Note that duplicate is
-        <i>non-destructive</i> so you should purge the target batch first if
-        you don't want to just add more genotypes to the ones already in
-        that batch.
-<tr><td><b>STATUS</b><br>
-    	Print out (to the screen) the genotype count of each non-empty batch
-        and identify the currently active batch.
-</table>
+<dl>
+<dt><strong>SET_BATCH [<font color="#0000AA">id</font>]</strong></dt>
+<dd>
+  Set the batch that is currently active; the initial active batch
+  at the start of a program is 0.
+</dd>
+<dt><strong>NAME_BATCH [<font color="#0000AA">name</font>]</strong></dt>
+<dd>
+  Attach a name to the current batch.  Some of the printing methods
+  will print data from multiple batches, and we want the data from each
+  batch to be attached to a meaningful identifier.
+</dd>
+<dt><strong>PURGE_BATCH [<font color="#008800">id=current</font>]</strong></dt>
+<dd>
+  Remove all genotypes in the specified batch (if no argument is given,
+  the current batch is purged.
+</dd>
+<dt><strong>DUPLICATE [<font color="#0000AA">id1</font>] [<font color="#008800">id2=current</font>]</strong></dt>
+<dd>
+  Copy the genotypes from batch id1 into id2.  By default,
+  copy id1 into the current batch.  Note that duplicate is
+  <em>non-destructive</em> so you should purge the target batch first if
+  you don't want to just add more genotypes to the ones already in
+  that batch.
+</dd>
+<dt><strong>STATUS</strong></dt>
+<dd>
+  Print out (to the screen) the genotype count of each non-empty batch
+  and identify the currently active batch.
+</dd>
+</dl>
 
+
+<p>&nbsp;</p>
+<h3>Analysis Control Commands</h3>
+
 <p>
 There are several other commands that will allow you to interact with the
 analysis mode in some very important ways, but don't actually trigger any
 analysis tests or output.  Below are a list of some of the more important
 control commands.
-        
-<p align=center><b>Table 3: <font color="#008800">More Analysis Control Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>VERBOSE </b><br>
-    	Toggle verbose/minimal messages.  Verbose messages will print all
-        of the details of what is happening to the screen.  Minimal messages
-        will only briefly state the process being run.  Verbose messages are
-        recommended if you're in interactive mode.
-<tr><td><b>SYSTEM [<font color="#0000AA">command</font>]</b><br>
-    	Run the command listed on the command line.  This is particularly
-        useful if you need to unzip files before you can use them, or if
-        you want to delete files no longer in use.
-<tr><td><b>INCLUDE [<font color="#0000AA">filename</font>]</b><br>
-    	Include another file into this one and run its contents immediately.
-        This is useful if you have some pre-written routines that you want
-        to have available in several analysis files.  Watch out because there
-        are currently no protections against circular includes.
-<tr><td><b>INTERACTIVE</b><br>
-    	Place Avida analysis into interactive mode so that you can type
-        commands have have them immediately acted upon.  You can place this
-        anywhere within the analyze file, so that you can have some
-        processing done before interactive mode starts.  You can type "quit"
-        at any point to continue with the normal processing of the file.
-<tr><td><b>DEBUG [<font color="#0000AA">message</font>] </b><br>
-        <b>ECHO [<font color="#0000AA">message</font>] </b><br>
-    	These are both "echo" commands that will print a message (the
-        arguments given) onto the screen.  If there are any variables (see
-        below) in the message, they will be translated before printing, so
-        this is a good way of debugging your programs.
-</table>
+</p>
 
+<dl>
+<dt><strong>VERBOSE [string level='ON']</strong></dt>
+<dd>
+  Change the level of output verbosity.  Verbose messages will print all
+  of the details of what is happening to the screen.  Minimal messages
+  will only briefly state the process being run.  Verbose messages are
+  recommended if you're in interactive mode.
+  <br />Levels: SILENT, NORMAL, ON, DETAILS
+</dd>
+<dt><strong>SYSTEM [<font color="#0000AA">command</font>]</strong></dt>
+<dd>
+  Run the command listed on the command line.  This is particularly
+  useful if you need to unzip files before you can use them, or if
+  you want to delete files no longer in use.
+</dd>
+<dt><strong>INCLUDE [<font color="#0000AA">filename</font>]</strong></dt>
+<dd>
+  Include another file into this one and run its contents immediately.
+  This is useful if you have some pre-written routines that you want
+  to have available in several analysis files.  Watch out because there
+  are currently no protections against circular includes.
+</dd>
+<dt><strong>INTERACTIVE</strong></dt>
+<dd>
+  Place Avida analysis into interactive mode so that you can type
+  commands have have them immediately acted upon.  You can place this
+  anywhere within the analyze file, so that you can have some
+  processing done before interactive mode starts.  You can type <kbd>quit</kbd>
+  at any point to continue with the normal processing of the file.
+</dd>
+<dt><strong>DEBUG [<font color="#0000AA">message</font>]</strong></dt>
+<dt><strong>ECHO [<font color="#0000AA">message</font>]</strong></dt>
+<dd>
+  These are both <em>echo</em> commands that will print a message (the
+  arguments given) onto the screen.  If there are any variables (see
+  below) in the message, they will be translated before printing, so
+  this is a good way of debugging your programs.
+</dd>
+</dl>
+
+
+<p>&nbsp;</p>
+<h3>Genotype Manipulation Commands</h3>
+
 <p>
 Now that we know how to interact with analysis mode, and load in genotypes,
 its important to be able to manipulate them.  The next batch of commands
 will do basic analysis on genotypes, and allow the user to prune batches
 to only include those genotypes that are needed.
+</p>
 
-
-<p align=center><b>Table 4: <font color="#008800">Genotype Manipulation Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>RECALCULATE [<font color="#008800">use_resources=0</font>]</b><br>
-    	Run all of the genotypes in the current batch through a test CPU
-	and record the measurements taken (fitness, gestation time, etc.).
-        This overrides any values that may have been loaded in with the
-        genotypes.  The use_resources flags signifies whether or not the
-        test cpu will use resources when it runs.  For more information 
-        on resources, see the <a href="#USING_RESOURCES">summary</a> below.
-<tr><td><b>FIND_GENOTYPE [<font color="#008800">type="num_cpus" ...</font>]</b><br>
-    	Remove all genotypes but the one selected.  Type indicates which
-	genotype to choose.  Options available for type are "num_cpus" (to
-        choose the genotype with the maximum organismal abundance at time of
-        printing), "total_cpus" (number of organisms ever of this genotype),
-        "fitness", or "merit".  If a the type entered is numerical, it is
-        used as an id number to indicate the desired genotype (if no such id
-        exists, a warning will be given).  Multiple arguments can be given to
-        this command, in which case all those genotypes in that list will be
-        preserved and the remainder deleted.
-<tr><td><b>FIND_ORGANISM [<font color="#008800">random</font>]</b><br>
+<dl>
+<dt><strong>RECALCULATE [<font color="#008800">use_resources=0</font>]</strong></dt>
+<dd>
+  Run all of the genotypes in the current batch through a test CPU
+  and record the measurements taken (fitness, gestation time, etc.).
+  This overrides any values that may have been loaded in with the
+  genotypes.  The use_resources flags signifies whether or not the
+  test cpu will use resources when it runs.  For more information 
+  on resources, see the <a href="#USING_RESOURCES">summary</a> below.
+</dd>
+<dt><strong>FIND_GENOTYPE [<font color="#008800">type='num_cpus' ...</font>]</strong></dt>
+<dd>
+  Remove all genotypes but the one selected.  Type indicates which
+  genotype to choose.  Options available for type are <em>num_cpus</em> (to
+  choose the genotype with the maximum organismal abundance at time of
+  printing), <em>total_cpus</em> (number of organisms ever of this genotype),
+  <em>fitness</em>, or <em>merit</em>.  If a the type entered is numerical, it is
+  used as an id number to indicate the desired genotype (if no such id
+  exists, a warning will be given).  Multiple arguments can be given to
+  this command, in which case all those genotypes in that list will be
+  preserved and the remainder deleted.
+</dd>
+<dt><strong>FIND_ORGANISM [<font color="#008800">random</font>]</strong></dt>
+<dd>
 	Picks out a random organism from the population and removes all 
 	others. It is different from FIND_GENOTYPE because it takes into 
 	account relative number of organisms within each genotype. To pick 
 	more than one organisms, list the word 'random' multiple times. This 
 	is essentially sampling without replacement from the population.
-<tr><td><b>FIND_LINEAGE [<font color="#008800">type="num_cpus"</font>] </b><br>
-    	Delete everything except the lineage from the chosen genotype back
-	to the most distant ancestor available.  This command will only
-        function properly if parental information was loaded in with the
-        genotypes.  Type is the same as the FIND_GENOTYPE command.
-<tr><td><b>FIND_SEX_LINEAGE [<font color="#008800">type="num_cpus"</font>] 
-	[<font color="#008800">parent_method="rec_region_size"</font>] </b><br>
-    	Delete everything except the lineage from the chosen genotype back
-	to the most distant ancestor available. Similar to FIND_LINEAGE but 
-	works in sexual populations. To simplify things, only maternal lineage plus
-	immediate fathers are saved, i.e. info about father's parents is discarded. 
-	The second option, parent_method, determines which parent is considered the 
-	"mother" in each particular recombination. If parent_method is "rec_region_size" :
-        "mother" is the parent contributing more code to the offspring genome 
-	(default); if it's "genome_size", "mother" is the parent with the longer 
-	genome, no matter how much of it was contributed to the offspring. 
-	This command will only function properly if parental information was 
-	loaded in with the genotypes.  Type is the same as the FIND_GENOTYPE command.
-<tr><td><b>ALIGN</b><br>
-    	Create an alignment of all the genome's sequences; It will place '_'s
-        in the sequences to show the alignment.  Note that a "FIND_LINEAGE"
-        must first be run on the batch in order for the alignment to be
-        possible.
-<tr><td><b>SAMPLE_ORGANISMS [<font color="#0000AA">fraction</font>]
-	[<font color="#008800">test_viable=0</font>] </b><br>
-    	Keep only "fraction" of organisms in the current batch.  This
-	is done per organism, <i>not</i> per genotype.  Thus, genotypes of high
-	abundance may only have their abundance lowered, while genotypes
-	of abundance 1 will either stay or be removed entirely. If test_viable is
-	set to 1, sample only from the viable organisms. 
-<tr><td><b>SAMPLE_GENOTYPES [<font color="#0000AA">fraction</font>]
-	[<font color="#008800">test_viable=0</font>] </b><br>
-    	Keep only fraction of genotypes in the current batch. If test_viable is
-        set to 1, sample only from the viable genotypes. 
-<tr><td><b>RENAME [<font color="#008800">start_id=0</font>]</b><br>
-    	Change the id numbers of all the genotypes to start at a given value.
-        Often in long runs we will be dealing with ID's in the millions.  In
-        particular, after reducing a batch to a lineage, we will often want
-        to number the genotypes in order from the ancestor to the final one.
-</table>
+</dd>
+<dt><strong>FIND_LINEAGE [<font color="#008800">type="num_cpus"</font>]</strong></dt>
+<dd>
+  Delete everything except the lineage from the chosen genotype back
+  to the most distant ancestor available.  This command will only
+  function properly if parental information was loaded in with the
+  genotypes.  Type is the same as the FIND_GENOTYPE command.
+</dd>
+<dt><strong>
+  FIND_SEX_LINEAGE [<font color="#008800">type="num_cpus"</font>]
+  [<font color="#008800">parent_method="rec_region_size"</font>]
+</strong></dt>
+<dd>
+  Delete everything except the lineage from the chosen genotype back
+  to the most distant ancestor available. Similar to FIND_LINEAGE but 
+  works in sexual populations. To simplify things, only maternal lineage plus
+  immediate fathers are saved, i.e. info about father's parents is discarded. 
+  The second option, parent_method, determines which parent is considered the 
+  'mother' in each particular recombination. If parent_method is "rec_region_size" :
+  'mother' is the parent contributing more code to the offspring genome 
+  (default); if it's <em>genome_size</em>, 'mother' is the parent with the longer 
+  genome, no matter how much of it was contributed to the offspring. 
+  This command will only function properly if parental information was 
+  loaded in with the genotypes.  Type is the same as the FIND_GENOTYPE command.
+</dd>
+<dt><strong>ALIGN</strong></dt>
+<dd>
+  Create an alignment of all the genome's sequences; It will place '_'s
+  in the sequences to show the alignment.  Note that a FIND_LINEAGE
+  must first be run on the batch in order for the alignment to be
+  possible.
+</dd>
+<dt><strong>SAMPLE_ORGANISMS [<font color="#0000AA">fraction</font>] [<font color="#008800">test_viable=0</font>]</strong></dt>
+<dd>
+  Keep only fraction of organisms in the current batch.  This
+  is done per organism, <em>not</em> per genotype.  Thus, genotypes of high
+  abundance may only have their abundance lowered, while genotypes
+  of abundance 1 will either stay or be removed entirely. If test_viable is
+  set to 1, sample only from the viable organisms. 
+</dd>
+<dt><strong>SAMPLE_GENOTYPES [<font color="#0000AA">fraction</font>] [<font color="#008800">test_viable=0</font>]</strong></dt>
+<dd>
+  Keep only fraction of genotypes in the current batch. If test_viable is
+  set to 1, sample only from the viable genotypes. 
+</dd>
+<dt><strong>RENAME [<font color="#008800">start_id=0</font>]</strong></dt>
+<dd>
+  Change the id numbers of all the genotypes to start at a given value.
+  Often in long runs we will be dealing with ID's in the millions.  In
+  particular, after reducing a batch to a lineage, we will often want
+  to number the genotypes in order from the ancestor to the final one.
+</dd>
+</dl>
 
+
+<p>&nbsp;</p>
+<h3>Basic Output Commands</h3>
+
 <p>
 Next, we are going to look at the standard output commands that will used to
 save information generated in analyze mode.
+</p>
 
-
-<p align=center><b>Table 5: <font color="#008800">Basic Output Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>PRINT [<font color="#008800">dir="genebank/"</font>] 
-	[<font color="#008800">filename</font>] </b><br>
-    	Print the genotypes from the current batch as individual files (one
-        genotype per file) in the directory given. If no filename is specified,  
-	the files will be named by the genotype name, with a ".gen" appended to 
-	them. Specifying the filename is useful when printing a single genotype. 
-<tr><td><b>TRACE [<font color="#008800">dir="genebank/"</font>] [ <font color="#008800">use_resources=0</font>] </b><br>
-    	Trace all of the genotypes and print a listing of their execution.
-	This will show step-by-step the status of all of the CPU components
-	and the genome during the course of the execution.  The filename used
-	for each trace will be the genotype's name with a ".trace" appended.
-	The use resources flag signifies whether or not the test cpu will use
-        resources when it runs.  For more information on resources, see the 
-        <a href="#USING_RESOURCES">summary</a> below.
-<tr><td><b>PRINT_TASKS [<font color="#008800">file="tasks.dat"</font>] </b><br>
-    	This will print out the tasks doable by each genotype, one per line
-	in the output file specified.  Note that this information must either
-	have been loaded in, or a RECALCULATE must have been run to collect
-	it.
-<tr><td><b>DETAIL [<font color="#008800">file="detail.dat"</font>] [<font color="#008800">format ...</font>]</b><br>
-    	Print out all of the stats for each genotype, one per line.  The
-	format indicates the layout of columns in the file.  If the filename
-	specified ends in ".html", html formatting will be used instead of
-	plain text.  For the format, see the section on "Output Formats"
-	below.
-<tr><td><b>DETAIL_TIMELINE [<font color="#008800">file="detail_timeline.dat"</font>] 
+<dl>
+<dt><strong>PRINT [<font color="#008800">dir='archive/'</font>] [<font color="#008800">filename</font>]</strong></dt>
+<dd>
+  Print the genotypes from the current batch as individual files (one
+  genotype per file) in the directory given. If no filename is specified,  
+  the files will be named by the genotype name, with a <kbd>.gen</kbd> appended to 
+  them. Specifying the filename is useful when printing a single genotype. 
+</dd>
+<dt><strong>TRACE [<font color="#008800">dir='archive/'</font>] [ <font color="#008800">use_resources=0</font>]</strong></dt>
+<dd>
+  Trace all of the genotypes and print a listing of their execution.
+  This will show step-by-step the status of all of the CPU components
+  and the genome during the course of the execution.  The filename used
+  for each trace will be the genotype's name with a <kbd>.trace</kbd> appended.
+  The use resources flag signifies whether or not the test cpu will use
+  resources when it runs.  For more information on resources, see the 
+  <a href="#USING_RESOURCES">summary</a> below.
+</dd>
+<dt><strong>PRINT_TASKS [<font color="#008800">file='tasks.dat'</font>]</strong></dt>
+<dd>
+  This will print out the tasks doable by each genotype, one per line
+  in the output file specified.  Note that this information must either
+  have been loaded in, or a RECALCULATE must have been run to collect
+  it.
+</dd>
+<dt><strong>DETAIL [<font color="#008800">file='detail.dat'</font>] [<font color="#008800">format ...</font>]</strong></dt>
+<dd>
+  Print out all of the stats for each genotype, one per line.  The
+  format indicates the layout of columns in the file.  If the filename
+  specified ends in <kbd>.html</kbd>, html formatting will be used instead of
+  plain text.  For the format, see the section on
+  <a href="#OUTPUT_FORMATS">Output Formats</a> below.
+</dd>
+<dt><strong>
+  DETAIL_TIMELINE [<font color="#008800">file='detail_timeline.dat'</font>] 
 	[<font color="#008800">time_step=100</font>]
-	[<font color="#008800">max_time=100000</font>]</b><br> 
+	[<font color="#008800">max_time=100000</font>]
+</strong></dt>
+<dd>
 	Details a time-sequence of dump files. 
-<tr><td><b>DETAIL_BATCHES [<font color="#008800">file="detail_baches.dat"</font>]
-	[<font color="#008800">format ...</font>]</b><br>
-        Details all batches. 
-<tr><td><b>DETAIL_INDEX [<font color="#0000AA">file</font>]
+</dd>
+<dt><strong>
+  DETAIL_BATCHES [<font color="#008800">file='detail_baches.dat'</font>]
+	[<font color="#008800">format ...</font>]
+</strong></dt>
+<dd>
+  Details all batches. 
+</dd>
+<dt><strong>
+  DETAIL_INDEX [<font color="#0000AA">file</font>]
 	[<font color="#0000AA">min_batch</font>] [<font color="#0000AA">max_batch</font>]
-	[<font color="#008800">format ...</font>]</b><br>
+	[<font color="#008800">format ...</font>]
+</strong></dt>
+<dd>
 	Detail all the batches between min_batch and max_batch. 
-<tr><td><b>DETAIL_AVERAGE [<font color="#008800">file="detail.dat"</font>] 
-	[<font color="#008800">format ...</font>]</b><br>
+</dd>
+<dt><strong>
+  DETAIL_AVERAGE [<font color="#008800">file="detail.dat"</font>] 
+	[<font color="#008800">format ...</font>]
+</strong></dt>
+<dd>
 	Detail the current batch, but print out the average for each argument, as opposed to the 
 	individual values for each genotype, the way DETAIL would. Arguments are the same as for DETAIL. 
 	it takes into account the relative abundance of each genotype in the batch when calculating the 
 	averages. 
-</table>
+</dd>
+</dl>
 
+
+<p>&nbsp;</p>
+<h3>Analysis Commands</h3>
+
 <p>
 And at last, we have the actual analysis commands that perform tests on
 the data and output the results.
+</p>
 
-<p align=center><b>Table 6: <font color="#008800">Analysis Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>LANDSCAPE [<font color="#008800">file="landscape.dat"</font>]
-	[<font color="#008800">dist=1</font>]
-	[<font color="#008800">nume_test=(all)</font>]</b><br>
-    	For each genotype in the current batch, test all possible mutations
-	(or combinations of mutations if dist > 1) and summarize the results,
-	one per line in the specified file.
-	If <b>nume_test</b> is specified, randomly pick that many mutants
-	to test, instead of testing all (important for large <b>dist</b>) 
-<tr><td><b>ANALYZE_EPISTASIS [<font color="#008800">file="epistasis.dat"</font>]
-	[<font color="#008800">num_test=(all)</font>]</b><br>
-    	For each genotype in the current batch, test possible 
-	double mutatants, and single mutations composing them; print both of 
-	individual relative fitnesses and the double mutant relative fitness. 
-	By default all double mutants are tested. If in a hurry, specify the 
-	number to be tested (<b>num_test</b>)
-<tr><td><b>MAP_TASKS [<font color="#008800">dir="phenotype/"</font>]
+<dl>
+<dt><strong>
+  ANALYZE_EPISTASIS [<font color="#008800">file='epistasis.dat'</font>]
+	[<font color="#008800">num_test=(all)</font>]
+</strong></dt>
+<dd>
+  For each genotype in the current batch, test possible 
+  double mutatants, and single mutations composing them; print both of 
+  individual relative fitnesses and the double mutant relative fitness. 
+  By default all double mutants are tested. If in a hurry, specify the 
+  number to be tested.
+</dd>
+<dt><strong>
+  MAP_TASKS [<font color="#008800">dir="phenotype/"</font>]
+	[<font color="#008800">flags ...</font>] [<font color="#008800">format ...</font>]
+</strong></dt>
+<dd>
+  Construct a genotype-phenotype array for each genotype in the
+  current batch.  The format is the list of stats that you want
+  to include as columns in the array.  Additionally you can have
+  special format flags; the possible flags are 'html' to print output
+  in HTML format, and 'link_maps' to create html links between
+  consecutive genotypes in a lineage.
+</dd>
+<dt><strong>
+  MAP_MUTATIONS [<font color="#008800">dir="mutations/"</font>]
 	[<font color="#008800">flags ...</font>]
-	[<font color="#008800">format ...</font>] </b><br>
-    	Construct a genotype-phenotype array for each genotype in the
-	current batch.  The format is the list of stats that you want
-	to include as columns in the array.  Additionally you can have
-	special format flags; the possible flags are "html" to print output
-	in HTML format, and "link_maps" to create html links between
-	consecutive genotypes in a lineage.
-<tr><td><b>MAP_MUTATIONS [<font color="#008800">dir="mutations/"</font>]
-	[<font color="#008800">flags ...</font>] </b><br>
-    	Construct a genome-mutation array for each genotype in the
-	current batch.  The format has each line in the genome as a row
-        in the chart, and all available instructions representing the columns.
-        The cells in the chart indicate the fitness were a mutation to
-        occur at the position in the matrix, to the listed instruction.
-        If the "html" flag is used, the charts will be output in HTML format.
-<tr><td><b>MAP_DEPTH [<font color="#008800">filename='depth_map.dat'</font>] [<font color="#008800">min_batch=0</font>] [<font color="#008800">max_batch=cur_batch-1</font>]</b><br>
-       This will create a depth map (like those we use for phylogeny
-       visualization) in the filename specified.  You can direct which
-       batches to take this from, but by default it will work perfectly after
-       a LOAD_MULTI_DETAIL.
-
-    
-<tr><td><b>AVERAGE_MODULATITY [<font color="#008800">file="modularity.dat"</font>]
+</strong></dt>
+<dd>
+  Construct a genome-mutation array for each genotype in the
+  current batch.  The format has each line in the genome as a row
+  in the chart, and all available instructions representing the columns.
+  The cells in the chart indicate the fitness were a mutation to
+  occur at the position in the matrix, to the listed instruction.
+  If the 'html' flag is used, the charts will be output in HTML format.
+</dd>
+<dt><strong>
+  MAP_DEPTH [<font color="#008800">filename='depth_map.dat'</font>]
+  [<font color="#008800">min_batch=0</font>] [<font color="#008800">max_batch=cur_batch-1</font>]
+</strong></dt>
+<dd>
+  This will create a depth map (like those we use for phylogeny
+  visualization) in the filename specified.  You can direct which
+  batches to take this from, but by default it will work perfectly after
+  a LOAD_MULTI_DETAIL.
+</dd>
+<dt><strong>
+  AVERAGE_MODULATITY [<font color="#008800">file='modularity.dat'</font>]
 	[<font color="#008800">task.0 task.1 task.2 task.3 task.4 task.5      
-	task.6 task.7 task.8</font>] </b><br>
-    	Calculate several modularity measuers, such as how many tasks is an 
-	instruction involved in, number of sites required for each task, etc.
-	The measures are averaged over all the organisms in the current batch 
-	that perform any tasks. For the full output list, do 
-	"AVERAGE_MODULATITY legend.dat" At the moment doesn't support html
-	output format and works with only 1 and 2 input tasks. 
-<tr><td><b>HAMMING [<font color="#008800">file="hamming.dat"</font>]
-	[<font color="#008800">b1=current</font>]
-	[<font color="#008800">b2=b1</font>] </b><br>
-    	Calculate the hamming distance between batches b1 and b2.  If only
-	one batch is given, calculations are on all pairs within that batch.
-<tr><td><b>LEVENSTEIN [<font color="#008800">file="lev.dat"</font>]
-	[<font color="#008800">batch1</font>]
-	[<font color="#008800">b2=b1</font>]</b><br>
-    	Calculate the levenstein distance (edit distance) between batches b1
-	and b2.  This metric is similar to hamming distance, but calculates
-	the minimum number of single insertions, deletions, and mutations to
-	move from one sequence to the other.
-<tr><td><b>SPECIES [<font color="#008800">file="species.dat"</font>]
-	[<font color="#0000AA">bach1</font>]
-	[<font color="#0000AA">bach2</font>]
-        [<font color="#0000AA">num_recombinants</font>]</b><br>
+	task.6 task.7 task.8</font>]
+</strong></dt>
+<dd>
+  Calculate several modularity measuers, such as how many tasks is an 
+  instruction involved in, number of sites required for each task, etc.
+  The measures are averaged over all the organisms in the current batch 
+  that perform any tasks. For the full output list, do 
+  <code>AVERAGE_MODULATITY legend.dat</code> At the moment doesn't support html
+  output format and works with only 1 and 2 input tasks. 
+</dd>
+<dt><strong>
+  HAMMING [<font color="#008800">file="hamming.dat"</font>]
+	[<font color="#008800">b1=current</font>] [<font color="#008800">b2=b1</font>]
+</strong></dt>
+<dd>
+  Calculate the hamming distance between batches b1 and b2.  If only
+  one batch is given, calculations are on all pairs within that batch.
+</dd>
+<dt><strong>
+  LEVENSTEIN [<font color="#008800">file='lev.dat'</font>]
+	[<font color="#008800">batch1</font>] [<font color="#008800">b2=b1</font>]
+</strong></dt>
+<dd>
+  Calculate the levenstein distance (edit distance) between batches b1
+  and b2.  This metric is similar to hamming distance, but calculates
+  the minimum number of single insertions, deletions, and mutations to
+  move from one sequence to the other.
+</dd>
+<dt><strong>
+  SPECIES [<font color="#008800">file='species.dat'</font>]
+	[<font color="#0000AA">batch1</font>] [<font color="#0000AA">batch2</font>]
+  [<font color="#0000AA">num_recombinants</font>]
+</strong></dt>
+<dd>
 	Calculates the percentage of non-viable recombinants between all 
 	pairs of organisms from batches 1 and 2. Number of random recombination 
 	events for each pair of organisms is specified by num_recombinants.
 	Recombination is done in the same way as in the birth chamber when 
-	divide-sex is executed. <br>
-	Output:  Batch1Name  Batch2Name  AveDistance  Count  FailCount
-<tr><td><b>RECOMBINE 
-	[<font color="#0000AA">bach1</font>]
-	[<font color="#0000AA">bach2</font>]
-	[<font color="#0000AA">bach3</font>]
-	[<font color="#0000AA">num_recombinants</font>]</b><br>
+	divide-sex is executed.
+  <br />Output:  Batch1Name  Batch2Name  AveDistance  Count  FailCount
+</dd>
+<dt><strong>
+  RECOMBINE 
+	[<font color="#0000AA">batch1</font>] [<font color="#0000AA">batch2</font>]
+	[<font color="#0000AA">batch3</font>] [<font color="#0000AA">num_recombinants</font>]
+</strong></dt>
+<dd>
 	Similar to Species command, but instead of calculating things on the spot, 
 	just create all the recombinant genotypes using organisms from baches 1 and 2
 	and put them in the batch3. 
-</table>
+</dd>
+</dl>
 
-<a name="USING_RESOURCES"></a>
-<h3>Using Test CPU Resources Summary</h3>
+
+<p>&nbsp;</p>
+<h2><a name="USING_RESOURCES">Using Test CPU Resources Summary</a></h2>
+
 <p>
 This summary is given to help explain the use and constraints for using resources.
-
+</p>
 <p>
 When a command specifies the use of resources for the test cpu, it should not
 affect the state of the test cpu after the command has finished.  However, this 
@@ -364,14 +487,14 @@
 environment and resource count.  When the command has finished it will set the the 
 test cpu's environment and resource count back to what they were before the command 
 was executed.
-
+</p>
 <p>
 Resource usage for the test cpu occurs by setting the environment and then 
 setting up the resource count using the environment.  Once the resource 
 count has been set up, it will not change during the use of the test cpu.  
 When an organism performs and IO, completing a task, the concentrations are 
 not changed.  This was a design decision, but is easily changed.
-
+</p>
 <p>
 In analyze, a new data structure was included which contains a time ordered 
 list of resource concentrations.  This list can be used to set up resources 
@@ -381,163 +504,213 @@
 command is not called, the list defaults to a single entry which is the 
 the initial concentrations of the resources specified in the environment 
 configuration file.
+</p>
 
-<p align=center><b>Table 7: <font color="#008800">Test CPU Resource Related Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>PRINT_TEST_CPU_RESOURCES </b><br>
-    	This command first prints the whether or not the test cpu is using 
-        resources.  Then it will print the concentration for each resource.
-<tr><td><b>LOAD_RESOURCES [<font color="#008800">file_name="resource.dat"</font>] </b><br>
-    	This command loads a time oriented list of resource concentrations.  
-        The command takes a file name containing this type of data, and 
-        defaults to resource.dat.  The format of the file must be the same 
-        as resource.dat, and each line must be in the correct chronological 
-        order with oldest first.  
-</table>
+<dl>
+<dt><strong>PRINT_TEST_CPU_RESOURCES</strong></dt>
+<dd>
+  This command first prints the whether or not the test cpu is using 
+  resources.  Then it will print the concentration for each resource.
+</dd>
+<dt><strong>LOAD_RESOURCES [<font color="#008800">file_name="resource.dat"</font>]</strong></dt>
+<dd>
+  This command loads a time oriented list of resource concentrations.  
+  The command takes a file name containing this type of data, and 
+  defaults to resource.dat.  The format of the file must be the same 
+  as resource.dat, and each line must be in the correct chronological 
+  order with oldest first.
+</dd>
+</dl>
 
-<h3>Output Formats</h3>
 
-<p>
- Several commands (such as DETAIL and MAP) require format parameters
- to specify what genotypic features should be output.  Before the
- such commands are used, other collection functions may need to be
- run.
 
+<p>&nbsp;</p>
+<h2><a name="OUTPUT_FORMATS">Output Formats</a></h2>
+
 <p>
- Allowable formats after a normal load (assuming these values were available
- from the input file to be loaded in) are:
+Several commands (such as DETAIL and MAP) require format parameters
+to specify what genotypic features should be output.  Before the
+such commands are used, other collection functions may need to be
+run.
+</p>
 <p>
-<center>
-<table width=95%>
-<tr><td width=33%><b>id</b>           (Genome ID)
-    <td width=33%><b>parent_id</b>    (Parent ID)
-    <td width=33%><b>num_cpus</b>     (Number of CPUs)
-<tr><td><b>total_cpus</b>   (Total CPUs Ever)
-    <td><b>length</b>       (Genome Length)
-    <td><b>update_born</b>  (Update Born)
-<tr><td><b>update_dead</b>  (Update Dead)
-    <td><b>depth</b>        (Tree Depth)
-    <td><b>sequence</b>     (Genome Sequence)
+Allowable formats after a normal load (assuming these values were available
+from the input file to be loaded in) are:
+</p>
+<div align="center">
+<table width="95%">
+<tr>
+  <td width="33%"><strong>id</strong> (Genome ID)</td>
+  <td width="33%"><strong>parent_id</strong> (Parent ID)</td>
+  <td width="33%"><strong>num_cpus</strong> (Number of CPUs)</td>
+</tr>
+<tr>
+  <td><strong>total_cpus</strong> (Total CPUs Ever)</td>
+  <td><strong>length</strong> (Genome Length)</td>
+  <td><strong>update_born</strong> (Update Born)</td>
+</tr>
+<tr>
+  <td><strong>update_dead</strong> (Update Dead)</td>
+  <td><strong>depth</strong> (Tree Depth)</td>
+  <td><strong>sequence</strong> (Genome Sequence)</td>
+</tr>
 </table>
-</center>
+</div>
 
 <p>
- After a RECALCULATE, the additional formats become available:
+After a RECALCULATE, the additional formats become available:
+</p>
 
-<p>
-<center>
-<table width=95%>
-<tr><td width=33%><b>viable</b> (Is Viable [0/1])
-    <td width=33%><b>copy_length</b> (Copied Length)
-    <td width=33%><b>exe_length</b> (Executed Length)
-<tr><td><b>merit</b> (Merit)
-    <td><b>comp_merit</b> (Computational Merit)
-    <td><b>gest_time</b> (Gestation Time)
-<tr><td><b>efficiency</b> (Replication Efficiency)
-    <td><b>fitness</b> (Fitness)
-    <td><b>div_type</b> (Divide type used; 1 is default)
-<tr><td><b>task.n</b> (# of times task number n is done)
-    <td><b>task.n:binary</b> (is task n done, 0/1)
+<div align="center">
+<table width="95%">
+<tr>
+  <td width="33%"><strong>viable</strong> (Is Viable [0/1])</td>
+  <td width="33%"><strong>copy_length</strong> (Copied Length)</td>
+  <td width="33%"><strong>exe_length</strong> (Executed Length)</td>
+</tr>
+<tr>
+  <td><strong>merit</strong> (Merit)</td>
+  <td><strong>comp_merit</strong> (Computational Merit)</td>
+  <td><strong>gest_time</strong> (Gestation Time)</td>
+</tr>
+<tr>
+  <td><strong>efficiency</strong> (Replication Efficiency)</td>
+  <td><strong>fitness</strong> (Fitness)</td>
+  <td><strong>div_type</strong> (Divide type used; 1 is default)</td>
+</tr>
+<tr>
+  <td><strong>task.n</strong> (# of times task number n is done)</td>
+  <td><strong>task.n:binary</strong> (is task n done, 0/1)</td>
+</tr>
 </table>
-</center>
+</div>
 
 <p>
- If a FIND_LINEAGE was done before the RECALCULATE, the parent
- genotype for each regular genotype will be available, enabling the
- additional formats:
+If a FIND_LINEAGE was done before the RECALCULATE, the parent
+genotype for each regular genotype will be available, enabling the
+additional formats:
+</p>
 
-<p>
-<center>
-<table width=95%>
-<tr><td width=50%><b>parent_dist</b> (Parent Distance)
-    <td width=50%><b>comp_merit_ratio</b>, (Computational Merit Ratio with parent)
-<tr><td><b>efficiency_ratio</b> (Replication Efficiency Ratio with parent)
-    <td><b>fitness_ratio</b> (Fitness Ratio with parent)
-<tr><td><b>parent_muts</b> (Mutations from Parent)
-    <td><b>html.sequence</b> (Genome Sequence in Color; html format)
+<div align="center">
+<table width="95%">
+<tr>
+  <td width="50%"><strong>parent_dist</strong> (Parent Distance)</td>
+  <td width="50%"><strong>comp_merit_ratio</strong>, (Computational Merit Ratio with parent)</td>
+</tr>
+<tr>
+  <td><strong>efficiency_ratio</strong> (Replication Efficiency Ratio with parent)</td>
+  <td><strong>fitness_ratio</strong> (Fitness Ratio with parent)</td>
+</tr>
+<tr>
+  <td><strong>parent_muts</strong> (Mutations from Parent)</td>
+  <td><strong>html.sequence</strong> (Genome Sequence in Color; html format)</td>
+</tr>
 </table>
-</center>
+</div>
 
 <p>
 If an ALIGN is run, one additional format is available:
-<p>
-<center>
-<table width=95%>
-<tr><td><b>alignment</b> (Aligned Sequence)
+</p>
+
+<div align="center">
+<table width="95%">
+<tr>
+  <td><strong>alignment</strong> (Aligned Sequence)</td>
+</tr>
 </table>
-</center>
+</div>
     
 <p>
 Finally, there are a handful of commands that will automatically perform
 landscapping.  The landscape will only be run once per organism even when
-multiple output variables are used.
-<p>
-<center>
-<table width=95%>
-<tr><td><b>frac_dead</b> (Fraction of Lethal Mutations)</td>
-    <td><b>frac_neg</b> (Fraction of Harmful Mutations)</td></tr>
-<tr><td><b>frac_neut</b> (Fraction of Neutral Mutations)</td>
-    <td><b>frac_pos</b> (Fraction of Beneficial Mutations)</td></tr>
-<tr><td><b>complexity</b> (Physical Complexity of Organism)</td>
-    <td><b>land_fitness</b> (Average Mutation Fitness)</td></tr>
+multiple output variables are used.  For enhanced performance on
+multi-processor/multi-core systems, see the
+<a href="actions.html#PrecalcLandscape">PrecalcLandscape</a> action.
+</p>
+
+<div align="center">
+<table width="95%">
+<tr>
+  <td width="50%"><strong>frac_dead</strong> (Fraction of Lethal Mutations)</td>
+  <td width="50%"><strong>frac_neg</strong> (Fraction of Harmful Mutations)</td>
+</tr>
+<tr>
+  <td><strong>frac_neut</strong> (Fraction of Neutral Mutations)</td>
+  <td><strong>frac_pos</strong> (Fraction of Beneficial Mutations)</td>
+</tr>
+<tr>
+  <td><strong>complexity</strong> (Physical Complexity of Organism)</td>
+  <td><strong>land_fitness</strong> (Average Mutation Fitness)</td>
+</tr>
 </table>
-</center>
+</div>
 
 
-
 <h3>Variables</h3>
 
 <p>
- For the moment, all variables can only be a single character (letter or
- number) and begin with a $ whenever they need to be translated to their
- value.  Lowercase letters are global variables, capital letters are
- local to a function (described later), and numbers are arguments to a
- function.  A $$ will act as a single dollar sign, if needed.
+For the moment, all variables can only be a single character (letter or
+number) and begin with a $ whenever they need to be translated to their
+value.  Lowercase letters are global variables, capital letters are
+local to a function (described later), and numbers are arguments to a
+function.  A $$ will act as a single dollar sign, if needed.
+</p>
 
-<p align=center><b>Table 8: <font color="#008800">Variable-Related Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>SET [<font color="#0000AA">variable</font>]
-	[<font color="#0000AA">value</font>] </b><br>
-    	Sets the variable to the value...
-<tr><td><b>FOREACH [<font color="#0000AA">variable</font>]
-	[<font color="#0000AA">value</font>]
-	[<font color="#008800">value ...</font>] </b><br>
-    	Set the variable to each of the values listed, and run the code that
-        follows between here and the next END command once for each of
-	those values.
-<tr><td><b>FORRANGE [<font color="#0000AA">variable</font>]
-	[<font color="#0000AA">min_value</font>]
-	[<font color="#0000AA">max_value</font>]
-	[<font color="#008800">step_value=1</font>]</b><br>
-    	Set the variable to each of the values between min and max (at steps
-	given), and run the code that follows between here and the next END
-	command, once for each of those values.
-</table>
+<dl>
+<dt><strong>SET [<font color="#0000AA">variable</font>] [<font color="#0000AA">value</font>]</strong></dt>
+<dd>
+  Sets the variable to the value...
+</dd>
+<dt><strong>
+  FOREACH [<font color="#0000AA">variable</font>] [<font color="#0000AA">value</font>]
+	[<font color="#008800">value ...</font>]
+</strong></dt>
+<dd>
+  Set the variable to each of the values listed, and run the code that
+  follows between here and the next END command once for each of
+  those values.
+</dd>
+<dt><strong>
+  FORRANGE [<font color="#0000AA">variable</font>] [<font color="#0000AA">min_value</font>]
+	[<font color="#0000AA">max_value</font>] [<font color="#008800">step_value=1</font>]
+</strong></dt>
+<dd>
+  Set the variable to each of the values between min and max (at steps
+  given), and run the code that follows between here and the next END
+  command, once for each of those values.
+</dd>
+</dl>
 
+
+<p>&nbsp;</p>
 <h3>Functions</h3>
 
 <p>
- These functions are currently very primitive with fixed inputs of
- $0 through $9.  $0 is always the function name, and then there can be up
- to 9 other arguments passed through.  Once a function is created, it can
- be run just like any other command.
+These functions are currently very primitive with fixed inputs of
+$0 through $9.  $0 is always the function name, and then there can be up
+to 9 other arguments passed through.  Once a function is created, it can
+be run just like any other command.
+</p>
 
-<p align=center><b>Table 9: <font color="#008800">Function-Related Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>FUNCTION [<font color="#0000AA">name</font>]</b><br>
-    	This will create a function of the given name, including in it all
-	of the commands up until an END is found.  These commands will be
-	bound to the function, but are not executed until the function is
-	run as a command.  Inside the function, the variables $1 through $9
-	can be used to access arguments passed in.
-</table>
+<dl>
+<dt><strong>FUNCTION [<font color="#0000AA">name</font>]</strong></dt>
+<dd>
+  This will create a function of the given name, including in it all
+  of the commands up until an END is found.  These commands will be
+  bound to the function, but are not executed until the function is
+  run as a command.  Inside the function, the variables $1 through $9
+  can be used to access arguments passed in.
+</dd>
+</dl>
 
 <p>
 Currently there are no conditionals or mathematical commands in this
 scripting language.  These are both planned for the future.
+</p>
 
 
-<br><hr>
-Project hosted by:<br>
-<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=46761&type=2" width="125" height="37" border="0" alt="SourceForge.net"/></a>
-    
+<hr />
+<p><a href="index.html">Return to the Index</a></p>
+
+</body>
+</html>




More information about the Avida-cvs mailing list