<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.sierrahelp.com/index.php?action=history&amp;feed=atom&amp;title=SCI_Parser_Programmer%27s_Reference%2FIntroduction</id>
	<title>SCI Parser Programmer&#039;s Reference/Introduction - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.sierrahelp.com/index.php?action=history&amp;feed=atom&amp;title=SCI_Parser_Programmer%27s_Reference%2FIntroduction"/>
	<link rel="alternate" type="text/html" href="http://wiki.sierrahelp.com/index.php?title=SCI_Parser_Programmer%27s_Reference/Introduction&amp;action=history"/>
	<updated>2026-11-15T05:43:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://wiki.sierrahelp.com/index.php?title=SCI_Parser_Programmer%27s_Reference/Introduction&amp;diff=71165&amp;oldid=prev</id>
		<title>Andrew Branscom: 2 revisions imported</title>
		<link rel="alternate" type="text/html" href="http://wiki.sierrahelp.com/index.php?title=SCI_Parser_Programmer%27s_Reference/Introduction&amp;diff=71165&amp;oldid=prev"/>
		<updated>2025-02-16T21:00:47Z</updated>

		<summary type="html">&lt;p&gt;2 revisions imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:00, 16 February 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Andrew Branscom</name></author>
	</entry>
	<entry>
		<id>http://wiki.sierrahelp.com/index.php?title=SCI_Parser_Programmer%27s_Reference/Introduction&amp;diff=71164&amp;oldid=prev</id>
		<title>Andrew Branscom: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://wiki.sierrahelp.com/index.php?title=SCI_Parser_Programmer%27s_Reference/Introduction&amp;diff=71164&amp;oldid=prev"/>
		<updated>2024-06-03T05:14:21Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:14, 3 June 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Andrew Branscom</name></author>
	</entry>
	<entry>
		<id>http://wiki.sierrahelp.com/index.php?title=SCI_Parser_Programmer%27s_Reference/Introduction&amp;diff=71163&amp;oldid=prev</id>
		<title>Andrew Branscom at 12:08, 24 June 2022</title>
		<link rel="alternate" type="text/html" href="http://wiki.sierrahelp.com/index.php?title=SCI_Parser_Programmer%27s_Reference/Introduction&amp;diff=71163&amp;oldid=prev"/>
		<updated>2022-06-24T12:08:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:SCI Pages]]&lt;br /&gt;
