Add DSL parser

 * DSL parser
 * Unit tests

Change-Id: I3e56ad7125233ecdafd41036d8b717fb95e2955c