a simple language parser