Added nested block support to lexer (now ignores ; inside a block)
Updated ExampleSyntax to use factory methods for readability