MustLive
1.06.2006 - 01:42
MustLive Perl Pascal Programs Interpreter
Perl Pas Interpreter v.1.2
Вашему вниманию представляю свой последний проект - Perl Pascal Programs Interpreter.
Программа представляет собой интерпретатор языка Паскаль (Perl Pas Interpreter). Программа существует в двух версиях: консольная программа и онлайн-интерпретатор (в Интернете).
http://mlfun.org.ua/ppi/
Данная программа интерпретирует классический язык Паскаль, и имеет множество преимуществ по сравнению со старыми средствами разработки на Паскале под DOS (такими как Turbo Pascal от Borland). И учитывая, что Паскаль широко используется среди школьников и студентов (в учебном процессе, или для собственных разработок), то данная программа должна пригодиться всем ученикам школ, техникумов и университетов со всего мира.
Онлайн-версия интерпретатора представляет собой революционную разработку. Это первый в мире онлайн интерпретатор Паскаля (да и вообще наверное первый в мире онлайн интерпретатор какого-либо языка программирования). Теперь каждый человек в мире может из любого компьютера подключенного к сети Интернет запускать (тестировать) свои собственные программы на Паскале. В особенности онлайн-версия этого программного продукта может пригодиться как школьникам и студентам, так и преподавателям всех учебных заведений, которым приходится работать с программами на Паскале. Теперь работать с подобными программами можно будет в наиболее современной форме.
Детальнее о проекте MustLive Perl Pascal Programs Interpreter.
Описание программы и История версий.
MustLive
3.06.2006 - 02:33
Perl Pas Interpreter v.1.2
24.05.2006 v.1.2
Сделанна онлайн версия интерпретатора.
Теперь существует две версии программы: консольная и онлайн.
В результате этого был переработан и оптимизирован программный код.
Особенности онлайн версии отображенны в Описании программы.
Perl Pas Interpreter v.1.2.1
02.06.2006 v.1.2.1
Добавленно ограничение на циклы (для goto). Как для консольной так и онлайн версии.
Ограничение ($loop) на циклы для одной метки = 1000.
Исправлена работа goto: теперь работает goto на метку, установленную в первой строке программы.
Открыта тема на форуме для обсуждения программы.
MustLive
9.06.2006 - 02:11
Perl Pas Interpreter v.1.2.2
09.06.2006 v.1.2.2
Оптимизировал код программы.
В результате оптимизации, время поиска меток улучшилось на 16,12%, а время интерпретации - на 37,6%.
Добавлена возможность тестирования быстродействия интерпритации программы: ключ -t что включает тест быстродействия.
Добавлена опция в интерпретаторе $show_test.
Улучшена работа с метками.
интересненько, правда я в нем неособо рублю, а точнее вообще нерублю.
PS. слово РУБЛЮ неимеет никакого отношения к денежной единице РФ.
MustLive
9.06.2006 - 14:05
Саша, при желании Паскаль можно выучить

