Приоритет оператора ANTLR

Основная идея 2,6 состоит в том, чтобы обеспечить миграционный путь к 3,0. Таким образом, можно использовать from __future__ import X медленно миграция одной функции за один раз, пока Вы не закрепили всех их и можете переместиться в 3,0. Многие из этих 3,0 функций будут течь в 2,6 также, таким образом, можно будет сделать разрыв языка меньшим постепенно вместо того, чтобы иметь необходимость переместить все сразу.

На работе, мы планируем обновить от 2,5 до 2,6 сначала. Тогда мы начинаем активировать 3,0 опции медленно один модуль за один раз. В какой-то момент целое подразделение системы, вероятно, будет готово к 3.x.

единственная проблема библиотеки. Если библиотека никогда не перемещается, мы застреваем со старой библиотекой. Но я довольно уверен, что мы получим прекрасную альтернативу в установленный срок для той части.

9
задан sepp2k 17 March 2019 в 18:38
поделиться

1 ответ

С помощью ANTLR вы кодируете приоритет в правилах грамматики. Например:

expr:  mult ('+' mult)* ;
mult:  atom ('*' atom)* ;
atom:  INT | '(' expr ')' ;

Это будет разбирать "1 + 2 * 3 + (4 * 5 + 6)" как "(1 + (2 * 3)) + ((4 * 5) + 6)"

13
ответ дан 4 December 2019 в 13:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: