<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://ubersoft.org/Sputnik/wiki/skins/common/feed.css?301"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
		<id>http://ubersoft.org/Sputnik/wiki/index.php?action=history&amp;feed=atom&amp;title=Core_Function_Parser_Engine</id>
		<title>Core Function Parser Engine - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://ubersoft.org/Sputnik/wiki/index.php?action=history&amp;feed=atom&amp;title=Core_Function_Parser_Engine"/>
		<link rel="alternate" type="text/html" href="http://ubersoft.org/Sputnik/wiki/index.php?title=Core_Function_Parser_Engine&amp;action=history"/>
		<updated>2026-04-12T23:06:12Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.17.0</generator>

	<entry>
		<id>http://ubersoft.org/Sputnik/wiki/index.php?title=Core_Function_Parser_Engine&amp;diff=4553&amp;oldid=prev</id>
		<title>UberFoX: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://ubersoft.org/Sputnik/wiki/index.php?title=Core_Function_Parser_Engine&amp;diff=4553&amp;oldid=prev"/>
				<updated>2015-06-14T12:37:18Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 12:37, 14 June 2015&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>UberFoX</name></author>	</entry>

	<entry>
		<id>http://ubersoft.org/Sputnik/wiki/index.php?title=Core_Function_Parser_Engine&amp;diff=4552&amp;oldid=prev</id>
		<title>UberFoX: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://ubersoft.org/Sputnik/wiki/index.php?title=Core_Function_Parser_Engine&amp;diff=4552&amp;oldid=prev"/>
				<updated>2014-08-11T21:40:57Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:40, 11 August 2014&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>UberFoX</name></author>	</entry>

	<entry>
		<id>http://ubersoft.org/Sputnik/wiki/index.php?title=Core_Function_Parser_Engine&amp;diff=2092&amp;oldid=prev</id>
		<title>UberFoX: /* Terminal */</title>
		<link rel="alternate" type="text/html" href="http://ubersoft.org/Sputnik/wiki/index.php?title=Core_Function_Parser_Engine&amp;diff=2092&amp;oldid=prev"/>
				<updated>2013-01-28T15:56:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Terminal&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:56, 28 January 2013&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Terminal(&amp;quot;Name&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Terminal(&amp;quot;Name&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/&lt;/ins&gt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Defines this class as the object to be created when this Terminal is found in the source code&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Defines this class as the object to be created when this Terminal is found in the source code&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 29:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 29:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Rule(&amp;quot;&amp;lt;rule&amp;gt; ::= &amp;lt;bla bla bla&amp;gt;&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Rule(&amp;quot;&amp;lt;rule&amp;gt; ::= &amp;lt;bla bla bla&amp;gt;&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/&lt;/ins&gt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Defines this class as the object to be created when this Rule is found in the source code&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Defines this class as the object to be created when this Rule is found in the source code&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>UberFoX</name></author>	</entry>

	<entry>
		<id>http://ubersoft.org/Sputnik/wiki/index.php?title=Core_Function_Parser_Engine&amp;diff=2091&amp;oldid=prev</id>
		<title>UberFoX: Created page with &quot;&lt;pre&gt; [Rules/Terminals] : TokenName Class name { 	Function __Construct ( &lt;Parameters&gt; ... ) 	{ 		statements 		... 	} } &lt;/pre&gt;  === Description ===  Parse text and have classes cr...&quot;</title>
		<link rel="alternate" type="text/html" href="http://ubersoft.org/Sputnik/wiki/index.php?title=Core_Function_Parser_Engine&amp;diff=2091&amp;oldid=prev"/>
				<updated>2013-01-28T15:56:34Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;pre&amp;gt; [Rules/Terminals] : TokenName Class name { 	Function __Construct ( &amp;lt;Parameters&amp;gt; ... ) 	{ 		statements 		... 	} } &amp;lt;/pre&amp;gt;  === Description ===  Parse text and have classes cr...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
[Rules/Terminals] : TokenName&lt;br /&gt;
Class name&lt;br /&gt;
{&lt;br /&gt;
	Function __Construct ( &amp;lt;Parameters&amp;gt; ... )&lt;br /&gt;
	{&lt;br /&gt;
		statements&lt;br /&gt;
		...&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Parse text and have classes created and returned to you.&lt;br /&gt;
&lt;br /&gt;
=== Terminal ===&lt;br /&gt;
&lt;br /&gt;
Entered like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Terminal(&amp;quot;Name&amp;quot;)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines this class as the object to be created when this Terminal is found in the source code&lt;br /&gt;
&lt;br /&gt;
=== Rule ===&lt;br /&gt;
&lt;br /&gt;
Entered like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rule(&amp;quot;&amp;lt;rule&amp;gt; ::= &amp;lt;bla bla bla&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines this class as the object to be created when this Rule is found in the source code&lt;br /&gt;
&lt;br /&gt;
=== Class ===&lt;br /&gt;
&lt;br /&gt;
The class object to be created&lt;br /&gt;
&lt;br /&gt;
=== Function ===&lt;br /&gt;
&lt;br /&gt;
Optional; If the __Construct is made then the Tokens will be linked to that class otherwise they may be null etc.&lt;br /&gt;
&lt;br /&gt;
=== Remarks ===&lt;br /&gt;
&lt;br /&gt;
This makes use of the [http://en.wikipedia.org/wiki/GOLD_%28parser%29 GoldParser].&lt;br /&gt;
&lt;br /&gt;
Its purpose is to provide a way to parse more complex files than simply regex alone can allow.&lt;br /&gt;
&lt;br /&gt;
To make use of this you must first created a grammar file (.CGT) in GoldParser builder then create all classes for use (Simply opening parser without the rules/terminals will tell you what it requires to work) then use the Parser() function to spawn a new parser and Parse() to read text and parse it.&lt;br /&gt;
&lt;br /&gt;
See example below&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sputnik&amp;quot;&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
Terminal(&amp;quot;(EOF)&amp;quot;)&lt;br /&gt;
Terminal(&amp;quot;(Error)&amp;quot;)&lt;br /&gt;
Terminal(&amp;quot;(Whitespace)&amp;quot;)&lt;br /&gt;
Terminal(&amp;quot;(&amp;quot;)&lt;br /&gt;
Terminal(&amp;quot;)&amp;quot;)&lt;br /&gt;
] : SpecialToken&lt;br /&gt;
Class myUselessTerminals{};&lt;br /&gt;
&lt;br /&gt;
[Terminal(&amp;quot;Float&amp;quot;)] : SpecialToken&lt;br /&gt;
Class myFloat&lt;br /&gt;
{&lt;br /&gt;
	my $value;&lt;br /&gt;
	Function __Construct( $Value )&lt;br /&gt;
	{&lt;br /&gt;
		$this-&amp;gt;$value = (Double)ObjToVar($Value);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Terminal(&amp;quot;Integer&amp;quot;)] : SpecialToken&lt;br /&gt;
Class myInteger&lt;br /&gt;
{&lt;br /&gt;
	my $value;&lt;br /&gt;
	Function __Construct( $Value )&lt;br /&gt;
	{&lt;br /&gt;
		$this-&amp;gt;$value = (Double)ObjToVar($Value);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Rule(&amp;quot;&amp;lt;Negate Exp&amp;gt; ::= ~'-' &amp;lt;Value&amp;gt;&amp;quot;)] : SpecialToken&lt;br /&gt;
Class Negate&lt;br /&gt;
{&lt;br /&gt;
	my $value;&lt;br /&gt;
	Function __Construct( $value )&lt;br /&gt;
	{&lt;br /&gt;
		$this-&amp;gt;$value = -(TokenClass($value)-&amp;gt;$value);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Terminal(&amp;quot;+&amp;quot;)] : SpecialToken&lt;br /&gt;
Class opPlus&lt;br /&gt;
{&lt;br /&gt;
	my $value;&lt;br /&gt;
	Function __Construct( ) { }&lt;br /&gt;
	Function Calculate(&amp;amp;$Left, $Right)&lt;br /&gt;
	{&lt;br /&gt;
		return TokenClass($Left)-&amp;gt;$value += TokenClass($Right)-&amp;gt;$value;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Terminal(&amp;quot;-&amp;quot;)] : SpecialToken&lt;br /&gt;
Class opMinus&lt;br /&gt;
{&lt;br /&gt;
	my $value;&lt;br /&gt;
	Function __Construct( ) { }&lt;br /&gt;
	Function Calculate(&amp;amp;$Left, $Right)&lt;br /&gt;
	{&lt;br /&gt;
		return TokenClass($Left)-&amp;gt;$value -= TokenClass($Right)-&amp;gt;$value;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Terminal(&amp;quot;*&amp;quot;)] : SpecialToken&lt;br /&gt;
Class opMult&lt;br /&gt;
{&lt;br /&gt;
	my $value;&lt;br /&gt;
	Function __Construct( ) { }&lt;br /&gt;
	Function Calculate(&amp;amp;$Left, $Right)&lt;br /&gt;
	{&lt;br /&gt;
		return TokenClass($Left)-&amp;gt;$value *= TokenClass($Right)-&amp;gt;$value;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Terminal(&amp;quot;/&amp;quot;)] : SpecialToken&lt;br /&gt;
Class opDivide&lt;br /&gt;
{&lt;br /&gt;
	my $value;&lt;br /&gt;
	Function __Construct( ) { }&lt;br /&gt;
	Function Calculate(&amp;amp;$Left, $Right)&lt;br /&gt;
	{&lt;br /&gt;
		return TokenClass($Left)-&amp;gt;$value /= TokenClass($Right)-&amp;gt;$value;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
Rule(&amp;quot;&amp;lt;Expression&amp;gt; ::= &amp;lt;Expression&amp;gt; '+' &amp;lt;Mult Exp&amp;gt;&amp;quot;)&lt;br /&gt;
Rule(&amp;quot;&amp;lt;Expression&amp;gt; ::= &amp;lt;Expression&amp;gt; '-' &amp;lt;Mult Exp&amp;gt;&amp;quot;)&lt;br /&gt;
Rule(&amp;quot;&amp;lt;Mult Exp&amp;gt; ::= &amp;lt;Mult Exp&amp;gt; '/' &amp;lt;Negate Exp&amp;gt;&amp;quot;)&lt;br /&gt;
Rule(&amp;quot;&amp;lt;Mult Exp&amp;gt; ::= &amp;lt;Mult Exp&amp;gt; '*' &amp;lt;Negate Exp&amp;gt;&amp;quot;)&lt;br /&gt;
] : SpecialToken&lt;br /&gt;
Class Operation&lt;br /&gt;
{&lt;br /&gt;
	my $value;&lt;br /&gt;
	Function __Construct( $Left, $OP, $Right )&lt;br /&gt;
	{&lt;br /&gt;
		$this-&amp;gt;$value = TokenClass($OP)-&amp;gt;Calculate(&amp;amp;$Left, $Right);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
my $Trims = array( &amp;quot;&amp;lt;Value&amp;gt; ::= '(' &amp;lt;Expression&amp;gt; ')'&amp;quot; =&amp;gt; &amp;quot;&amp;lt;Expression&amp;gt;&amp;quot; );&lt;br /&gt;
my $Parser = Parser(&amp;quot;Test.cgt&amp;quot;, &amp;quot;SpecialToken&amp;quot;, $Trims);&lt;br /&gt;
println(&amp;quot;Enter expressions to be parsed.&amp;quot;);&lt;br /&gt;
println(&amp;quot;Example 100+(50/2)&amp;quot;);&lt;br /&gt;
while(true)&lt;br /&gt;
{&lt;br /&gt;
	my $Input = input(&amp;quot;&amp;gt; &amp;quot;);&lt;br /&gt;
	try&lt;br /&gt;
	{&lt;br /&gt;
		if(isEmpty($Input))&lt;br /&gt;
		{&lt;br /&gt;
			println(&amp;quot;You must type an expression to parse&amp;quot;);&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		my $ReturnToken = Parse($Parser, $Input);&lt;br /&gt;
		if(isToken($ReturnToken))&lt;br /&gt;
		{&lt;br /&gt;
			println(TokenClass($ReturnToken)-&amp;gt;$Value);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	catch (Exception $e)&lt;br /&gt;
	{&lt;br /&gt;
		println(&amp;quot;Error: &amp;quot; . $e-&amp;gt;getMessage());&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is the Grammar file to use with the above source code&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;Name&amp;quot;     = 'Calculator Sample Grammar'&lt;br /&gt;
&amp;quot;Author&amp;quot;   = 'Arsène von Wyss'&lt;br /&gt;
&amp;quot;Version&amp;quot;  = '0.1'&lt;br /&gt;
&amp;quot;About&amp;quot;    = 'Sample grammar for simple calculation expressions'&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Start Symbol&amp;quot; = &amp;lt;Expression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Case Sensitive&amp;quot; = false&lt;br /&gt;
&lt;br /&gt;
Integer = {Digit}+&lt;br /&gt;
Float = {Digit}*'.'{Digit}+([Ee][+-]?{Digit}+)?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Expression&amp;gt;  ::= &amp;lt;Expression&amp;gt; '+' &amp;lt;Mult Exp&amp;gt; &lt;br /&gt;
               |  &amp;lt;Expression&amp;gt; '-' &amp;lt;Mult Exp&amp;gt; &lt;br /&gt;
               |  &amp;lt;Mult Exp&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;Mult Exp&amp;gt;    ::= &amp;lt;Mult Exp&amp;gt; '*' &amp;lt;Negate Exp&amp;gt; &lt;br /&gt;
               |  &amp;lt;Mult Exp&amp;gt; '/' &amp;lt;Negate Exp&amp;gt; &lt;br /&gt;
               |  &amp;lt;Negate Exp&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;Negate Exp&amp;gt;  ::= '-' &amp;lt;Value&amp;gt; &lt;br /&gt;
               |  &amp;lt;Value&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;Value&amp;gt;       ::= Integer&lt;br /&gt;
               |  Float&lt;br /&gt;
               |  '(' &amp;lt;Expression&amp;gt; ')'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Core Function]]&lt;/div&gt;</summary>
		<author><name>UberFoX</name></author>	</entry>

	</feed>