Чтобы ответить на ваш первый вопрос, да, можно выполнить синтаксический анализ приоритета оператора как часть языка.Если вы заинтересованы в этом, вам следует изучить парсеры Pratt .Обычно это вариант синтаксического анализа сверху вниз, поэтому он должен находиться в том же районе производительности, что и другие параметры синтаксического анализа.Вообще, я думаю, что люди чрезмерно обеспокоены скоростью разбора.Компилятор собирается тратить большую часть своего времени на оптимизацию, и потеет несколько миллисекунд на этапе синтаксического анализа, как мне кажется, не стоит.
Есть язык, сорока ,который реализовал парсер Pratt.Таким образом, большое преимущество состоит в том, что они определили все операторы для языка в библиотеке вместо основного языка.Это делает основной язык невероятно компактным и расширяемым.Недостатком является то, что это заставляет других пользователей постоянно задаваться вопросом, каким будет приоритет конкретного оператора, поскольку обычные встроенные нормы могут не применяться.