August 15 2014: Building a new parser
	css_muncher:

	Calling the bnfLexer and parser on the css bnf file.
	Nothing very new.

	parser:

	Instead of simply printing a dummy message...
	It can pull out components that are between parenthesis.
	This will allow us to build those pieces first. I'm going to go
	with a stack approach, where I push every time I see anything
	that is not a close parenthesis. Once I see a close parenthesis,
	I pop everything up to and including the next open parenthesis.
	I will build everything into a proper parse tree, up to, but
	excluding the first parenthesis. This way, I will end up with a
	parse tree that is properly ordered when I concatenate or
	alternate the blocks. (Since the contents of the parenthesis
	will be considered atomic, it must either be alternated with, or
	concatenated with any other components out side of the
	parenthesis.)

	Anyway, right now, I can get the sets of tokens that are withing
	parenthesis, find all of the symbol names and figure out when
	they are being redefined. It will throw an error stating the
	symbol name and the line number where it is being redefined.
	I can see when parenthesis are missmatched, and will print the
	line number.

	Started writing the build functionality, though I will need to
	do some more work on the state machine before I can finish that.

	css.bnf:

	Adjusted to make testing parenthesis functionality easier.

	statemachine:

	Removed the oldStateNode content since the new state nodes are
	working quite well and have all of the original functionality.
	Added the reset to the start of the run call since that was
	screwing me up a lot. Now everytime the state machine is run, it
	will be cleared before running.

	Todo: More work on the state machine
	Enforce a tail node on the parse trees. This tail node must be
	stored. While not every null node must be a tail node, if it is
	expected that the node can be concatenated with, it must be the
	tail node. Since the tail node will be a null node, which
	doesn't really have any meaning, all end points can be the same
	node, unless it is expected that it will end immediately.

	Basically, if any operations are expected off of a leaf, that
	leaf must be the tail node.