forked from aurusov/rdo_studio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
todo.txt
148 lines (142 loc) · 40.5 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
Файл больше не актуален, используем мантису. Оставлен для истории и из-за раздела 2.
-----------------------
Найденные ошибки и TODO:
+ 1.1. Не изменяется Show_rate.
+ 1.2. Если в smr не задано имя модели (Model_name), то парсер smr-ого файла вылетает с ошибкой.
+ 1.3. Если в smr задано OprIev_file, но не задано Resource_file, то OprIev_file игнорируется.
+ 1.4. В точках принятия решений после ключевых слов after/before можно использовать не только ресурсы модели, но и релевантные ресурсы, используемые в правилах точки принятия решения.
+ 1.5. Студия вылетает при моделировании кредитных катрочек (модель Credit). Во время начала записи трассировки imho. Ошибка перешла в 1.26.
+ 1.6. Модель Dipol_r. Студия ругается на константы в файле функций. Ошибку можне не исправлять, т.к. старое РДО (с ключем fidus) тоже ругается на эти константы. Константы представляют из себя such_as на перечислимый тип параметра. Получается, что ни студия, ни старое РДО не могут использовать такие константы. Может добавть поддержку ? Правда, тогда получим обратьную несовместимость (хотя модель Dipol_r с таким синтаксисом откуда-то взялась - ???). См. 2.5. ---- Chestno govorja mne eto kagetsja pravil'nim, t.e. pravil'no chto rugaetsja. Esli chelovek zabil ukazat' znachenie const, to emu nado napomnit'. Kstati c++ toge ne daut ukazat' const bez znachenija.
+ 1.7. Может ли существотвать модель для старого РДО без файла функций ? Новая версия может. ---- Да, может. Ключевая и триальная версия старого РДО работают, не работает совсем древняя версия, где защита до 96-го года, она просто вылетает с ошибкой, а с пустым файлом функций отказывается работать.
+ 1.8. Может ли существотвать модель для старого РДО без фоновой картинки и без размера фрейма одновременно ? Новая версия не может. ---- Нет, не может.
+ 1.9. В новой версии РДО очень часто текст в кадрах анимации выводится не полностью.
+ 1.10. Студия подвисает при переключении на фрейм, для которого не загрузилась фоновая картинка. А может очередной дедлок.
+ 1.11. Студия иногда вылетает, если запускается с ключем -autoexit.
+ 1.12. 11 баг исправлен, но возможно он может проявиться, если студия завершит работу раньше, чем репозитарий допишет файл трассировки.
+ 1.13. Неправильно работает повтор нажатой клавиши (очень быстро). Можно проверить на моделях FMS и Tetris.
+ 1.14. Студия вылетает при запуске модели LOTA.
+ 1.15. Студия вылетает при запуске модели LOGCUT.
+ 1.16. Студия неправильно отрабатывает модель Chokolad - не идет системное время. Неправильная конвертация вещественных<->целых чисел imho. Причина найдена: результат деления двух целых чисел определяется типом возвращаемого значения выражения, в котором это деление происходит, например, для выражении времени этот результат всегда вещевствееный. На этапе обработки операции деления принять решение невозможно, надо что-то думать. А вообще см. ошибку 1.41, в которой Ненашев Артем всё давно описал, до меня только сейчас это дошло.
+ 1.17. Студия неправильно отрабатывает модель Chokolad - номер текущих суток как текст выводится не на своем месте.
+ 1.18. Студия неправильно отрабатывает модели Chokolad и Postoffice - текс в кадрах анимации опять обрезается.
+ 1.19. Привести в соответствие документацию файлю справки по настройкам приложения.
+ 1.20. PMV: Файл результатов не содержит глобальную статистику прогона.
+ 1.21. Не срабатывает Terminate_if, если модельное время равно нулю. См. модель Avt_l.
+ 1.22. Ошибка при подсчете минимального значения показателя Длина_очереди как watch_state. См. модель Barber. Выдает 0, вместо 0.0397544. ---- Хмм, странно, сейчас и старое РДО и новое выдает ровно 0. Результаты можно посмотреть в архиве.
+ 1.23. Нельзя задать способ выбора релевантного ресурса сразу после описания статуса.
+ 1.24. Измерить быстродействие при записи в поток через оператор << и методом write. ---- write быстрее, особенно если не делать flush.
+ 1.25. Нельзя задать признак трассировки временного ресурса после его создания в операции (в правиле можно). См. модель temp_trace.
+ 1.26. В новом РДО возникает run-time ошибка удаления еще успользуемого временно ресурса в моделях Postoffice и Credit. В старом РДО эти модели проходят нормально. При этом, новое РДО тоже работает нормально, а чем можно судить по модели temp_trace, в которой можно для проверки поменять Choice from для правила. НО !!! в студии с билдом 319 все ресурсы удалялись нормально.
+ 1.27. В старом РДО описание кадра анимации может сожержать только $Frame + $Back_picture + $End. В новом необходимо добавить хотя бы пустой Show или Show_if 1=1. При этом, пустый Show и Show_if 1=1 не проходят в старом. Лучше сделать как в старом imho. См. модель empty_frame.
+ 1.28. В старом РДО при описании КОНСТАНТЫ (типа such_as или непосредственно), проверяется допустимый диапазон значений параметра, например integer[0..10], даже если эта константа не используется. В новом РДО при описании констант выход за диапазон не проверяется. См. модель constant.
+ 1.29. Если во время работы модели constant (модель из ошибки 1.28) переключить режим на Animation, то модель подвисает. Переключение на другие режимы не спасает. Переключаться между NoShow и Monitor (Pause) можно, но безболезненно. Наличие или отсутствие файла анимации на это дело не влияет. PS: сейчас возможно переключаться между тремя режимами моделирования и в моделях, в которых НЕТ анимации, раньше это было возможно только при наличии файла анимации.
+ 1.30. Может ли существотвать модель для старого РДО без файла ресурсов ? Новая версия может. ---- Нет, не может. См. обратную несовместимость, пункт 2.3.
+ 1.31. Результаты моделирования модели rob2_wd в старом и новом РДО расходятся вдвое.
+ 1.32. В старом РДО есть ключеое слово "Системное_время", аналог "Time_now". В новом РДО русского аналога нет.
1.33. В новом РДО запускается, но не моделируется модель invest3, в старом - всё нормально.
+ 1.34. В начальный момент времени студия вылетает, если пытается обратиться к релевантным ресурсам в with_min/with_max (те, которые перед $Time, даже если with_min написать просто с константой 10, например) или в $Time. С внутренними with_min/with_max такого не происходит. Ошибка похожа на 1.21 imho. См. модель rel_res.
+ 1.35. При формировании файла трассировки не выводится список изменений ($Changes). В старом РДО ключевое слово $Changes выводится, даже если изменений нет. См. модель barder_trace. Может ты в симуляторе добавишь метод getTraceChanges() ? Тогда репозитарий его просто вызовет в уведомлении beforeModelStart и запишет в трассировку перед записью структуры модели. См. модель barber_trace.
+ 1.36. При формировании файла трассировки, в новом РДО, ВСЕГДА выводится полный список собираемых показателей ($Watching), даже если у них нет признака трассировки. Также выводится показатель get_value, который не может быть трассирован. В старом РДО ключевое слово $Watching выводится, даже если показателей вообще нет. См. модель barber_trace.
+ 1.37. Новое РДО никак не может сообщить, что модель завершилась из-за отсутствия всех событий, т.е. NORMAL_TERMINATION и NO_MORE_EVENTS идентичны. Надо добавить новый нотифай в kernel imho или сделать один нотифай с параметром перечислимого типа (5-ть значение, т.к. есть еще parser error), а сам тип положить в rdo_common. Пример реализации см. в архиве trace_end (там еще модель лежит nomoreevents). При этом, получаем логическое дублирование уведомлений, что не есть хорошо, надо оставить какой-то один вариает (или каждое уведомление отдельным натифаем, или одно уведомление с параметрами, как в примере). Надо переговорить imho.
+ 1.38. В файл трассировки нужно (только для совместимости) коррекстно дописать весь концевик ("ES <время> 2", $Status = ..., статистика_по_поиску_на_графе, DPS_MM). При этом, в старом РДО "ES <время> 2" выводится не всегда. Вариант реализации "ES <время> 2" и $Status см. в архиве trace_end. Если брать за основу мой пример из архива (ES записывает симулятор, $Status - репозиторий), то пусть репозитарий вызывет у симулятора некий метод getTraceStatistics(), который содержит всё, что идет после строчки $Status (ну или даже со статусом, тогда я его из репозитария выкину).
+ 1.39. Ошибка с внутренней нумерацией объектов из DPT. Надо продожать нумерация объектов из точки типа search, даже если она как search первая, но перед ней есть some. Cм. windiff'ом файлы трассировки plata_fidus.trc и plata_studio.trc модели plate. Сразу после слова $Activities, действия пронумерованы неправильно (Движение_точки_1_влево и т.д.). И дальше эта ошибка плодится в строчках STN: "STN 2 1 64 128 _1_ 7 64 4 4 1 3 17" (строка 78). Вот тут должно быть 9, а не 1. Получается как бы использование действия Начало_создание_пустого_поля_1. См. модель plata.
+ 1.40. Ошибка с нумерацией самих точек из DPT. Внутри трассировки, после слова $Tracing, неправильно прописан признак SB, строка 75. Наше РДО думает, что точка search первая, а на самом деле она как точка в DPT вторая, пусть и после some. См. модель plata.
+ 1.41. Ошибка преобраования целых <-> вещественных чисел. За основу была взята модель из письма с содержимом "У Ясиновского даже 20/60 не целое.". Так вот, у него эта модель отлично работает, выдает 0.333333. У нас это выражение округляется до нуля. См. файлы трассировки test_fidus.trc и rdo_studio.trc. Такие же (0.333333) результаты я получил и на других версиях старого РДО, только в одном из случаев старая версия РДО отказалось воспринимать "0" в RSS как вещественное число. Пришлось написать "0.0". Также привожу текстовый файл с описанием экспериментов, которые провел Ненашев Артем. См. архив real_integer.
+ 1.42. Новое РДО не сообщает об ошибке, а просто вылетает по эксепшену, когда заданы НЕ все параменты ресурса в RSS. См. модель param_init. Старое РДО в этом месте выдает ошибку, что мол ожидается целочисленный параметр ресурса. А новое РДО не вылетает в одном случае - когда этот параметр нигде в модели не используется.
+ 1.43. Старое РДО не обращает внимание на дублирование ключевых слов в SMR, например, можно было написать дважды "Resource_file = fms" и "Resource_file = fms2" (да и вообще сколько угодно). Ресурсы возьмутся из последнего, причем требуется, чтобы все файлы все равно существовали. Наше РДО ругается ошибкой повторения. Может будем брать данные только для последнего ? А дублирование или пропускать или выдавать как warning ? См. модель smr_double, которая не загрузиться, пока не удалишь вторую строчу с Resource_file.
+ 1.44. Студия выдает результаты моделирования, даже когда нет файла PMD. Получить ошибку можно следующим образом - загрузить модель, которая имеет PMD файл, который прописан в SMR как Statistic_file. Запустить прогон. В конце прогона видим результаты, т.е. все нормально. Если убрать строчку с Statistic_file из SMR и запустить прогон заново, то у потока выставится состояние badbit, симулятор его парсить не будем, но в конце прогона результаты всеравно выведутся. Это ошибка imho. Достоточно после удаления строки Statistic_file перезагрузить модель и симулятор перестанет выдавать результаты. Такое ощущение, что что-то не инитится перед новым прогоном. Плавно переходим к следующей ошибке. Исправлено: показатели подсчитываются и результаты выводятся если есть Statistic_file, а записывается, если есть Results_file.
+ 1.45. Старое РДО с результатами работает так: файл PMD берется из Statistic_file, а файл PMV из Results_file. При этом, если Statistic_file отсутствует, но Results_file есть, то файл результатов всеравно формируется, но содержит только глобальную статистику прогона без самих показателей. Может добавить эту статистику? Только непонятно в какое окно студии её выводить и зачем она нужна, но совместимость, понимаешь. А в случает, когда есть только Statistic_file, но и нет Results_file - собирать статистику вообще не надо, т.к. её некуда выводить, быстродействие можно поднять (хотя юзер вроде хочет её видеть, зачем тогда PMD писал). Проверить, описан ли файл, можно через репозитарий методом isDescribed. См. решение 1.44.
1.46. Неправильно работает first, который сразу после статуса релевонтного ресурса. Он работает точно так же, как и то, который внутри $Body. При этом, with_min/with_max тамже работают правильно. См. модель first, в корой ниразу не выполняется правило из-за проблемы подбора релевантных ресурсов. Если в правиле first заменить на with_min( 1 ), то все нормально.
+ 1.47. Если описаный релевантный ресурс не имеет внутри $Body своего раздела, то студия вылетает. См. модель dont used relres.
+ 1.48. Ошибка с проверкой в Choice from - все работает хорошо, пока каждый релевонтный ресурс проверяется в своём Choice from'е, но если проверку второго ресурса перенести в условие первого, то модель не работает. Эта модель запустится номально, если связать выбор релевонтного ресурса не с типом, а с конкретным ресурсом. См. модель choice from.
+ 1.49. Ошибка обработки коментариев. В приведенном примере достаточно удалить пустые комментарии из функции Matrix, чтобы модель нормально запустилась. См. модель comments.
+ 1.50. Если в DPT при описании операции сослаться на несуществующий паттерн, то студия вылетает. См. модель dpt exception.
1.51. Неправильно работает DPT-search. Более подробное описание см. в архиве drp_search (файл drp_search.txt).
+ 1.52. Если в модели relresline написать неправильно имя релевантного ресурса, то сообщение об ошибке придёт правильное, но указывающее на одну строчку ниже. Другие сообщения об ошибках приходят с правильными номерами строк (хотя лучше проверить :).
+ 1.53. Если в модели fly очистить файл PMD, то имитатор выдаст ошибку.
+ 1.54. При использовании DPT типа some каждое нерегулярное событие (в модели fly - aaa) выполняется 2 раза в каждый момент времени, что можно видеть по трасировке. Причем не подряд - если описан какой-либо паттерн, то событие будет чередоваться с ним (с правилом bbb).
+ 1.55. Если в паттерне не дописано ключенвое слово $Body, то студия выдает малосодержательную ошибку "parse error". Когда студент на консультации спросил где тут ошибка, я сам не понял. Пришлось переписывать паттерн ручками (или как-то так:). Дома я тоже не смог найти ошибку и переписал паттерн отруки. Но теперь у меня был windiff, который о покзал в чём разница. См. модель nobody.
+ 1.56. Утечка памяти в конструкторе типа параметра при such_as.
+ 1.57. Студия вылетает, если с ошибками написан DPT.
+ 1.58. Не работает функция Int, она не отбрасывает дробную часть, а округляет, как Round. См. модель int.
+ 1.59. Целый тип последовательности преобразуется в вещественный, когда присваивается $Time.
+ 1.60. Вещественный тип последовательности неправильно преобразуется в целый - отбрасыванием, а надо - округлением.
+ 1.61. Можно создавать и уничтожать постоянный ресурс.
+ 1.62. Добавить что-то типа визарда при создании модели, в котором предлагать выбрать одну из готовых моделей.
+ 1.63. Ограничение на диапазон не вылетает по run-time, работает только при компиляции.
+ 1.64. Неправильно отображает на графике перечеслимый ресурс. См. состояние клиента 24: по трассировке состояние поменялось с ищет_тренажер на стоит_в_очереди (RC 0.0272281 2 24 0 102 0 0 1 0 0 1 0 0), а по графику с ищет_тренажер на отдыхает. См. модель sporthall.
+ 1.65. Отрицательное TimeNow. См. модель coffee.
1.66. В анимации фигурки тетриса иногда проваливаются ниже стакана. Ошибка не столько в анимации, сколько в логике. Вопрос в чьей ? Если автор модели не ошибся, то в логике РДО. См. модель tetris.
+ 1.67. Перечеслимый тип и функции.
+ 1.68. Возвращаемое значение функции не проверяется на допустимый диапазон, если таковой описан у функции.
+ 1.69. Ошибка с подсчетом показателей: последнее значение ресурса кол-во клиентов в очереди равно 4 по трассировке, но 3 в результатах; замечено за нерегулярным событием. См. модель ie_result.
+ 1.70. Использование {}...{} приводит к падению студии.
+ 1.71. Дедлок при остановке модели
+ 1.72. Пока заливал ошибки в багтреккер, обнаружил еще одну. Модель temp_trace не позволяет закрыться студии. Происходит это только после полного прогона модели с нормальным остановом. Если студию закрыть сразу после открытия модели или после остановленного прогона (stop), то закрытие происходит нормально.
+ 1.73. Не работает округление значения в $Sequence Нормальный : integer. См. модель seq-round.
+ 1.74. Не работает вхождение числа в диапозон у последовательности. См. модель seq-range.
+ 1.75. Модель завершается по сути NORMAL_TERMINATION, т.к. сработал Terminate_if, но в трассировку выдается NO_MORE_EVENTS. См. модель seq-range.
+ 1.76. Студия вылетает при парсинге PAT-файла модели. Точнее, при парсинге PAT-файла возникает ошибка, которая отлавливается в catch-блоке, после чего происходит удаление объктов модели. И вот тут возникает ошибка. См. модель maccash.
+ 1.77. Студия зависает, если найден символ конца коментария, но не найден символ начала. См. модель ipbs. (306->309: Исправлено)
+ 1.78. Студия не переключается на ошибку. См. модель ipbs. (309->310: Модель открывалась с ошибкой из-за отсутствия pmd. Это приводило к пропуску инициализации переключения.)
+ 1.79. В теле образца нельзя использовать еще не созданный (Create) временный ресурс в конверторах других ресурсов (которые выше в теле). См. модель ipbs. (310->311: Добавлена проверка)
+ 1.80. В теле образца нельзя использовать несуществующий (NonExist) временный ресурс в конверторах других ресурсов. (310->311: Добавлена проверка)
+ 1.81. В теле образца нельзя использовать удаленный (Erase) временный ресурс в конверторах других ресурсов. (310->311: Добавлена проверка)
+ 1.82. В условии выбора одного релевантного ресурса нельзя использовать другой, статус которого NonExist или Create. (311->312: Добавлена проверка)
+ 1.83. В новом РДО трассируется изменение релевантного ресурса, даже если у него статус NoChange. См. модель trace nochange.
+ 1.84. Повторное удалением временного ресурса, когда на него ссылаются два релевантных из одного образца с конвертором Erase. См. модель tmp_res_dbl_erase.
+ 1.85. Нет проверки на тип присваемого значения. Последовательность решить_проблему возвращает перечислимый тип (solved,failed), хотя должна Реквесты.статус, который (pending, solving, failed, solved). См. модель support.
+ 1.86. Неправильно обрабатываются клавиатурные операции с зажатым shift'ом. Клавиатурная операций, в которой он не используется, всё равно запускаются, как только зажимается их ключевая клавиша, не смотря на зажатый в это время shift.
+ 1.87. Если в начале операции релевантный ресурс еще не существует, то в трассировке о нем нет даже упоминаний. См. трассировку модели credit, строка 133 (windiff).
+ 1.88. Неправильно обрабатывается 'NOKEY'
+ 1.89. DPT: возврат по таймингу и продолжение расчета.
+ 1.90. Проверить, когда используется параметры релевантного ресурса внутри $Time: до convert_begin или после.
+ 1.91. При модальном окошке ставить модель на паузу.
1.92. Продвижение модельного временит вперед, если нажата клавиша, которая даже не обрабатывается.
+ 1.93. Неправильная отработка процедуры "смены родителя" в поиске на графе.
1.101. watch_quant почему-то для квардратов подсчитывает время, а не количество, надо сравнить со старым РДО
1.102. Обновить руководство (pdf) из-за go to line, справка уже дополнена
1.103. Проблема с отражением на графиках состояния ресурса после его перевода в состояние "Сломан". Проблема временно решена (1625: принудительная установка статуса Keep для изменяемого ресурса)
1.104. Модель не работает, когда имя релевантного ресурса "Робот" совпадает с именем используемым в паттернах "Робот"
На потом:
1.501. FRM: Убрать указание цвета при описании всех графических объектов, использовать last.
1.502. FRM: Для текста сделать минимальным формат text[x, y, str].
1.503. FRM: Возможность менять карандаш.
1.504. FRM: Возможность менять кисть.
1.505. FRM: Возможность менять шрифт.
1.506. FUN: Если последовательность enumarative добавлять через RDOValue (с типом, а не double), то можно целым типом заполнять вещественную последовательность, сейчас нельзя.
1.507. DPT: Переделать DTP some в самостоятельный класс с циклом проверки активностей, как DTP search или Process, чтобы его активности проверялись не в главном цыкле, а во вложенном (в его собствененом).
1.508. DPT: Снять ограничение на типы паттернов для DPT some и DPT Free.
1.509. DPT: Сделать удаление запланированного нерегулярного события из списка будующий, если DPT some стала ложной.
1.510. DPT: Сделать вложенные DPT some и DPT search в DPT some.
1.511. Попробовать сделать команду, которая снимает комментарий, если курсор находится внутри комментария. Т.е. антипод Ctrl+Q.
1.512. Заранее, или при первом обращении, перевести внутренние номера объектов для трассировки в строчки, чтобы не тратить на это время во время прогона при записи трассировки.
1.513. RTP: Константы нельзя использовать в RTP как such_as.
1.514. RTP/RSS: Константы нельзя использовать в RTP/RSS как значения.
1.515. Быстро падает быстродействие модели. См. модель ipbs.
1.516. Иногда неправильно работает прокрутка в окне с ошибками компиляции, причем, на саму ошибку в коде переход делается верно. Наверное, надо обновить scintilla. Обновление по 1.74 не помогло, появились новые баги, возможно надо аккуратнее вставлять РДО-парсер. Откат на 1.62.
1.517. Перевести студию под MS Visual Studio 2005.
1.518. Прогон с трассировкой, но без графиков.
1.519. DPT search: сделать по-умалчанию value after 1 и разрешить это вообще не указывать
1.520. DPT search: утечка памяти, если остановить модель во время поиска
-----------------------
Отличия между старым и новым РДО (только обратная несовместимость)
2.1. DPT: В старом РДО в DPT не может существовать пустрой блок $Activities (тот, который самостоятельный). Старый РДО хочет видеть в нём сами активности. В новом РДО пустой блок быть может. Смысла с точки зрения логики модели в этом никакого нет. Теряется обратная совместимость, но логика программирования существование пустых скобок допускает imho. Несовместимость можно оставить, опять-таки imho. Обратной совместимости можно добиться просто удалением конструкции "$Activities $End", плюс можно завести сообщение типа warning.
2.2. RTP: В старом РДО параметр ресурса должен состоять *минимум* из двух букв. В новом может из одной буквы.
2.3. SMR: В старом РДО в SMR *должен* быть описан файл ресурсов (RSS), даже если он состоит только из ключевых слов $Resources + $End, т.е. без ресурсов. В новом РДО файл ресурсов может отсутствовать, а SMR не содержать об этом файле запись.
2.4. SMR: В старом РДО, если файл анимации описан в SMR, то он должен быть.
2.5. FUN: В совсем старом РДО можно было описать константу перечеслимиго типа и не указать ей значение по умолчанию. Т.е. оно подтавлялось автоматически ? В последних версия старого РДО и в новом РДО такого сделать нельзя, т.е. надо обязательно указать значение по умалчанию.
2.6. PMD: В старом РДО в PMD недопускается использовать в качестве имени показателя один из существующих объектов модели, будь то тип ресурса или ресурс, образец операци, операция или точка принятия решения. Даже название фрейма нельзя использовать. Наше РДО это допускает и всё проходит нормально. См. PMD в модели param_init.
2.7. FUN: В новом РДО допускается использовать целые значения вместо вещественных (для указания диапазона параметра вещественного типа, в качестве значения по-умолчанию для параметра, в последовательности by_hist). В старом (RDO-96) - нет.
2.8. PAT: В новом РДО при удалении временного ресурса можно указать его конвертор, в старом - нет.
2.9. RTP: В новом РДО в RTP у типа могут отсутствовать параметры, в старом (RDO-96) - нет.
2.10. ALL: В новом РДО добалены однострочные и многострочные комментарии как в C++.
2.11. PAT: Добавлено новое ключевое слово Select. Описание см. в документации.
2.12. PAT: first послсе Choice form <...> теперь можно не указывать, оно используется по-умолчанию.
2.13. TRC: В новом РДО при трассироки паттерна, в котром создается временный ресурс, выводится номер создаваемого ресурса. В старом РДО вместо присваемого номера выводится ноль.
2.14. PAT: Старое РДО вызывает последнее запланирование событие на некий момент времени первым, т.е. список текущих событий имеет дисциплину LIFO. В новом - FIFO.
2.15. PAT: В новом РДО можно не указывать при создании временного ресурса внутри паттерна параметры, для которых прописано значение по-умолчанию в RTP.
2.16. PAT: Внутри конвертора значение параметров присваиваются в той последовательности, в которой они прописаны в конверторе, а не в RTP, как у старого РДО.
2.17. FRM: Цвет фона кадра в новом РДО может быть прозрачным (transparent), в старом это ключевое слово недопустимо, хотя цвет тоже можно не указывать, если указана фоновая картинка.
Отказ от extern RDOParser* parser:
1. проблема с rdoParse::RDOPROCTransact::makeRTP( NULL )