Я хочу разбить арифметическое выражение на токены, чтобы преобразовать его в RPN.
Java имеет StringTokenizer, который может содержать разделители. Таким образом, я мог бы использовать операторы в качестве разделителей. К сожалению, мне нужно сделать это в PHP, в котором есть strtok, но он отбрасывает разделители, поэтому мне нужно самому что-то приготовить.
Это звучит как классический пример учебника для Compiler Design 101, но я боюсь, что мне здесь не хватает формального образования. Можете ли вы указать мне стандартный алгоритм?
Другие мои варианты - прочитать Lexical Analysis или свернуть что-нибудь быстрое и грязное с доступными строковыми функциями.