Вход | Регистрация

Форумы на Кубань.Ру


1С:Предприятие ::

Метки:

Парсинг формул

Ø
Я
   KS
22.09.00 - 19:50
А как-нибудь реализовывается сабж в 1С?
ЗЫ: сразу прошу прощения если глупый вопрос.
 
 
   Anton
1 - 22.09.00 - 20:51
функцией Шаблон
   Budda
2 - 22.09.00 - 23:33
Конечно можешь попробовать с использованием "обратной польской записи" ;о))) - компилятор чтоль пишешь ??;о)))))
   Алекс
3 - 25.09.00 - 17:59
KS: Скажи, а действительно зачем тебе разбор строки в 1С?
Что действительно интерпретатор пишеш?
Если так, то определись с начала с типами строк(формулами) думаеш будеш сталкиваться, а потом построй разбор этих строк используя разбиение строки на токинги! :) По дробнее пиши! :)
   Тот
4 - 25.09.00 - 18:40
А я писал интерпретатор с обратной польской... Потом потерял где-то. Если интерпретировать формульные строки, то можно, например, сотруднику начислять зарплату по формуле. И вообще много возникает очень удобных возможностей. Интерпретатор написать можно за недельку. Не очень сложно...
   Дракон
5 - 25.09.00 - 18:54
Есть в конфе АКС такая штука но без скобок. Но за образец может сканать.
   Sheridan
6 - 25.09.00 - 22:46
Ежели нужен интерпритатор формул, ежели его разрабатывать самому пожалуй дня за два можно сморганить. Тут пользоваться надобно обратной польской записью и рекурсивным спуском (для раскрытия скобок). Можно использовать функцию Шаблон. Она вычисляет выражение переданое ей в качестве параметра. Ежели надо использовать собственные макроподстановки имеет смысл использовать определенные метки перед макроподстановкой. Сначала сканируешь строку, выявляешь макроподставновки, потом сформированную строку передаешь на вычисление функции шаблон или EvalExpr
   Dich
7 - 26.09.00 - 14:08
А через объект ClassContext из Rainbow Service не катит?
   Александр
8 - 26.09.00 - 14:34
Наконец то вспомнили.А то будто и нет Rainbow.Примеры почитай пол года
ходят.
   Chernik
9 - 27.09.00 - 03:09
2Дракон. Наверное самое слабое место в АКС- это интерпретация формул:-( В крупных проектах (где решено было ломать все, кроме приверженности к конструктору) используем Rainbow -не нарадуемся;-)
   Sheridan
10 - 27.09.00 - 09:09
Ребята, Rainbow штука хорошая. Я надеюсь вы не думаете, что в Rainbow переписан весь язык 1С. Вряд ли. Так вот, функция classcontext выполняет программный код и на выход ничего не возвращает. Так что использовать его в в случае когда надобно вычислить формулу нет смысла. Да и смысла особого конфигуратор переность на пол. часть не вижу. Разве что только для отладки.
 
  Рекламное место пустует
   Full Dummy
11 - 27.09.00 - 09:00
А че это такое, обр. польская запись?
   Sheridan
12 - 27.09.00 - 09:01
Кстати, когда я писал свой "Финансы и анализ" и примирял функции Rainbow к нему, они совсем никак не подошли.
   Sheridan
13 - 27.09.00 - 09:05
Обратная польская запись вещь удобная при интерпритации выражений, т.к. для вычисления выражения необходимо соблюсти неявные правила вычисления, т.е. расставить паритеты. С помощью обратной польской записи можно выражение представить для вычисления в удобочитаемом виде. Например:
2+2*4+5, это будет 2425*++
А для интерпритации выражений со множеством скобок можно еще и рекурсивным спуском пользоваться.
   Budda
14 - 27.09.00 - 10:19
2 Sheridan: Что то у меня толком не получилось развернуть твою польскую ;о)) (у меня получилась 2*5+4+2 - что-то не то ;о)))
Думаю что будет типа такого:
2+2*4+5 -> 2+24*+5 -> 224*++5 -> 224*+5+ - вот и ответ ;о)))



Список тем форума

Форум Территория 1С

Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует