Declaración de alcance de regla global antlr vs declaración de @members

¿Cuál preferiría declarar una variable en cuyo caso, alcance global o declaración de @members? ¿Me parece que pueden servir para el mismo propósito?

ACTUALIZAR Aquí hay una gramática para explicar lo que quiero decir.

grammar GlobalVsScope;

scope global{
  int i;
}
@lexer::header{package org.inanme.antlr;}
@parser::header{package org.inanme.antlr;}

@parser::members {
  int j;
}

start
scope global;
@init{
  System.out.println($global::i);
  System.out.println(j);
}:R EOF;

R:'which one';

Respuestas a la pregunta(1)

Su respuesta a la pregunta