Core language parser and validator for TypedMind DSL - a declarative language for building software architectures