Making a new parser is not so simple. A parser is a complex beast! However, you might be able to find an existing parser, and retrofit it to produce a Synopsis AST. It is unlikely (but possible!) though that you will be able to fit all the language features into the Synopsis AST hierarchy. In that case, modifying the AST is definately an option, though not a simple one.