<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Commands</title><link>https://sourceforge.net/p/asil/wiki/Commands/</link><description>Recent changes to Commands</description><atom:link href="https://sourceforge.net/p/asil/wiki/Commands/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 16 Mar 2014 18:46:59 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/asil/wiki/Commands/feed" rel="self" type="application/rss+xml"/><item><title>Commands modified by Bharath Gaddam</title><link>https://sourceforge.net/p/asil/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v17
+++ v18
@@ -3,15 +3,15 @@
 Definition
 ----------

-Commands are any procedure that looks like a simple statement when called.  These can be built-in like the PRINT statement in every existing variant of BASIC or declared by code.  They can be global or members of a **[class](keywords-class)**, **[struct](keywords-struct)**, or **[interface](keywords-interface)**.  You declare them with the **[command](keywords-command)** keyword.  They can't return a value.  Below is a list of what various parts of the declaration mean.  Commands don't have a return type.  (The closest equivalent in C would be a function returning void.)
+Commands are any procedure that looks like a simple statement when called.  These can be built-in like the PRINT statement in every existing variant of BASIC or declared by code.  They can be global or members of a **[class](keywords-class)**, **[struct](keywords-struct)**, or **[interface](keywords-interface)**.  You declare them with the **[command](keywords-command)** keyword.  They can’t return a value.  Below is a list of what various parts of the declaration mean.  Commands don’t have a return type.  (The closest equivalent in C would be a function returning void.)

 What you see | What it means
 -------------|--------------
-\[text\] | Optional syntax that isn't needed to call the command
-(possibility 1 or possibility 2) | Either possibility can appear, but one must; both can't appear
+\[text\] | Optional syntax that isn’t needed to call the command
+(possibility 1 or possibility 2) | Either possibility can appear, but one must; both can’t appear
 parameter1, parameter2 | two parameters delimited by commas
 \identifier\ | Name of keyword that must appear without the backslashes
-var string identifier | Declaration of parameter "Identifier"
+var string identifier | Declaration of parameter “Identifier”
 var s$ | Declaration of parameter s$
 (sequence)...identifier | The sequence happens as many times as needed; identifier becomes an array with the contents being the sequence; access with &lt;code&gt;identifer\[index\].&lt;/code&gt;
 {\keyword1\ sequence, \keyword2\ sequence, ...} | Defines a set of sequences, each preceded by a unique keyword (to the set), which can occur in any order, but only once.  Place a sequence inside \[\] to make it optional.  Without the \[\], that sequence is required somewhere.
@@ -36,11 +36,11 @@

 Note the code shown doesn't have anything like END IF that other BASIC derivatives have.  The indentation is all you need.  If a parser of ASIL sees the indentation decrease, whatever control statement was current is required to end.  So each if shown is a single statement.  The command ends at the end of the sample.

-You will also note that "\left\" and "\right\" are referenced inside the if statements.  Those references evaluate to **true** if the caller used them and **false** if the caller skipped them.
+You will also note that “\left\” and “\right\” are referenced inside the if statements.  Those references evaluate to **true** if the caller used them and **false** if the caller skipped them.

-Classic BASIC's PRINT command implemented in ASIL
+Classic BASIC’s PRINT command implemented in ASIL
 -------------------------------------------------
-ASIL doesn't really need a PRINT command as it would probably end up with a console object, but I'm showing it here so show how repeating options work.    This is much more complex than CallMe in the previous example.
+ASIL doesn’t really need a PRINT command as it would probably end up with a console object, but I’m showing it here so show how repeating options work.    This is much more complex than CallMe in the previous example.

 ~~~~
 :::text
@@ -52,12 +52,12 @@

   parameters.foreach var ParameterPass curParameter 
     switch
-      case curParameter.\newLine\ 'Because this keyword was part of a repeating parameter list, treat it as a member of curParameter
+      case curParameter.\newLine\ ’Because this keyword was part of a repeating parameter list, treat it as a member of curParameter
         console.print "\n"

         break;

-      case curParameter.param &lt;code&gt; null ' Will be null if the pass was the \newLine\ keyword
+      case curParameter.param &lt;/code&gt;&lt;code&gt; null ’ Will be null if the pass was the \newLine\ keyword
         console.print curParameter.param
 ~~~~

@@ -66,5 +66,5 @@
 * It assumes the foreach complex statement described in [Members and methods]
 * I'm also using that console object just mentioned to actually output the string
 * The presence of a toString function and the Variant type are assumed
