draft for supporting json grammar definition