try my best to write parser for dao

try my best to write parser for dao, have difficulty to do it.
try to do left recursive many many times.
find a new method, prepare to try it.
a successful experiment to left recursion

left recursion, direct or indirect,

"test A: Ax|a; B:A|b": (test) ->
    test.equal parse('a'), 'a'
    test.equal parse('ax'), 'ax'
    test.equal parse('axx'), 'axx'
    test.equal parse('axxx'), 'axxx'
    test.equal parse('bxxx'), 'bxxx'
a successful experiment to left recursion， simplify
left recursion, direct or indirect,

"test A: Ax|a; B:A|b": (test) ->
    test.equal parse('a'), 'a'
    test.equal parse('ax'), 'ax'
    test.equal parse('axx'), 'axx'
    test.equal parse('axxx'), 'axxx'
    test.equal parse('bxxx'), 'bxxx'
left recursive is not recursive

left recursion, direct or indirect,

"test A: Ax|a; B:A|b": (test) ->
    test.equal parse('a'), 'a'
    test.equal parse('ax'), 'ax'
    test.equal parse('axx'), 'axx'
    test.equal parse('axxx'), 'axxx'
    test.equal parse('bxxx'), 'bxxx'
simpler implementation of left recursive

a double loop on left recursive grammar rules.
do not use class for parser

use global in parser.coffee, remove class Parser

should be faster.