-* What wasn't mentioned in the table above was that the array (in this case, &lt;/code&gt;&lt;code&gt;parameters&lt;/code&gt;), is an array of type &lt;code&gt;ParameterPass&lt;/code&gt;
+* What wasn’t mentioned in the table above was that the array (in this case, &lt;code&gt;parameters&lt;/code&gt;), is an array of type &lt;code&gt;ParameterPass&lt;/code&gt;
 * For the syntax of the **[switch](keywords-switch)** statement, see [Switch statements].
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bharath Gaddam</dc:creator><pubDate>Sun, 16 Mar 2014 18:46:59 -0000</pubDate><guid>https://sourceforge.net3dd8d2871d20d1093db7a5a5bf445933f2cff3b1</guid></item><item><title>Commands modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v16
+++ v17
@@ -63,8 +63,8 @@

 Some notes:

-* It assumes the foreach complex statement described in [Members and Methods]
+* It assumes the foreach complex statement described in [Members and methods]
 * I'm also using that console object just mentioned to actually output the string
 * The presence of a toString function and the Variant type are assumed
 * What wasn't mentioned in the table above was that the array (in this case, &lt;code&gt;parameters&lt;/code&gt;), is an array of type &lt;code&gt;ParameterPass&lt;/code&gt;
-* For the syntax of the **[switch](keywords-switch)** statement, see [Switch clauses].
+* For the syntax of the **[switch](keywords-switch)** statement, see [Switch statements].
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sun, 16 Feb 2014 10:08:07 -0000</pubDate><guid>https://sourceforge.net9c03eecc4069a977b707445ec5c7d89bba437e32</guid></item><item><title>Commands modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v15
+++ v16
@@ -25,6 +25,7 @@
 A simple command
 ------------------
 ~~~~
