Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: MustLive Perl Pascal Programs Interpreter
Flash Zone Forum > Flash Zone Team > MustLive/BPG Collections of Fun - Коллекции приколов > MustLive Security
MustLive
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
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
Perl Pas Interpreter v.1.2.2
09.06.2006 v.1.2.2

Оптимизировал код программы.
В результате оптимизации, время поиска меток улучшилось на 16,12%, а время интерпретации - на 37,6%.
Добавлена возможность тестирования быстродействия интерпритации программы: ключ -t что включает тест быстродействия.
Добавлена опция в интерпретаторе $show_test.
Улучшена работа с метками.
tiHo
 интересненько, правда я в нем неособо рублю, а точнее вообще нерублю.

PS. слово РУБЛЮ неимеет никакого отношения к денежной единице РФ.
MustLive
Саша, при желании Паскаль можно выучить wink.gif

Но в данном случае мой проект расчитан на учеников, студентов и препадавателей - всех тех, кто сталкивается с Паскалем в своей деятельности. Вот если ты в учебном процессе столкнёшся с Паскалем - вот и придётся его выучить и програмить на нём.

И вот для всех тех, кто с ним имеет дело - для вас пригодится мой новый проект - Онлайновый интерпретатор Паскаля. С ним ваше изучение и программирование на Паскале станет легче и интересней.
MustLive
Perl Pas Interpreter v.1.2.3
16.06.2006 v.1.2.3

Выправленная работа оператора if (когда не срабатывало условие).
Улучшена работа в операторе if с числами с плавающей точкой.
В операторе if добавлена поддержка массивов.
В операторе if расширил синтаксис: теперь можно использовать пробелы и скобки.
Улучшена работа с комментариями.
MustLive
Perl Pas Interpreter v.1.2.4
02.07.2006 v.1.2.4

