<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Project Structure</title><link>https://sourceforge.net/p/natlang/wiki/Project%2520Structure/</link><description>Recent changes to Project Structure</description><atom:link href="https://sourceforge.net/p/natlang/wiki/Project%20Structure/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 23 Apr 2015 04:28:18 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/natlang/wiki/Project%20Structure/feed" rel="self" type="application/rss+xml"/><item><title>Project Structure modified by mrstarware</title><link>https://sourceforge.net/p/natlang/wiki/Project%2520Structure/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The project works as follows :&lt;/p&gt;
&lt;p&gt;All the "Story Programming Language" words are processed into lists. That is all the Noun (Object) types are separated out, verbs (functions) are separated out, etc. These lists are then used in determining the "type" of the words in the primary code files.&lt;br /&gt;
This separating is done by an initial scan of the "dictionary" files. That is Story's idea of a class file.&lt;/p&gt;
&lt;p&gt;Next, there is a translation unit which translates the "Story" (code) into an object oriented form. This could be done by first matching up the Story tokens with their respective grammatical type. (as detailed above). Then a grammar checker (Story is initially using a simple easily verifiable grammar) to check that the token orderings are correct.&lt;br /&gt;
Afterword a simple lookup for the words definition is done. These definitions will be in either Story or explicitly defined in Java for operations like Console writing. This allows Story to define itself, but call upon its version of assembly (in this case Java) to perform the basic operations.&lt;/p&gt;
&lt;p&gt;Finally, there is a Java "code printer" which takes the essentially complete translation&lt;br /&gt;
and output it as properly formatted Java code instead of high level constructs like objects and functions directly (which would be more like an abstract syntax tree). This functions as the primary backend component.&lt;/p&gt;
&lt;p&gt;As an example, &lt;/p&gt;
&lt;p&gt;For instance we might have sentences like this. (A line of code in Story is called a sentence also). &lt;/p&gt;
&lt;p&gt;"Mikey is a car." &lt;br /&gt;
"Mikey is self driving."&lt;br /&gt;
Might be translated as follows.&lt;/p&gt;
&lt;p&gt;Noun - Mikey&lt;br /&gt;
is - keyword (Translated as a type declaration, or prepares for another verb, our definition of words can branch).&lt;br /&gt;
a - adjective, absorbed by the type declaration or by the compiler.&lt;br /&gt;
car - noun, type.&lt;/p&gt;
&lt;p&gt;Mikey - noun&lt;br /&gt;
is - announces a verb is coming&lt;br /&gt;
self - adverb (a variable going into the function)&lt;br /&gt;
driving - synonym of drove // a synonym is a quick, simple wrapper for a word.&lt;br /&gt;
drove - verb (function) pertaining to Mikey (of type car).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mrstarware</dc:creator><pubDate>Thu, 23 Apr 2015 04:28:18 -0000</pubDate><guid>https://sourceforge.net2bb79d3af9bff071fd0d9d8b1f74151f37cd1c74</guid></item></channel></rss>