Но в данном случае мой проект расчитан на учеников, студентов и препадавателей - всех тех, кто сталкивается с Паскалем в своей деятельности. Вот если ты в учебном процессе столкнёшся с Паскалем - вот и придётся его выучить и програмить на нём.
И вот для всех тех, кто с ним имеет дело - для вас пригодится мой новый проект - Онлайновый интерпретатор Паскаля. С ним ваше изучение и программирование на Паскале станет легче и интересней.
MustLive
17.06.2006 - 03:12
Perl Pas Interpreter v.1.2.3
16.06.2006 v.1.2.3
Выправленная работа оператора if (когда не срабатывало условие).
Улучшена работа в операторе if с числами с плавающей точкой.
В операторе if добавлена поддержка массивов.
В операторе if расширил синтаксис: теперь можно использовать пробелы и скобки.
Улучшена работа с комментариями.
MustLive
3.07.2006 - 14:53
Perl Pas Interpreter v.1.2.4
02.07.2006 v.1.2.4
Улучшена в онлайн версии работа с оператором "<>" (улучшена фильтрация).
Добавлена поддержка ord.
Улучшена робота wrіte и wrіteln с массивами (с индексом-переменной).
Улучшена обработка сложных выражений (которые включают массивы с индексом-переменной).
MustLive
18.07.2006 - 03:04
Perl Pas Interpreter v.1.2.5
17.07.2006 v.1.2.5
В операторе if добавлена поддержка функций.
Добавлена поддержка pred и succ.
Исправлена ошибка при работе с комментариями.
Улучшена работа write и writeln со сложными выражениями.
MustLive
27.08.2006 - 00:39
Perl Pas Interpreter v.1.2.6
26.08.2006 v.1.2.6
Улучшена работа со строковым типом данных.
Добавлена функция length.
Добавлена функция pos.
Исправлена ошибка в функциях ord, pred и succ.
MustLive
30.09.2006 - 15:51
Perl Pas Interpreter v.1.2.7
30.09.2006 v.1.2.7
Добавлена кнопка очищения поля текста программы (в онлайн интерпретаторе).
Добавлена функция delete.
Добавлена функция insert.
Улучшена работа read и readln с массивами (с индексом-переменной).
MustLive
6.12.2006 - 17:41
Perl Pas Interpreter v.1.2.8
05.12.2006 v.1.2.8
Улучшена работа со строковым типом данных.
Добавлена функция copy.
Добавлена функция concat.
Улучшена робота форматов вывода с массивами (с индексом-переменной).
MustLive
28.02.2007 - 18:46
Perl Pas Interpreter v.1.2.9
28.02.2007 v.1.2.9
Добавлена функция tan.
Добавлена функция cotan.
Исправлена XSS уязвимость в функции вывода.
Теперь в функциях Write и Writeln присутствует анти XSS фильтр.
MustLive
18.04.2007 - 19:56
Perl Pas Interpreter v.1.2.10
17.04.2007 v.1.2.10
Добавлена функция arctan2.
Добавлена константа pi (с 16-битной точностью).
Улучшена работа оператора присваивания с массивами (с индексом-переменной).
Улучшена работа функций sin и cos с массивами (с индексом-переменной).
MustLive
27.06.2007 - 19:11
Perl Pas Interpreter v.1.3
26.06.2007 v.1.3
Добавлена поддержка циклов.
Поддерживается цикл for.
Для for поддерживаются возрастающий (to) и ниспадающий (downto) циклы.
В операторе for поддерживаются арифметические выражения.
Ограничение ($loop) действует для циклов for точно также как для меток.
MustLive
30.07.2007 - 19:33
Perl Pas Interpreter v.1.3.1
29.07.2007 v.1.3.1
Добавлена поддержка константы pi в операторе присваивания.
Добавлена поддержка константы pi в функциях.
Улучшена работа оператора for.
Улучшена работа функций tan и cotan с массивами (с индексом-переменной).
MustLive
27.08.2007 - 19:22
Perl Pas Interpreter v.1.3.2
26.08.2007 v.1.3.2
Добавлена поддержка функций в циклах (for).
Добавлена поддержка вложенных циклов в циклах (for). До любого уровня вложенности.
Исправлена работа оператора div.
Улучшена работа функций arctan2 и abs с массивами (с индексом-переменной).
MustLive
26.09.2007 - 22:45
Perl Pas Interpreter v.1.3.3
25.09.2007 v.1.3.3
Добавлено персонофицированное сохранение текста программы (в онлайн интерпретаторе).
Сделаны кнопки "Прочитать" и "Сохранить". Сохранение происходит в кукис.
Добавлена поддержка оператора mod в write и writeln.
Улучшена работа функций round и trunc с массивами (с индексом-переменной).
MustLive
27.10.2007 - 18:54
Perl Pas Interpreter v.1.3.4
25.10.2007 v.1.3.4
Добавлена функция arctan.
Добавлена поддержка оператора div в write и writeln.
Улучшена работа оператора присваивания с массивами.
Улучшена работа функций exp и ln с массивами (с индексом-переменной).
MustLive
24.11.2007 - 20:57
Perl Pas Interpreter v.1.3.5
23.11.2007 v.1.3.5
Добавлена поддержка циклов while.
В операторе while поддерживаются арифметические выражения.
Ограничение ($loop) действительно для циклов while точно также как для меток.
Улучшена работа оператора div в арифметических выражениях.
Улучшена работа функций frac и odd с массивами (с индексом-переменной).
MustLive
25.12.2007 - 00:58
Perl Pas Interpreter v.1.3.6
24.12.2007 v.1.3.6
Добавлена функция inc.
Добавлена функция dec.
Улучшена поддержка арифметических выражений в операторе while.
Улучшена работа оператора div и функции random с массивами (с индексом-переменной).
MustLive
27.01.2008 - 21:28
Perl Pas Interpreter v.1.3.7
25.01.2008 v.1.3.7
Добавлена поддержка функций в циклах while.
Добавлена поддержка вложенных циклов в циклах while. До любого уровня вложенности.
Улучшена поддержка функций в операторе if и цикле for.
Исправлены дебаг надписи в операторе присваивания.
Улучшена робота функций chr и ord с массивами (с индексом-переменной).
MustLive
17.02.2008 - 20:33
Perl Pas Interpreter v.1.4
17.02.2008 v.1.4
Добавлена поддержка циклов repeat until.
В операторе repeat until поддерживаются арифметические выражения.
Ограничение ($loop) действует для циклов repeat until точно также как для меток.
Улучшена работа оператора if с переменными и массивами.
Улучшена работа функций delete, insert и copy с переменными и массивами.
MustLive
23.02.2008 - 00:59
Защитил сегодня свою магисторскую работу на тему "Интерпретатор языков программирования с использованием Интернет-технологий".
Можете ознакомиться с презентацией работы:
Інтерпретатор мов програмування з використанням Інтернет-технологій
MustLive
29.03.2008 - 02:52
Perl Pas Interpreter v.1.4.1
28.03.2008 v.1.4.1
Добавлена поддержка функций в циклах repeat until.
Добавлена поддержка вложенных циклов в циклах repeat until. До любого уровня вложенности.
Улучшена поддержка сложных арифметических выражений.
Улучшена работа функций pred и succ с массивами (с индексом-переменной).
MustLive
29.05.2008 - 23:57
Perl Pas Interpreter v.1.4.2
29.05.2008 v.1.4.2
Добавлена константа e (с 16-битной точностью).
Оптимизирована работа с константами.
Улучшена работа write и writeln с пробелами.
Улучшена работа встроенных функций с пробелами.
MustLive
25.07.2008 - 21:05
Perl Pas Interpreter v.1.4.3
25.07.2008 v.1.4.3
Добавлена поддержка функции div в операторе if.
Исправлена работа функции sqrt в write и writeln.
Улучшена работа write и writeln с действительными числами.
Улучшена работа дебаг-режима в онлайн интерпретаторе.
MustLive
27.09.2008 - 02:22
Perl Pas Interpreter v.1.4.4
26.09.2008 v.1.4.4
Добавлена поддержка функции mod в операторе if.
Добавлена поддержка арифметических выражений в операторе if.
Исправлена работа функции ord в write и writeln.
Улучшена работа функций length и pos с массивами (с индексом-переменной).
MustLive
26.11.2008 - 00:31
Perl Pas Interpreter v.1.4.5
25.11.2008 v.1.4.5
Оптимизирован вывод информации в онлайн и консольной версии.
Улучшена работа оператора присваивания с переменными.
Улучшена работа write и writeln с массивами.
Улучшена работа функций delete и insert с массивами (с индексом-переменной).
MustLive
22.01.2009 - 00:39
Perl Pas Interpreter v.1.4.6
21.01.2009 v.1.4.6
Добавлена возможность включения дэбаг режима в онлайн версии.
Улучшена работа оператора присваивания с массивами (с индексом-переменной).
Исправлена работа write и writeln при наличии в строке больше одной пары скобок.
Улучшена работа функций copy и concat с массивами (с индексом-переменной).
MustLive
22.03.2009 - 00:36
Perl Pas Interpreter v.1.4.7
21.03.2009 v.1.4.7
Добавлена поддержка операторов div и mod в циклах for.
Добавлена поддержка операторов div и mod в циклах while.
Добавлена поддержка операторов div и mod в циклах repeat until.
Исправлена работа write и writeln с функциями.
MustLive
26.03.2009 - 02:53
Perl Pas Interpreter v.1.4.8
25.03.2009 v.1.4.8
Улучшены анти-DoS фильтры.
Добавлена возможность определения некорректного итератора в цикле for.
Добавлена возможность определения бесконечных циклов в циклах while и repeat until.
Введено ограничение на размер строковых данных (255 символов).
Ограничение размера строковых данных добавлено в функции concat и insert.
MustLive
22.05.2009 - 23:56
Perl Pas Interpreter v.1.4.9
22.05.2009 v.1.4.9
Добавлен вывод названия программы (Program) в дебаг режиме.
Улучшена работа div с real числами в операторе присваивания и функциях.
Улучшена работа div с real числами в операторе if.
Улучшена работа write и writeln со сложными выражениями.
MustLive
28.07.2009 - 23:14
Perl Pas Interpreter v.1.4.10
28.07.2009 v.1.4.10
Добавлена возможность в операторе insert добавлять строку в пустую строку.
Добавлено сообщение в дебаг-режиме при ограничении размера строковых данных.
Добавлено ограничение размера строковых данных в функции pos, delete и copy.
Улучшена работа с функциями в операторе if и циклах.
MustLive
30.09.2009 - 02:04
Perl Pas Interpreter v.1.5
29.09.2009 v.1.5
Добавлена поддержка функции log10.
Добавлена поддержка функции log2.
Добавлена поддержка функции logn.
Исправлена ошибка при работе с запятой в строковых переменных.
Улучшена работа с запятыми в write и writeln.
write1n
6.03.2015 - 23:06
Мне понадобилось всего минута чтобы обнаружить элементарный баг интерпретатора паскаля http://mlfun.org.ua/ppi/
Никаких навороченных конструкций и операторов. Все банально просто. Вот такая программа в одну строку:
Код
for i:=1 to 10 do write('12'); writeln('3');
Вывод:
Цитата
12); writeln(312); writeln(312); writeln(312); writeln(312); writeln(312); writeln(312); writeln(312); writeln(312); writeln(312); writeln(3
Перенеся врителн на второю строку - программа выполняется как положено.
Напоминаю: в Паскале разделителем операторов является точка с запятой, а не перевод строки