



Состояние вызова - это состояние ATN, которое использовалось для достижения правила, представленного этим контекстом правила. комментарий в исходном коде это очень хорошо объясняет:
/** What state invoked the rule associated with this context? * The "return address" is the followState of invokingState * If parent is null, this should be -1 this context object represents * the start rule. */
Вот пример:
Это ATN для правила start: e EOF;, где e представляет субправило. Состояние 4 - это состояние вызова для e, а 5 - состояние возврата (или следования). Имейте в виду, что правило может быть вызвано из многих мест, поэтому вы не можете использовать переходы из конечного состояния правила для возврата к вызывающему правилу (отсюда и необходимость в члене followState). Это состояние возврата сохраняется в Правило перехода, который переходит из состояния вызова (состояние 4 в этом примере) в состояние запуска правила e.