parse
Generates a parse tree represented by a List of LecsNode from a List of Token or returns a ParseError documenting the first parse error encountered when iterating the List of Token.
This method may report the following ParseError:
MismatchedClosingBrace: The found closing brace does not match the respective opening brace,
UnmatchedOpeningBraces: All tokens were parsed but some opening braces were never closed, or
UnmatchedClosingBrace: No opening brace was found to match the found closing brace.
Return
Either the first ParseError reported during parsing or the List of LecsNode produced from tokens.