title: ANTLR grammar: already known token used within not known expressions
body: <p>I have a combined ANTLR grammar, which shall be used for parsing several lines of information. It is possible that at the time of writing the grammar, not all lines are already completely known and defined within the grammar. This shall be recognized.
  Following example is a simplified one:</p>
  
  <pre><code>rule:    (line)+ EOF;
  LF:      ('\n'|'\r\n');
  WS:      ' ';
  
  INTEGER: ('0'..'9');
  VALUE:   ('a'..'z'|'A'..'Z'|'0'..'9');
  
  line:    'car' WS VALUE WS LF (subline LF)*;
  subline: '&gt;' (description | id | type | unknownsubline);
  
  description: ('description' WS VALUE);
  id:          ('id' WS INTEGER);
  type:        ('type' WS VALUE);
  
  unknownsubline:          (VALUE | WS | INTEGER)*;   /*don't known yet -&gt; shall be logged...*/
  </code></pre>
  
  <p>I put the following input:</p>
  
  <pre><code>car car1
  &gt;description redPorsche
  &gt;id 123
  &gt;type pkw
  &gt;tires 4
  &gt;specifica fast,car
  car car2
  &gt;description blueTruck
  </code></pre>
  
  <p>The line <code>&gt;tires 4</code> is recognized successfully within the ANTLR interpreter within Eclipse. But the next line <code>&gt;specifica fast,car</code>causes an NoViableAltException due to the word <code>car</code> is an already defined token, which is here used within an unknown context.</p>
  
  <p>Is there any possibility to avoid this behaviour? Is it possible to recognise <code>VALUE</code> that contain already defined tokens?</p>