La depuración de ANTLRWorks: ¿el significado de los diferentes colores?

Estoy usando el modo de depuración de ANTLRWorks para probar mi c-gramática. La depuración en ANTLRWorks es realmente genial para una mejor comprensión, pero tengo un problema para entender los diferentes colores del árbol de salida. Estoy usandobacktrack=true en mi gramatica Pensé que el color rojo significa que el depurador va por el camino equivocado, mientras que el verde me dice que se ha ido por el camino correcto. Pero ¿qué pasa con el rojo oscuro y el verde oscuro?

Agregué una imagen de un "árbol pequeño" que solo coincide con la siguiente entrada:

int test;

Si es necesario responder la pregunta, aquí están las 4 reglas más importantes que se utilizan.

start
: declaration*
;

declaration
: functionDefinition
| dataDeclaration //also used for Function Declaration
| assemblerDefinition
;


functionDefinition 
: declarationSpecifier* declarator Equals Default Semi
| declarationSpecifier* declarator Equals Delete Semi
| declarationSpecifier* declarator functionBody
;

dataDeclaration
:declarationSpecifier* declarator initializer? (Comma declarator initializer?)* Semi
;

Respuestas a la pregunta(1)

Su respuesta a la pregunta