1

Я пытаюсь оптимизировать свой парсер javacc, и у меня есть вопрос об определении токенов в определении грамматики.Лучший способ определить токены

Это хорошая или плохая практика? Это влияет на производительность анализатора.

пример:

void name() : 
{ 
    Token name; 
} 
{ 
    name = < NAME : (<LETTER> | <DIGIT>){2, 7}> 
    { 
    System.out.println(name.image); 
    } 
} 

ответ

2

Это не повлияет на производительность, но это будет влиять на читаемость и ремонтопригодность. Имейте в виду, что порядок определения токенов может иметь значение для значения. Я предлагаю сначала поставить все определения токенов.