Улучшена в онлайн версии работа с оператором "<>" (улучшена фильтрация).
Добавлена поддержка ord.
Улучшена робота wrіte и wrіteln с массивами (с индексом-переменной).
Улучшена обработка сложных выражений (которые включают массивы с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.2.5
17.07.2006 v.1.2.5

В операторе if добавлена поддержка функций.
Добавлена поддержка pred и succ.
Исправлена ошибка при работе с комментариями.
Улучшена работа write и writeln со сложными выражениями.
MustLive
Perl Pas Interpreter v.1.2.6
26.08.2006 v.1.2.6

Улучшена работа со строковым типом данных.
Добавлена функция length.
Добавлена функция pos.
Исправлена ошибка в функциях ord, pred и succ.
MustLive
Perl Pas Interpreter v.1.2.7
30.09.2006 v.1.2.7

Добавлена кнопка очищения поля текста программы (в онлайн интерпретаторе).
Добавлена функция delete.
Добавлена функция insert.
Улучшена работа read и readln с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.2.8
05.12.2006 v.1.2.8

Улучшена работа со строковым типом данных.
Добавлена функция copy.
Добавлена функция concat.
Улучшена робота форматов вывода с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.2.9
28.02.2007 v.1.2.9

Добавлена функция tan.
Добавлена функция cotan.
Исправлена XSS уязвимость в функции вывода.
Теперь в функциях Write и Writeln присутствует анти XSS фильтр.
MustLive
Perl Pas Interpreter v.1.2.10
17.04.2007 v.1.2.10

Добавлена функция arctan2.
Добавлена константа pi (с 16-битной точностью).
Улучшена работа оператора присваивания с массивами (с индексом-переменной).
Улучшена работа функций sin и cos с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.3
26.06.2007 v.1.3

Добавлена поддержка циклов.
Поддерживается цикл for.
Для for поддерживаются возрастающий (to) и ниспадающий (downto) циклы.
В операторе for поддерживаются арифметические выражения.
Ограничение ($loop) действует для циклов for точно также как для меток.
MustLive
Perl Pas Interpreter v.1.3.1
29.07.2007 v.1.3.1

Добавлена поддержка константы pi в операторе присваивания.
Добавлена поддержка константы pi в функциях.
Улучшена работа оператора for.
Улучшена работа функций tan и cotan с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.3.2
26.08.2007 v.1.3.2

Добавлена поддержка функций в циклах (for).
Добавлена поддержка вложенных циклов в циклах (for). До любого уровня вложенности.
Исправлена работа оператора div.
Улучшена работа функций arctan2 и abs с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.3.3
25.09.2007 v.1.3.3

Добавлено персонофицированное сохранение текста программы (в онлайн интерпретаторе).
Сделаны кнопки "Прочитать" и "Сохранить". Сохранение происходит в кукис.
Добавлена поддержка оператора mod в write и writeln.
Улучшена работа функций round и trunc с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.3.4
25.10.2007 v.1.3.4

Добавлена функция arctan.
Добавлена поддержка оператора div в write и writeln.
Улучшена работа оператора присваивания с массивами.
Улучшена работа функций exp и ln с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.3.5
23.11.2007 v.1.3.5

Добавлена поддержка циклов while.
В операторе while поддерживаются арифметические выражения.
Ограничение ($loop) действительно для циклов while точно также как для меток.
Улучшена работа оператора div в арифметических выражениях.
Улучшена работа функций frac и odd с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.3.6
24.12.2007 v.1.3.6

Добавлена функция inc.
Добавлена функция dec.
Улучшена поддержка арифметических выражений в операторе while.
Улучшена работа оператора div и функции random с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.3.7
25.01.2008 v.1.3.7

Добавлена поддержка функций в циклах while.
Добавлена поддержка вложенных циклов в циклах while. До любого уровня вложенности.
Улучшена поддержка функций в операторе if и цикле for.
Исправлены дебаг надписи в операторе присваивания.
Улучшена робота функций chr и ord с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.4
17.02.2008 v.1.4

Добавлена поддержка циклов repeat until.
В операторе repeat until поддерживаются арифметические выражения.
Ограничение ($loop) действует для циклов repeat until точно также как для меток.
Улучшена работа оператора if с переменными и массивами.
Улучшена работа функций delete, insert и copy с переменными и массивами.
MustLive
Защитил сегодня свою магисторскую работу на тему "Интерпретатор языков программирования с использованием Интернет-технологий".

Можете ознакомиться с презентацией работы:

Інтерпретатор мов програмування з використанням Інтернет-технологій
MustLive
Perl Pas Interpreter v.1.4.1
28.03.2008 v.1.4.1

Добавлена поддержка функций в циклах repeat until.
Добавлена поддержка вложенных циклов в циклах repeat until. До любого уровня вложенности.
Улучшена поддержка сложных арифметических выражений.
Улучшена работа функций pred и succ с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.4.2
29.05.2008 v.1.4.2

Добавлена константа e (с 16-битной точностью).
Оптимизирована работа с константами.
Улучшена работа write и writeln с пробелами.
Улучшена работа встроенных функций с пробелами.
MustLive
Perl Pas Interpreter v.1.4.3
25.07.2008 v.1.4.3

Добавлена поддержка функции div в операторе if.
Исправлена работа функции sqrt в write и writeln.
Улучшена работа write и writeln с действительными числами.
Улучшена работа дебаг-режима в онлайн интерпретаторе.
MustLive
Perl Pas Interpreter v.1.4.4
26.09.2008 v.1.4.4

Добавлена поддержка функции mod в операторе if.
Добавлена поддержка арифметических выражений в операторе if.
Исправлена работа функции ord в write и writeln.
Улучшена работа функций length и pos с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.4.5
25.11.2008 v.1.4.5

Оптимизирован вывод информации в онлайн и консольной версии.
Улучшена работа оператора присваивания с переменными.
Улучшена работа write и writeln с массивами.
Улучшена работа функций delete и insert с массивами (с индексом-переменной).
MustLive
Perl Pas Interpreter v.1.4.6
21.01.2009 v.1.4.6

Добавлена возможность включения дэбаг режима в онлайн версии.
Улучшена работа оператора присваивания с массивами (с индексом-переменной).
Исправлена работа write и writeln при наличии в строке больше одной пары скобок.
Улучшена работа функций copy и concat с массивами (с индексом-переменной).
MustLive
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
Perl Pas Interpreter v.1.4.8
25.03.2009 v.1.4.8

Улучшены анти-DoS фильтры.
Добавлена возможность определения некорректного итератора в цикле for.
Добавлена возможность определения бесконечных циклов в циклах while и repeat until.
Введено ограничение на размер строковых данных (255 символов).
Ограничение размера строковых данных добавлено в функции concat и insert.
MustLive
Perl Pas Interpreter v.1.4.9
22.05.2009 v.1.4.9

Добавлен вывод названия программы (Program) в дебаг режиме.
Улучшена работа div с real числами в операторе присваивания и функциях.
Улучшена работа div с real числами в операторе if.
Улучшена работа write и writeln со сложными выражениями.
MustLive
Perl Pas Interpreter v.1.4.10
28.07.2009 v.1.4.10

Добавлена возможность в операторе insert добавлять строку в пустую строку.
Добавлено сообщение в дебаг-режиме при ограничении размера строковых данных.
Добавлено ограничение размера строковых данных в функции pos, delete и copy.
Улучшена работа с функциями в операторе if и циклах.
MustLive
Perl Pas Interpreter v.1.5
29.09.2009 v.1.5

Добавлена поддержка функции log10.
Добавлена поддержка функции log2.
Добавлена поддержка функции logn.
Исправлена ошибка при работе с запятой в строковых переменных.
Улучшена работа с запятыми в write и writeln.
write1n
Мне понадобилось всего минута чтобы обнаружить элементарный баг интерпретатора паскаля 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


Перенеся врителн на второю строку - программа выполняется как положено.
Напоминаю: в Паскале разделителем операторов является точка с запятой, а не перевод строки  blink.gif
Русская версия IP.Board © 2001-2016 IPS, Inc.