Using custom bnfc which generates AST nodes with source positions