+:::text
 command CallMe [\left\ var left#] [\right\ var right#]
   if \left\ then
     print "left: " + left#.toString(".5")
@@ -42,6 +43,7 @@
 ASIL doesn't really need a PRINT command as it would probably end up with a console object, but I'm showing it here so show how repeating options work.    This is much more complex than CallMe in the previous example.

 ~~~~
+:::text
 command PRINT [\newLine\] var Variant firstParam [(\;\ (\newLine\ | var Variant param))...parameters]
   if \newLine\ then
     console.print "\n"
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sun, 16 Feb 2014 10:07:34 -0000</pubDate><guid>https://sourceforge.net68644304b4eb8d1d9881cd08632ba000d7c1b593</guid></item><item><title>Commands modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v14
+++ v15
@@ -3,7 +3,7 @@
 Definition
 ----------

-Commands are any procedure that looks like a simple statement when called.  These can be built-in like the PRINT statement in every existing variant of BASIC or declared by code.  They can be global or members of a [**class**], [**struct**], or [**interface**].  You declare them with the [**command**] keyword.  They can't return a value.  Below is a list of what various parts of the declaration mean.  Commands don't have a return type.  (The closest equivalent in C would be a function returning void.)
+Commands are any procedure that looks like a simple statement when called.  These can be built-in like the PRINT statement in every existing variant of BASIC or declared by code.  They can be global or members of a **[class](keywords-class)**, **[struct](keywords-struct)**, or **[interface](keywords-interface)**.  You declare them with the **[command](keywords-command)** keyword.  They can't return a value.  Below is a list of what various parts of the declaration mean.  Commands don't have a return type.  (The closest equivalent in C would be a function returning void.)

 What you see | What it means
 -------------|--------------
@@ -65,4 +65,4 @@
 * I'm also using that console object just mentioned to actually output the string
 * The presence of a toString function and the Variant type are assumed
 * What wasn't mentioned in the table above was that the array (in this case, &lt;code&gt;parameters&lt;/code&gt;), is an array of type &lt;code&gt;ParameterPass&lt;/code&gt;
-* For the syntax of the [**switch**] statement, see [Switch clauses].
+* For the syntax of the **[switch](keywords-switch)** statement, see [Switch clauses].
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Thu, 13 Feb 2014 20:21:23 -0000</pubDate><guid>https://sourceforge.netc167e4a8c227062a62436173cbec6eafc860e7ad</guid></item><item><title>Commands modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v13
+++ v14
@@ -65,4 +65,4 @@
 * I'm also using that console object just mentioned to actually output the string
 * The presence of a toString function and the Variant type are assumed
 * What wasn't mentioned in the table above was that the array (in this case, &lt;code&gt;parameters&lt;/code&gt;), is an array of type &lt;code&gt;ParameterPass&lt;/code&gt;
-* For the syntax of the **switch** statement, see [Switch clauses].
+* For the syntax of the [**switch**] statement, see [Switch clauses].
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sat, 08 Feb 2014 12:20:21 -0000</pubDate><guid>https://sourceforge.net5b8c4c33cb1fc11d5a630a3815c106a6b7b60504</guid></item><item><title>Commands modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v12
+++ v13
@@ -20,6 +20,7 @@
 -----------------|---------------
 \[\Keyword\ var myString\] | Parameter myString is passed only if the \Keyword\ keyword appears
 (\left\ or \right\\) | One of the keywords shown must appear
+({\[\keyword1\ var string strParam\], \[\keyword2\ var int%\]})...paraemters | A list of parameters that can appear in any order asand as often or rarely as needed

 A simple command
 ------------------
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sat, 08 Feb 2014 12:17:44 -0000</pubDate><guid>https://sourceforge.net19ec6824ba031dd24006c6f2c66259f42a3422aa</guid></item><item><title>Commands modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v11
+++ v12
@@ -3,7 +3,7 @@
 Definition
 ----------

-Commands are any procedure that looks like a simple statement when called.  These can be built-in like the PRINT statement in every existing variant of BASIC or declared by code.  They can be global or members of a Class, Structure, or Interface.  You declare them with the **[command]** keyword.  They can't return a value.  Below is a list of what various parts of the declaration mean.  Commands don't have a return type.  (The closest equivalent in C would be a function returning void.)
+Commands are any procedure that looks like a simple statement when called.  These can be built-in like the PRINT statement in every existing variant of BASIC or declared by code.  They can be global or members of a [**class**], [**struct**], or [**interface**].  You declare them with the [**command**] keyword.  They can't return a value.  Below is a list of what various parts of the declaration mean.  Commands don't have a return type.  (The closest equivalent in C would be a function returning void.)

 What you see | What it means
 -------------|--------------
@@ -14,7 +14,7 @@
 var string identifier | Declaration of parameter "Identifier"
 var s$ | Declaration of parameter s$
 (sequence)...identifier | The sequence happens as many times as needed; identifier becomes an array with the contents being the sequence; access with &lt;code&gt;identifer\[index\].&lt;/code&gt;
-{\keyword1\ sequence, \keyword2\ sequence, ...} | Defines a set of sequences, each preceded by a unique keyword (to the set), which can occur in any order
+{\keyword1\ sequence, \keyword2\ sequence, ...} | Defines a set of sequences, each preceded by a unique keyword (to the set), which can occur in any order, but only once.  Place a sequence inside \[\] to make it optional.  Without the \[\], that sequence is required somewhere.

 Combined samples | What they mean
 -----------------|---------------
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sat, 08 Feb 2014 12:14:13 -0000</pubDate><guid>https://sourceforge.net0a9f4cd73590235bac105ee98d6f1ffb495d5de5</guid></item><item><title>Commands modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v10
+++ v11
@@ -1,5 +1,9 @@
 [TOC]
-Commands are any procedure that looks like a simple statement when called.  These can be built-in like the PRINT statement in every existing variant of BASIC or declared by code.  They can be global or members of a Class, Structure, or Interface.  You declare them with the command keyword.  They can't return a value.  Below is a list of what various parts of the declaration mean.
+
+Definition
+----------
+
+Commands are any procedure that looks like a simple statement when called.  These can be built-in like the PRINT statement in every existing variant of BASIC or declared by code.  They can be global or members of a Class, Structure, or Interface.  You declare them with the **[command]** keyword.  They can't return a value.  Below is a list of what various parts of the declaration mean.  Commands don't have a return type.  (The closest equivalent in C would be a function returning void.)

 What you see | What it means
 -------------|--------------
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Thu, 06 Feb 2014 11:00:52 -0000</pubDate><guid>https://sourceforge.net6674c9df2974e4d0f1dd115b79b21ed12d39edd3</guid></item><item><title>Commands modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v9
+++ v10
@@ -56,7 +56,7 @@

 Some notes:

-* It assumes the foreach complex statement described in [Members and methods]
+* It assumes the foreach complex statement described in [Members and Methods]
 * I'm also using that console object just mentioned to actually output the string
 * The presence of a toString function and the Variant type are assumed
 * What wasn't mentioned in the table above was that the array (in this case, &lt;code&gt;parameters&lt;/code&gt;), is an array of type &lt;code&gt;ParameterPass&lt;/code&gt;
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Thu, 06 Feb 2014 10:57:43 -0000</pubDate><guid>https://sourceforge.netea13f26d71cee3faeafc9245dc556b4c64a19d84</guid></item><item><title>Commands modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v8
+++ v9
@@ -60,3 +60,4 @@
 * I'm also using that console object just mentioned to actually output the string
 * The presence of a toString function and the Variant type are assumed
 * What wasn't mentioned in the table above was that the array (in this case, &lt;code&gt;parameters&lt;/code&gt;), is an array of type &lt;code&gt;ParameterPass&lt;/code&gt;
+* For the syntax of the **switch** statement, see [Switch clauses].
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Thu, 06 Feb 2014 10:56:21 -0000</pubDate><guid>https://sourceforge.net64ca009d2342c95b6c4c07d1d420f68177dc0611</guid></item></channel></rss>