<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>.simplicity &#187; w00t</title>
	<atom:link href="http://www.dotsimplicity.net/tag/w00t/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dotsimplicity.net</link>
	<description>Simple, reliable, simplicity. A software discussion blog</description>
	<lastBuildDate>Sun, 04 Jul 2010 09:44:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>STF Utility (updated!)</title>
		<link>http://www.dotsimplicity.net/2009/04/sss-parser/</link>
		<comments>http://www.dotsimplicity.net/2009/04/sss-parser/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 21:51:29 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Idea]]></category>
		<category><![CDATA[!XML]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[SSS]]></category>
		<category><![CDATA[Templates]]></category>
		<category><![CDATA[w00t]]></category>

		<guid isPermaLink="false">http://www.dotsimplicity.net/?p=191</guid>
		<description><![CDATA[The SSS STF (a cool new format for storing data with multiple levels but still &#62; XML, more info here) parser is almost finished. I&#8217;m trying to simplify it up as we speak. C++ Templates sure can be frustrating! &#8220;/me twitches with his eyes.&#8221;
So the parser was working, but it didn&#8217;t utilize C++ all the [...]]]></description>
			<content:encoded><![CDATA[<p>The <span style="text-decoration: line-through;">SSS</span> STF (a cool new format for storing data with multiple levels but still &gt; XML, more info <a href="http://www.dotsimplicity.net/?p=188">here</a>) parser is almost finished. I&#8217;m trying to simplify it up as we speak. C++ Templates sure can be frustrating! <em>&#8220;/me twitches with his eyes.&#8221;</em></p>
<p>So the parser was working, but it didn&#8217;t utilize C++ all the way. I&#8217;m trying to reduce the code and thus ease further development and maintainability.</p>
<p><em>Some hours later&#8230;</em></p>
<p>It is finished! As far as I can tell anyway.  It has a nice example app with it, here&#8217;s a (now already dated) sneak peek:</p>
<pre class="brush: cpp;">    prettyprint(&quot;Welcome to the SSS example app&quot;);
cout
&lt;&lt; &quot;This application shows how easy it is to use SSS.\n&quot;
&lt;&lt; &quot;STF is a \&quot;new\&quot; way to store leveled data, just as XML can do, for example.\n&quot;
&lt;&lt; &quot;The format looks like a C(++) struct, which we think is easier to read than XML.\n&quot;
&lt;&lt; &quot;Each :{ is a node, a node has other nodes and values. The first node is unnamed.\n&quot;
&lt;&lt; endl;
</pre>
<p>So what are you waiting for? <a href="http://sourceforge.net/projects/STFU">Grab the source with example app from the SourceForge page</a> (either checkout from the SVN or select &#8220;Browse SVN&#8221; -&gt; &#8220;Download GNU tarball&#8221; (all the way down) ), and use this neat alternative to XML! More information after the break.</p>
<p><span id="more-191"></span> Its documentation is made with Doxygen (nice program by the way, never used it until today, and it creates nice documentation) and can be found <a href="http://www.dotsimplicity.net/SSSParser/doc/index.html">here(with left explorer style bar)</a> and <a href="http://www.dotsimplicity.net/SSSParser/doc/main.html">here(without)</a>. With the documentation is the code for review by you, because I&#8217;d like some comments where I could improve. About half of it was first written by Maurice Bos of BosByte and then completely reviewed and altered by me. Then I added the other half. I tried to use C++&#8217;s features where I could, and I&#8217;m quite happy with the results.</p>
<p>So again, comments on the code are welcome! You can view the code in the documentation.</p>
<p>What did you say? How it looks?</p>
<p>Like this:</p>
<pre>imthefirst: "The first value!"
name with spaces: "Names can contain spaces"
name
with
newlines: "And even newlines!"

test: {
    blah: "The value of [root].test.blah"
    newlines: "newlines and all their whitespace
             get stored"
    comment: This comment value contains some information about how to comment in SSS files.
    "You can place comment before the quotes, the parser will ignore it."
    output this: "This particular value is retrieved in the code."
    output child:
    Same goes for children. The parser ignores anything until a curly bracket is found. {
        info: "Awwwwwwright! Tree output oh yeah."
        coolness: "+20"
    }
    Array: { :"This" :"is" :"like" :"an" :"array" }

    2D array:
    {
            : { :"First" :"Row" }
            : { :"Second" :"Row" :"!" }
    }
}</pre>
<p>But seriously, go check out the SF page, download the STFU and play around with it. It oozes simplicity.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotsimplicity.net/2009/04/sss-parser/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