[[Official SCI Documentation]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
Chapter: &lt;br /&gt;
[[SCI Parser Programmer&amp;#039;s Reference/Introduction|1]] | &lt;br /&gt;
[[SCI Parser Programmer&amp;#039;s Reference/User Parse Trees|2]] | &lt;br /&gt;
[[SCI Parser Programmer&amp;#039;s Reference/Said Specs|3]] | &lt;br /&gt;
[[SCI Parser Programmer&amp;#039;s Reference/Said Syntax|4]] | &lt;br /&gt;
[[SCI Parser Programmer&amp;#039;s Reference/Said Spec Trees|5]] | &lt;br /&gt;
[[SCI Parser Programmer&amp;#039;s Reference/Tree Matching|6]] | &lt;br /&gt;
[[SCI Parser Programmer&amp;#039;s Reference/Examples|7]] | &lt;br /&gt;
[[SCI Parser Programmer&amp;#039;s Reference/Index|Index]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size: 22pt&amp;quot;&amp;gt;Introduction&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Author: [[Pablo Ghenis]]&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Date: 21 July 1988 9:56:56 am&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;br /&amp;gt; Introduction ==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br /&amp;gt; Purpose ===&lt;br /&gt;
&lt;br /&gt;
The parser is the part of SCI that accepts sentences from the user and allows game coders to specify  how to respond to it. For example &amp;quot;get the diamond&amp;quot; is an acceptable sentence for a user to type, and the coder can recognize it with a &amp;quot;spec&amp;quot; such as &amp;#039;get/diamond&amp;#039;, which is followed by SCI code to be executed IF this sentences is entered.&lt;br /&gt;
&lt;br /&gt;
There are three functional blocks in the parser: the sentence parser, the spec parser and the matcher. The sentence parser takes the words typed by the user and generates a &amp;quot;tree&amp;quot; that describes the sentence&amp;#039;s structure using traditional grammar rules. The spec parser accepts &amp;quot;specs&amp;quot; and also generates tree structures. A special syntax is provided for specs since they are more versatile than simple sentences; for example one can SPECify alternative or optional words to be recognized. Finally, the matcher is the module that takes both trees and decides whether or not there is a match.&lt;br /&gt;
&lt;br /&gt;
The following block diagram describes the parser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;*********           ************ &lt;br /&gt;
* User  ************* Sentence * &lt;br /&gt;
* input *      * *  * Parser   * &lt;br /&gt;
*********      * *  ************ &lt;br /&gt;
               * *       * &lt;br /&gt;
************   * *       *    ************ &lt;br /&gt;
* External ***** *       ****** Sentence * &lt;br /&gt;
* Grammar  *     *            * Tree     *** *********** &lt;br /&gt;
************     *            ************ * *         * &lt;br /&gt;
                 *                         *** Matcher * &lt;br /&gt;
**************   *            ************ * *         * &lt;br /&gt;
* External   *****            * Spec     *** *********** &lt;br /&gt;
* Dictionary ****        ****** Tree     * &lt;br /&gt;
**************  *        *    ************ &lt;br /&gt;
                *        * &lt;br /&gt;
                *        * &lt;br /&gt;
*********       *   ************ &lt;br /&gt;
* Coder ************* Spec     * &lt;br /&gt;
* Specs *           * Parser   * &lt;br /&gt;
*********           ************&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the case of a common sentence, only a handful of comparisons may be required before a match is found. If the user were to type in something totally inappropriate, the resulting tree might be compared to fifty or even a hundred specs before falling through to a default answer like &amp;quot;what are you trying to say?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br /&amp;gt; Parseable Sentences: ===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width= &amp;quot;400&amp;quot; align= &amp;quot;left&amp;quot;|SENTENCE!!align= &amp;quot;left&amp;quot;|POSSIBLE MATCHING SPECS &lt;br /&gt;
|-class=&amp;quot;Mono&amp;quot;&lt;br /&gt;
|&amp;quot;look&amp;quot;||&amp;#039;look[/!*]&amp;#039; or &amp;#039;look&amp;#039; &lt;br /&gt;
|-class=&amp;quot;Mono&amp;quot;&lt;br /&gt;
|&amp;quot;get the food&amp;quot;||&amp;#039;get/food&amp;#039; or &amp;#039;get&amp;#039; &lt;br /&gt;
|- class=&amp;quot;Mono&amp;quot; valign= &amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;quot;hit the small tree&amp;quot;||&amp;#039;hit/tree&amp;lt;small&amp;#039;&amp;lt;br /&amp;gt;&amp;#039;hit/tree[&amp;lt;small]&amp;lt;br /&amp;gt;&amp;#039;hit[/tree[&amp;lt;small]]&amp;lt;br /&amp;gt;&amp;#039;hit&amp;#039; &lt;br /&gt;
|- class=&amp;quot;Mono&amp;quot; valign= &amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;quot;hit the small green tree with the ax&amp;quot;||&amp;#039;hit/tree/ax&amp;#039;&amp;lt;br /&amp;gt;&amp;#039;hit/tree&amp;lt;(green&amp;lt;small)/ax&amp;lt;with&amp;#039;&lt;br /&gt;
|-class=&amp;quot;Mono&amp;quot;&lt;br /&gt;
|&amp;quot;burn it&amp;quot; = &amp;quot;burn tree&amp;quot; after last sentence||&amp;#039;burn/tree&amp;#039;&lt;br /&gt;
|-class=&amp;quot;Mono&amp;quot;&lt;br /&gt;
|&amp;quot;when do fairies sleep?&amp;quot;||&amp;#039;(sleep&amp;lt;do&amp;lt;fairies)&amp;lt;when&amp;#039; &lt;br /&gt;
|-class=&amp;quot;Mono&amp;quot;&lt;br /&gt;
|&amp;quot;what time is it?&amp;quot;||&amp;#039;is&amp;lt;what&amp;lt;time&amp;#039; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;br /&amp;gt; References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;br /&amp;gt; Also See ==&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[SCI Parser Programmer&amp;#039;s Reference | Table of Contents]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: left&amp;quot;&amp;gt;[[SCI Parser Programmer&amp;#039;s Reference |&amp;amp;lt; Previous: Table of Contents]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right&amp;quot;&amp;gt;[[SCI Parser Programmer&amp;#039;s Reference/User Parse Trees|Next: User Parse Trees &amp;amp;gt;]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical Info]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:References]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:SCI Documentation]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:SCI Tutorials]]&lt;br /&gt;
[[Category:Guides &amp;amp; Other Help]]&lt;br /&gt;
[[Category:How To]]&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:SCI Scripting]]&lt;br /&gt;
[[Category:The Parser]]&lt;br /&gt;
[[Category:The SCI Parser]]&lt;/div&gt;</summary>
		<author><name>Andrew Branscom</name></author>
	</entry>
</feed>