Я выполнил объяснение, приведенное в разделе "Приоритетное восхождение" на этой веб-странице, чтобы реализовать арифметический оценщик с использованием алгоритма альфа-восхождения с различными унарными префиксами и двоичными инфиксными операторами, Я также хотел бы включить тернарные операторы (т.е. Тернарный условный оператор ?:
).
Алгоритм, указанный на веб-странице, использует следующую грамматику:
E --> Exp(0)
Exp(p) --> P {B Exp(q)}
P --> U Exp(q) | "(" E ")" | v
B --> "+" | "-" | "*" |"/" | "^" | "||" | "&&" | "="
U --> "-"
Как я могу включить тернарные операторы в эту грамматику?