Внимание! Для того, чтобы описанные ниже изменения использовать, остановите Tomcat, перепишите из архива wtl_tomcat.zip, взятого с сайта, содержимое каталога wtl (вместе с содержимым каталогов *templates, если в описании изменений упомянуты шаблоны) и/или архив wtlObjects.jar (в root/lib). Удалите накопившиеся логи, если они больше не нужны, и перезапустите Tomcat. 09.10.2013 Ликвидирована несовместимость Вебтранслаб'а с последними версиями Java, обнаруженная только осенью 2013 года. Изменены практически все jsp-файлы в каталоге wtl. Доработана инструкция по установке пакета с учетом особенностей дистрибутивов Tomcat версии 7 (и более поздних) и Windows версий после XP. Надо отметить, что сочетание Tomcat8 + Java7 под 64-битной Windows7 работает крайне нестабильно, jvm постоянно завершается аварийно. 01.07.2013 Изменены wtlObjects.jar, viewFile.jsp, добавлены *SyntaxHighliter.css, каталог js и шаблоны с названием *TCxLR_to_jsp.wtt. 1. Полностью переработан модуль просмотра/редактирования файлов, реализована синтаксическая подсветка (с возможностью выбора цветовых схем) текстов программ на языках C, C++, C#, Java, Jsp. Выполнил бакалавр гр. АВТ-910 Соловьев Н.О. 2. Доработан построитель восходящих автоматов и добавлены шаблоны с названием *TCxLR_to_jsp.wtt, реализующие формирование и интерпретацию упакованных управляющих таблиц (со степенью сжатия 5-10 от объема неупакованной разреженной таблицы). Выполнил бакалавр гр. АВТ-910 Радченко О.Е. 3. В синтаксических правилах теперь можно использовать регулярные выражения. Действиуют такие правила преобразования: N : chain1 | chain2 -> N : chain_1 N : chain_2 N : chain_1 [ chain_2 ]? chain_3 -> N : chain_1 N_0 chain_3 N_0 : chain_2 N_0 : N : chain_1 [ chain_2 ]* chain_3 -> N : chain_1 N_0 chain_3 N_0 : chain_2 N_0 N_0 : N : chain_1 [ chain_2 ]+ chain_3 -> N : chain_1 N_0 chain_3 N_0 : chain_2 N_1 N_1 : chain_2 N_1 N_1 : Знак операции | имеет безусловно более высокий приоритет по отношению к остальным. Эти доработки в рамках дипломной работы выполнил Велигжанин А.Е., АМ-810 14.06.2013 Изменены шаблоны. 1. Шаблоны вида ...SyntAsManySA... переименованы в ...SyntAsMultiFSM... 2. Шаблоны вида ...SyntAsOneSA... переименованы в ...SyntAsSingleFSM... 3. Только jsp-шаблоны: для нисходящего автомата с несколькими состояниями добавлены шаблоны с простой (...wNeytr...) и полной (...wFullNeytr...) нейтрализацией ошибок. 4. Только jsp-шаблоны: для нисходящего автомата с одним состоянием добавлены шаблоны с простой нейтрализацией ошибок. 05.04.2012 Изменены wtlObjects.jar и все файлы .jsp 1. Реализовано удаление синтаксических правил-тавтологий вида N : N 2. Реализовано эквивалентное преобразование "цепных" правил вида N : M (при условии, что для N есть только такие правила; если наряду с правилом вида N : M есть правило вида N : <цепочка, отличающаяся от единственного нетерминала>, то цепное правило не преобразуется). Если для нетерминала M в грамматике есть k правил (M : chain_1, M : chain_2, ... M : chain_k), то вместо каждого цепного правила N : M формируется k правил вида N : chain_1, N : chain_2, ... N : chain_k. В результате нетерминал M может стать недостижимым. 3. Исправлена ошибка сохранения грамматики с выделенными начальными нетерминалами (файл saveRules.jsp). 20.10.2011 Изменен wtlObjects.jar. !!! Из-за того, что эта версия выкладывается впервые, предыдущую надо полностью удалять, заменяя абсолютно все файлы Вебтранслаба. !!! 1. Исправлена странная ошибка, в результате которой для некоторых грамматик "умирал" построитель синтаксических автоматов. 10.10.2011 Изменен wtlObjects.jar. 1. Устранена крайне редко возникавшая ошибка выявления и объединения эквиваленитых состояний при построении лексического автомата. 24.11.2010 Изменен только wtlObjects.jar 1. Сделана очередная попытка добиться корректной обработки символов < и > в действиях в синтаксичеких правилах. 2. Теперь в действиях в синтаксических правилах можно использовать перенос строки (в том числе и при построении автомата по шаблону ... SyntAsOneSA...) 14.11.2010 Изменено все, включая файлы шаблонов. 1. Полностью переработан построитель автоматов (файл wtlObjects.jar). По идее он теперь должен работать значительно более устойчиво. Исправлены некоторые ошибки построителя, в частности: 2. Теперь лексические правила с пустым регулярным выражением игнорируются. 3. Кроме макроса findAutomat теперь с тем же самым результатом можно использовать макрос indexOfAutomat 4. Если в лексике есть несколько правил для одной группы слов и в каждом есть действие, то в автомат включаются все действия, но последовательность их выполнения непредсказуема. 5. Макрос макрос indexOfTerminal теперь правильно обрабатываемтя и в "Данные лексического анализатора" 6. Теперь правильно подставляются слова вида "<", "<=", ... определяемые как строки в синтаксических правилах 7. Наконец-то наведен порядок в структуре пакетов (packages в терминологии Java), поэтому изменены и все шаблоны. 28.10.2010 Изменен файл translabMain.jsp 1. Исправлена ошибка, в результате которой игнорировалось все содержимое "Данных лексического/синтаксического анализатора", следующее после первого же символа табуляции. 2. Исправлена ошибка построителя, возникавшая после ручной вставки синтаксического правила с пустой правой частью, состоявшая в появлении безымянного терминала и приводившая к построению неработоспособного синтаксического акцептора. 20.10.2010 Изменены файлы viewProperties.jsp и translabMain.jsp 1. Исправлена ошибка формирования визуального представления нисходящего синтаксического автомата с несколькими состояниями. 2. Исправлена ошибка редактирования синтаксических правил при уменьшении количества символов в правой части правила, проявлявшаяся только в IE и приводившая к искажению структуры таблицы и неправильном сохранении xml-файла. 08.09.2010 Изменены transLabMain.jsp и parseRule.jsp 1. Исправлена ошибка, в результате которой не сохранялись результаты редактирования синтаксических правил. 14.11.2009 Изменен только wtlObjects.jar 1. Исправлена ошибка, из-за которой для некоторых грамматик преобразователь шаблона в программу завершался аварийно, в результате чего при попытке проверки появлялось сообщение unterminated tag <% 11.11.2009 Изменены только файлы getRules.jsp и transLabMain.jsp. 1. Наконец-то ликвидирована неприятная ошибка глухого молчания основного окна при открытии xml-файла с правилами, в которых угловая скобка "<" не заменена на "<". Теперь при попытке открытия такого файла выдается мессидж-бокс и открывается вспомогательная таблица, содержащая нормально прочитанное начало файла. 25.10.2009 1. Доработано "перетаскивание" лексических и синтаксических правил, устранено выделение строк соответствующих таблиц, на время перетаскивания изменяется вид курсора мыши. 21.10.2009 1. В исходниках пакета wtlObjects.jar символ \ в путях заменен на символ /. НЕ ИЗМЕНЕНА работа с путями в файлах docroot/*.jsp. 2. В архив wtl_gf.zip включены файлы start.bat и pwdfile.txt, использование которых упрощает запуск glassfish. Как использовать, написано в ReadMe.txt. 3. В этом же ReadMe.txt теперь описано, как разрешить работу с контекстным меню в браузере Opera. 21.09.2009 1. Исправлена ошибка "duplicate case label", возникавшая, если в синтаксических правилах указано несколько одинаковых действий. 2. Исправлена ошибка "nullPointerException", возникавшая при построении лексического акцептора в том случае, если нет ни одного синтаксического правила. 3. Исправлена ошибка построителя лексических автоматов, заключавшаяся в неправильной обработке внутреннего представления < для литеры < в регулярном выражении. 10.09.2009 1. Реализована версия для application server glassfish. 2. Обеспечена работоспособность для браузеров MS IE (v 7.0, ниже не проверялось), Mozilla Firefox (v 3.0.5, ниже не проверялось) и Opera (v 7.21, ниже не проверялось). 3. Переработаны всплывающие окна для ввода/редактирования лексических и синтаксических правил. 4. Изменены меню и, соответственно, действия по работе с таблицами правил в целом (сортировка, перемещение, удаление). 5. Добавлена возможность выделять (и отменять выделение) подграмматики в синтаксических правилах. 6. Реализована настройка внешнего вида основного окна. 03.02.2009 1. Доработан показ УТ нисходящего акцептора с одним состоянием, ранее в нем была ошибка - показ исключаемого символа как действия. 29.01.2009 1. Исправлена ошибка, в результате которой при открытии файла, содержащего только лексику, не очищалась таблица синтаксических правил. 28.01.2009 1. Доработан показ УТ восходящего синтаксичсекого акцептора (добавлены номера колонок, всплывающая подсказка с номеромстроки и столбца в непустых клетках, расшифровка обозначений конфликтов). 2. Исправлена ошибка, состоявшая в том, что если вырезать и вставить лексическое правило, то оно не редактировалось. 3. Переработаны всплывающие окна ввода/редактирования лексических и синтаксичсеких правил. 4. Иногда при построении автоматов на экране остается список шаблонов. Предприняты дополнительные усилия по гашению ненужных всплывающих окошек. 06.01.2009 1. Восстановлен заблокированный ранее показ свойств грамматики, отношений предшествования/последования, множеств выбора и таблиц конфигураций, если синтаксические правила есть, но синтаксический акцептор построить не удалось. 29.12.2008 1. Исправлена ошибка открытия xml-файлов, содержащих пустой тэг . 2. Повторно исправлена ошибка версии Apache Tomcat, приводящая к невозможности редактирования синтаксических правил. 3. Теперь после попытки построения автоматов свойства грамматики, отношения между символами и таблицы конфигураций доступны в пункте "Показать", если таблица синтаксических правил не была пуста. 30.10.2008 1. Исправлены несколько ошибок сохранения систем лексических и синтаксических правил (xml-представления) в файле transLabMain.jsp. 29.10.2008 1. Исправлена небольшая ошибка в файле transLabMain.jsp, приводившая к искажениям отображения таблицы синтасических правил, если ее размер меньше таблицы лексических правил и ее скрывали, а потом заново делали видимой. 11.09.2008 1. Исправлены ошибки версии Apache Tomcat (невозможность редактирования синтаксических правил, невозможность запуска построенной jsp-программы с параметрами, т.е. по нажатию кнопки Проверить). 2. Исправлены ошибки в некоторых шаблонах, которые приводили к появлению сообщения "... ошибка в шаблоне...". 26.06.2008 1. ВебТрансЛаб теперь работает под Apache Tomcat 6.0. 21.03.2008 1. Переработаны чтение и сохранение правил. Теперь воспринимаются xml-атрибуты, например, фрагменты: NonTetminal ... и ... считываются, как одинаковые. Как атрибуты сохраняются те узлы, в значениях которых не может быть апострофов (name, groupWordsName, leftPart). Остальные сохраняются как xml-узлы, но вручную могут быть записаны и как атрибуты, лишь бы не нарушались правила xml-документов. 12.03.2008 1. Протестированы все шаблоны. 05.03.2008 1. Интерпретатор шаблонов теперь реализован средствами ВебТрансЛаба. 2. В синтаксических правилах теперь можно использовать вложенные блоки действий вида { ... { ... } ...} 28.02.2008 1. Разбор входного xml-файла с правилами и одиночного синтаксического правила при вводе реализован средствами ВебТрансЛаба. 08.02.2008 1. Реализована php-версия ВебТрансЛаба. 30.12.2007 1. Доделаны шаблоны для pascal и vb. 20.12.2007 Изменен wtlObjects.jar и некоторые шаблоны. 1. Продолжается исправление ошибок, не замеченных 22.11.2007. 11.12.2007 Изменен wtlObjects.jar. 1. Оказалось, что предыдущее исправление затрагивает и одноавтоматный лексический акцептор, который сейчас и доработан. 22.11.2007 Изменен wtlObjects.jar, docroot\viewProperties.jsp и шаблоны (кроме to_pas и to_vb) 1. Исправлена очередная ошибка формирования мультитабличного лексического анализатора и, соответственно, переработаны основные шаблоны). 15.11.2007 Изменен wtlObjects.jar и jsp-файлы каталога docroot. 1. Добавлено отображение управляющей таблицы и списка состояний и переходов лексического анализатора в пункте меню "Показать". 2. Исправлена ошибка формирования текстового отображения управляющей таблицы нисходящего синтаксического акцептора с несколькими состояними. 3. Исправлена ошибка в трассировщике, в результате которой правильно показывались только первые 256 записей. 18.10.2007 Изменены все шаблоны *_to_cpp.wtt 1. Исправлены ошибки и доработаны шаблоны to_cpp для мультиавтоматного лексического акцептора/анализатора. 26.09.2007 Изменен wtlObjects.jar и все шаблоны to_jsp 1. Исправлены ошибки в шаблонах to_jsp и обнаруженное расхождение между построителем и шаблонами для мультиавтоматного лексического акцептора/анализатора. Шаблоны для других языков будут доработаны в ближайшее время. В одноавтоматных системах регулярных выражений ошибки не проявляются. 05.09.2007 Изменены все файли каталога docroot. 1. Доработан интерфейс главного окна. 21.01.2007 Изменен wtlObjects.jar 1. Добавлен макрос indexOfNonTerminal("_имя нетерминального символа_"), который можно использовать в действиях грамматики (но не в действиях лексических правил). 2. Исправлена ошибка, приводившая к тому, что текстуально совпадающие символы и строки грамматики не различались. Теперь символ Цикл и строка "Цикл" понимаются как разные символы. 11.01.2007 Изменен wtlObjects.jar 1. Исправлена редко проявлявшаяся ошибка построителя, приводившая к сообщению о перезагрузке нижнего фрейма. 2. Трассировщик теперь принимает от 1 до 4 числовых параметров и необязательную строку (String или StringBuffer). Вызовы ti теперь могут выглядеть от ti.put(<число>); до ti.put(<число>,<число>,<число>,<число>,<строка>); 27.12.2006 Изменены wtlObjects.jar и некоторые файлы из docroot. 1. Исправлена ошибка сохранения/построения, приводившая к зависанию в том случае, если лексика и/или синтаксис содежали пустую строку. 2. Исправлено отображение таблиц конфигураций и управляющей таблицы восходящего синтаксического акцептора, формировавшегося неправильно, если имена символов (строки) содержали открывающую угловую скобку. 3. Исправлена очередная редко проявлявшаяся (как правило - при большом размере грамматики) ошибка построения восходящего синтаксического акцептора. 08.12.2006 Изменены wtlObjects.jar, docroot\saverules.jsp и docroot\wtlHelp.jsp. 1. Добавлена возможность сохранения истории изменений .xml файлов. Если в рабочем каталоге пользователя создать пустой файл Versions.xml, то при каждом сохранении любой системы правил дубль ее пишется в файл Versions.xml в качестве содержимого тега version с указанием имени файла и даты/времени момента сохранения. 2. Добавлена возможность явно задавать (или использовать иным образом) индексы групп слов (терминалов) в действиях лексического анализатора. Для этого предназначена псевдофункция indexOfTerminal("имя_группы_слов") - см. справку ВебТрансЛаба. 01.12.2006 Изменен wtlObjects.jar 1. Исправлена ошибка, в результате которой не все состояния лексического акцептора попадали в результат построения. 29.11.2006 1. Добавлены шаблоны для языка Object Pascal (за исключением шаблонов полного перебора). 2. Исправлен ряд мелких ошибок. 18.10.2006 1. Добавлен показ нисходящего ситаксического автомата с одним состоянием. 31.08.2006 1. Добавлены папки шаблонов для языков Object Pascal и Visual Basic (пока по одному шаблону). Добавлен архив с типовыми проектами для всех языков, для которых есть шаблоны. Доработаны wtlObjects.jar и практически вся папка docroot. 25.08.2006 1. Практически полностью переработан механизм работы с шаблонами (папки docroot и все *Templates). Добавлены образцы проектов для всех целевых языков (архив Projects). 28.06.2006 Изменены все файлы каталога docroot, архив wtlObjects.jar и добавлены шаблоны. 1. Исправлено много не очень существенных ошибочек. 2. Добавлены папки с шаблонами для языков Java, C,C++ и C#. В эти шаблоны вставлены подробные комментарии. Пока что эти папки выложены для ознакомления, Вебтранслаб их не видит. Для того, чтобы использовать такие шаблоны, нужно скопировать их все или только те, которые предполагается использовать, в каталог templates или в свой личный каталог. Готовятся шаблоны для языка С++ и комментарии для jsp. Готовятся также руководства по использованию шаблонов для разных языков. 01.06.2006 Изменено многое, лучше всего брать все файлы из этого обновления. 1. Доработан построитель, убран ряд ошибок. 2. Доработаны и переработаны шаблоны. 06.03.2006 Изменен wtlObjects.jar. 1. Исправлена ошибка построителя, неверно обрабатывавшего некоторые случаи грамматик с бесплодными символами. 15.02.2006 Изменен wtlObjects.jar. 1. Исправлена ошибка построителя, состоявшая в том, что если первое правило для нетерминала имеет пустую правую часть, то остальные правила просто игнорировались. 09.02.2006 Изменены файлы каталога docroot и все шаблоны. 1. Добавлена возможность определять данные (и/или функции, классы с методами, ...) для использования в действиях раздельно для лексики и синтаксиса. 07.02.2006 Изменены файлы каталога docroot. 1. Добавлен пункт меню "Очистить", переименованы многие пункты меню. 2. Ввод лексических правил переделан, теперь практически такой же, как ввод синтаксических правил. Отличие в том, что в лексике любое правило имеет ровно 4 части. 3. Добавлено контекстное меню для работы с лексическими правилами так же, как с синтаксическими. 25.01.2006 Изменен wtlObjects.jar, весь каталог docroot и все шаблоны восходящего анализа. 1. Добавлены некоторые операторы языка шаблонов. 2. Доработано построение восходящих синтаксический акцепторов. 3. Добавлено выявление и отображение класса грамматики с точки зрения восходящего синтаксического анализа. 29.12.2005 Изменен wtlObjects.jar и все шаблоны с именами lexAsTable... 1. Исправлена ошибка построения одноавтоматного лексического анализатора, возникшая 21-го декабря при устранении ошибки мультиавтоматного ЛА для выражений other и other+. 2. Добавлены 2 шаблона (lexAsGraphSyntAsOneSAnew_to_jsp.wtt и lexAsTableSyntAsOneSAnew_to_jsp.wtt), это почти полные аналоги старых шаблонов (имена без new), доработано только выполнение действий в правилах с пустой правой частью. Из-за цейтнота я не успеваю тщательно их проверить, поэтоу пока просто добавляю как новые. 28.12.2005 Изменен только wtlObjects.jar. 1. Исправлена ошибка построителя, проявлявшаяся иногда при наличии в грамматике недостижимых нетерминалов. 22.12.2005 Изменен только wtlObjects.jar. 1. Исправлена ошибка построителя, неверно вычислявшего свойства символов грамматики в особо изощренных случаях (когда использование нетерминалов в правых частях встречается раньше их появления в левых частях). 21.12.2005 Изменен только wtlObjects.jar. 1. Исправлены ошибки построения лексического акцептора как таблицы. Теперь, наконец, оба варианта (AsGraph и AsTable ) работают одинаково. 20.12.2005 Изменен только wtlObjects.jar. 1. Исправлена ошибка построения лексического акцептора как графа, проявлявшаяся только в том случае, когда строится мультиавтомат с использованием регулярного выражения other+ и состявшая в том, что после возвратат в автомат main перед концом текста требовался хотя бы один символ. Пока НЕ исправлена аналогичная ошибка построения лексического акцептора как таблицы. НЕ СЛЕДЕТ ПОЛЬЗОВАТЬСЯ соответствующими шаблонами в том случае, если применяются регулярные выражения other или other+. 19.12.2005 Изменен только файл docroot/transLabMain.jsp. 1. Добавлено несколько операций над совокупностью синтаксических правил: - возможность смены начального нетерминала; - сортировка правил по алфавиту, появлению нетерминалов в левых и правых частях правил; - добавление пустых строк для ввода новых правил в произвольном месте таблицы; - вырезание одного правила; - вставка вырезанного правила в произвольное место таблицы. Для вызова первых операций нужно щелкнуть правой кнопкой мыши по заголовку таблицы синтаксических правил, осталных операций - по нужной строке таблицы. 15.12.2005 Изменен только wtlObjects.jar. 1. Исправлена очередная ошибка формирования множеств последователей (обнаруживалась только в том случае, если правило для нетерминала заканчивается действием и после такого нетерминала в другом правиле тоже записано действие). 13.12.2005 - 14.12.2005 Изменены wtlObjects.jar, docroot/transLabCtl.jsp, docroot/viewProperties.jsp и docroot/saveRules.jsp. 1. Исправлена ошибка, не позволявшая для некоторых странных (по другому назвать не могу, до сих пор не разобрался, в чем с ними состоит проблема) грамматик строить восходящий синтаксический акцептор. 2. Добавлен показ управляющей таблицы нисходящего автомата с несколькими состояниями (пункт меню "Свойства"). 3. Немного улучшен внешний вид заголовка управляющей таблицы восходящего акцептора, показываемой из пункта меню "Свойства" (теперь нетерминалы показаны жирным, слова - зеленым курсивом). 4. Исправлена очень непрятная ошибка вычисления множеств последователей символов грамматики. В некоторых случаях она приводила к тому, что добавление действий в правила изменяло свойства символов и грамматики в целом. 5. В очередной раз (надеюсь - теперь окончательно) исправлена ошибка сохранения лексических и синтаксических правил, содержащих угловые скобки, в xml-файл. 6. Исправлена еще одна неприятная ошибка вычисления теперь уже множеств предшественников, проявлявшаяся при некоторых сочетаниях действий и исключаемых символов в одном и том же правиле. 09.12.2005 Изменены wtlObjects.jar и все стандартные шаблоны. 1. Все изменения предназначены для облегчения обработки групп слов, для которых лексические правила не являются однозначными (например: ident : [a-zA-Z][a-zA-Z0-9]* и word : [a-zA-Z]+). При наличии таких определений построитель ЛексЛаба отказывается строить автомат, сообщая, что система регулярных выражений некорректна. Построитель ВебТрансЛаба автомат строит, но в предыдущей версии - скрывая от пользователя все, что только можно. Сейчас в операторе switch построенного лексического анализатора появляются все номера финальных состояний, причем в качестве комментариев указываются все названия групп слов, сопоставленные каждому финальному состоянию. Кроме того, и для неоднозначных случаев (когда одно и то же финальное состояние сопоставлено нескольким группам слов) делается попытка преобразовать номер состояния в индекс слова для синтаксического акцептора (в предыдущих версиях это делалось только для однозначных финальных состояний). Пользователю предоставляется возможность вручную (путем вставки действий или путем внешнего редактирования) исправить неправильно сформированные присваивания. 01.12.2005 Изменены wtlObjects.jar, все стандартные шаблоны и часть файлов из docroot. 1. Исправлена очередная ошибка построителя, приводившая к отказу строить лексический акцептор при пустой грамматике. 2. Исправлена ошибка построителя, приводившая к неверному формированию восходящего табличного синтаксического акцептора при отсутствии действий в грамматике. 3. Во все стандартные шаблоны вставлены комментарии, выделяющие смысловые части формируемых jsp-страниц. Во все шаблоны добавлены скрипты, реагирующие на изменение размеров окна браузера. 29.11.2005 Изменен только wtlObjects.jar: 1. Исправлена ошибка построителя, приводившая к отказу строить лексический акцептор при пустой грамматике и использовании шаблона табличного восходящего синтаксического автомата. 24.11.2005 1. Исправлена ошибка формирования отношений предшествования и последования (а следовательно - множеств выбора, конфигураций, короче - всего), проявлявшаяся в тех случаях, когда первым символом в правиле является действие (нужно обновить wtlObjects.jar). 2. Доработан jsp-файл viewProperties.jsp для более понятного отображения множеств выбора. 21.11.2005 Изменен только wtlObjects.jar: 1. Исправлена ошибка построителя, который в некоторых случаях пытался использовать удаленные из грамматики тупиковые и/или недостижимые символы. 2. Исправлена ошибка построителя восходящих автоматов, внесенная в него 03.11.2005 и состоявшая в том, что он не отличал последнее действие в правиле от пустой цепочки в качестве правой части правила. Это приводило к включению в управляющую таблицу лишних знаков операции "свертка". 07.11.2005 1. Реализовано сохранение правил, содержащих символы-исключения. 2. В справку добавлено описание языка шаблонов. 03.11.2005 1. Исправлено несколько ошибок, приводивших к неправильному формированию восходящих синтаксических акцепторов и проявлявшихся только при некоторых сочетаниях расположения действий в правилах. 2. Изменена совокупность соглашений по именованию шаблонов. Теперь расширение шаблона: .wtt, а перед расширением, но после цепочки литер _to_ следует то расширение, которое должен получить файл результата построения. Расширения .wtt больше не показываются в списке шаблонов. 3. Добавлены два шаблона для восходящей группы методов, в чистом виде реализующие табличный способ управления синтаксическим акцептором. Имена этих шаблонов: lexAsGraphSyntAsTxLR_to_jsp.wtt и lexAsTableSyntAsTxLR_to_jsp.wtt. Старые шаблоны восходящеих автоматов переименованы в lexAsGraphSyntAsJxLR_to_jsp.wtt lexAsGraphSyntAsJxLR_to_jsp.wtt. Буква J, которой имена этих шаблонов отличаются от новых, означает процедурную реализацию акцептора на языке java. 4. Для восходящих автоматов добавлен показ вспомогательных сведений в пункте меню "Свойства": таблица канонических конфигураций, таблица расширенных конфигураций и управляющая таблица автомата. 5. Исправлена ошибка самопроизвольного добавления символов к правилам грамматики при сохранении системы правил. 25.10.2005 1. Пополнена справка. 2. В некоторые шаблоны (пока только в ...AsOneSA...) добавлены комментарии, поясняющие (хотелось бы надеяться) существо применяемого метода (и то пока только в синтаксический акцептор). 3. Исправлены незначительные погрешности в классах архива wtlObjects.jar. 24.10.2005 1. Исправлена неверная обработка исключений символов из множеств выбора/ожидаемых правых контекстов. 2. Исправлена ошибка показа файлов (терялась концовка показываемого файла), внесенная при добавлении подстройки под высоту/ширину окна (см. п. 3 от 19.10.2005). 3. Исправлены шаблоны вида ...AsOneSA... и классы архива wtlObjects.jar для устранения ошибки формирования нисходящего автомата с одним состоянием. 4. Немного дописана справка. 21.10.2005 1. Окончательно доработана русификация. Теперь слова с русскими буквами можно определять в синтаксисе. 2. Добавлен пункт меню "Свойства", сейчас пока реализован показ отношений предшествования и последования и множеств выбора правил. 19.10.2005 1. Исправлена ошибка в методе getLexem() класса лексического акцептора как графа, приводившая к тому, что при определении слов вида == (без одиночного =) произвольное (нечетное) количество таких символов воспринималось, как правильная последовательность слов. 2. Обеспечивается правильное сохранение файлов, содержащих русские буквы. Для этого пришлось сделать класс decoderEscaped (в пакете AuxObjects), имеющий единственный метод decode(String),возвращающий StringBuffer. 3. Переработаны все шаблоны. Обеспечивается прием/обработка русских букв. Кроме того, многострочное поле ввода при проверке построенного автомата подстраивается по ширине и высоте под размеры окна браузера. 13.10.2005 1. Немного доработана инструкция по установке WebAndAS_Settings.txt. 2. Дополнена справка. 12.10.2005 1. В очередной раз переработаны шаблоны (файлы каталога /docroot/templates) с целью унификации имен переменных класса lexAnalyzer (одно и мультиавтоматного) для более простого копирования действий. 2. Дописано кое-что в справке. 3. Файл AnyObjects.jar переименован в wtlObjects.jar 4. Исправлена очень неприятная ошибка в инструкции по установке апп. сервера. Вместо: ;C:Sun/domains/domain1/server/lib/ext/wtlObjects.jar (ранее - AnyObjects.jar) нужно писать (был пропущен слэш после двоеточия и это оказалось фатальным): ;C:/Sun/domains/domain1/server/lib/ext/wtlObjects.jar (ранее - AnyObjects.jar) 07.10.2005 1. Расширены возможности пункта "Проверить". Теперь кроме последнего построенного jsp-автомата можно запускать любой имеющийся в каталоге пользователя. 2. Начата реализация справочной системы, добавлен пункт "Справка", показывающий небольшую часть будущего описания ВебТрансЛаба. 05.10.2005 1. Почти полностью ликвидирована неприятная необходимость перезапускать ВебТрансЛаб для просмотра/открытия файлов после их сохранения или построения jsp-страницы. Эта необходимость осталась только для тех случаев, когда просматриваемый файл сохраняется под другим именем. 04.10.2005 1. Для сохранения имени рабочего каталога пользователя на случай долгого его молчания во все jsp добавлена отправка/обработка Cookie. Теперь, по идее, сохраняемые файлы не должны исчезать в недрах каталога guest. 23.09.2005 1. Исправлены ошибки, из-за которых в .xml-файлах не сохранялись комментарии к регулярным выражениям/правилам грамматики 22.09.2005 1. Исправлены все шаблоны: 1.1. Теперь можно проверять только лексику (без синтаксиса). 1.2. Устранена ошибка отсутствия переменной Stack, если лексика определяет многоавтоматность. 2. Расширение .xml добавляется, если при сохранении лексики/синтаксиса оно не указано в имени файла. 3. Исправлена ошибка неверной обработки регулярного выражения с пустым именем автомата.