Парсер комбинированных выражений
Раздел Сокровищница | рь Серебренников, дата публикации 22 января 2002г. |
Долго искал парсер и компилятор комбинированных выражений, но так и не нашел - только математика. Пришлось сделать самому.
Парсер вычисляет любые выраженя, состоящие из констант, функций и знаков действий (операций) между ними. Костанты четырех типов - целочисленные, вещественные, строки и логические. Операции - какие душе угодно, функции - тоже. Результатом вычислений является запись - упрощенный аналог типа Variant (нужно было для переноса на C++).
Примеры выражений: 2**2+4 "Pi is "+3.14 'The bool expression is ' + iif(2>3 && !('A' < 'B'), "True", "False") "Html YELLOW is ""#" + Hex(0xff 1. Парсер работает с четырьмя типами выражений
- - число double (123.456)
- - число integer (123, 0xff)
- - булево true/false
- - строка ( "a string", 'a string', " a ""string""")
Скачать исходные коды: (11K)