# MustLive Perl Pascal Programs Interpreter
# Perl Pas Interpreter v.1.5
# (C) MustLive 2006-2009
# mustlive@mlfun.org.ua
# Last updated: 29.09.2009
##########################
# Історія
##########################
29.09.2009 v.1.5
Додана підтримка функції log10.
Додана підтримка функції log2.
Додана підтримка функції logn.
Виправлена помилка при роботі з комою в строкових змінних.
Покращена робота з комами в write та writeln.
28.07.2009 v.1.4.10
Додана можливість в операторі insert додавати рядок в пустий рядок.
Додане повідомлення в дебаг-режимі при обмеженні розміру строкових даних.
Додане обмеження розміру строкових даних в функції pos, delete та copy.
Покращена робота з функціями в операторі if та циклах.
22.05.2009 v.1.4.9
Додане виведення назви програми (Program) в дебаг режимі.
Покращена робота div з real числами в операторі присвоєння і функціях.
Покращена робота div з real числами в операторі if.
Покращена робота write та writeln зі складними виразами.
25.03.2009 v.1.4.8
Покращені анти-DoS фільтри.
Додана можливість визначення некоректного ітератора в циклі for.
Додана можливість визначення нескінченних циклів в циклах while і repeat until.
Введене обмеження на розмір строкових даних (255 символів).
Обмеження розміру строкових даних додане в функції concat та insert.
21.03.2009 v.1.4.7
Додана підтримка операторів div та mod в циклах for.
Додана підтримка операторів div та mod в циклах while.
Додана підтримка операторів div та mod в циклах repeat until.
Виправлена робота write і writeln з функціями.
21.01.2009 v.1.4.6
Додана можливість включення дебаг режиму в онлайн версії.
Покращена робота оператору присвоєння з масивами (з індексом-змінною).
Виправлена робота write і writeln при наявності в рядку більше однієї пари дужок.
Покращена робота функцій copy та concat з масивами (з індексом-змінною).
25.11.2008 v.1.4.5
Оптимізоване виведення інформації в онлайн та консольній версії.
Покращена робота оператора присвоєння зі змінними.
Покращена робота write та writeln з масивами.
Покращена робота функцій delete та insert з масивами (з індексом-змінною).
26.09.2008 v.1.4.4
Додана підтримка функції mod в операторі if.
Додана підтримка арифметичних виразів в операторі if.
Виправлена робота функції ord в write та writeln.
Покращена робота функцій length та pos з масивами (з індексом-змінною).
25.07.2008 v.1.4.3
Додана підтримка функції div в операторі if.
Виправлена робота функції sqrt в write та writeln.
Покращена робота write та writeln з дійсними числами.
Покращена робота дебаг-режиму в онлайн інтерпретаторі.
29.05.2008 v.1.4.2
Додана константа e (з 16-бітною точністю).
Оптимізована робота з константами.
Покращена робота write та writeln з пробілами.
Покращена робота вбудованих функцій з пробілами.
28.03.2008 v.1.4.1
Додана підтримка функцій в циклах repeat until.
Додана підтримка вкладених циклів в циклах repeat until. До будь-якого рівня вкладеності.
Покращена підтримка складних арифметичних виразів.
Покращена робота функцій pred та succ з масивами (з індексом-змінною).
17.02.2008 v.1.4
Додана підтримка циклів repeat until.
В операторі repeat until підтримуються арифметичні вирази.
Обмеження ($loop) дійсне для циклів repeat until так само як для міток.
Покращена робота оператора if зі змінними та масивами.
Покращена робота функцій delete, insert та copy зі змінними та масивами.
25.01.2008 v.1.3.7
Додана підтримка функцій в циклах while.
Додана підтримка вкладених циклів в циклах while. До будь-якого рівня вкладеності.
Покращена підтримка функцій в операторі if та циклі for.
Виправлені дебаг надписи в операторі присвоєння.
Покращена робота функцій chr та ord з масивами (з індексом-змінною).
24.12.2007 v.1.3.6
Додана функція inc.
Додана функція dec.
Покращена підтримка арифметичних виразів в операторі while.
Покращена робота оператора div та функції random з масивами (з індексом-змінною).
23.11.2007 v.1.3.5
Додана підтримка циклів while.
В операторі while підтримуються арифметичні вирази.
Обмеження ($loop) дійсне для циклів while так само як для міток.
Покращена робота оператора div в арифметичних виразах.
Покращена робота функцій frac та odd з масивами (з індексом-змінною).
25.10.2007 v.1.3.4
Додана функція arctan.
Додана підтримка оператора div в write та writeln.
Покращена робота оператора присвоєння з масивами.
Покращена робота функцій exp та ln з масивами (з індексом-змінною).
25.09.2007 v.1.3.3
Додане персонофіковане збереження текста програми (в онлайн інтерпретаторі).
Зроблені кнопки "Прочитати" та "Зберегти". Збереження відбувається в кукіс.
Додана підтримка оператора mod в write та writeln.
Покращена робота функцій round та trunc з масивами (з індексом-змінною).
26.08.2007 v.1.3.2
Додана підтримка функцій в циклах (for).
Додана підтримка вкладених циклів в циклах (for). До будь-якого рівня вкладеності.
Виправлена робота оператора div.
Покращена робота функцій arctan2 та abs з масивами (з індексом-змінною).
29.07.2007 v.1.3.1
Додана підтримка константи pi в операторі присвоєння.
Додана підтримка константи pi в функціях.
Покращена робота оператора for.
Покращена робота функцій tan та cotan з масивами (з індексом-змінною).
26.06.2007 v.1.3
Додана підтримка циклів.
Підтримується цикл for.
Для for підтримується зростаючий (to) та спадаючий (downto) цикли.
В операторі for підтримуються арифметичні вирази.
Обмеження ($loop) дійсне для циклів for так само як для міток.
17.04.2007 v.1.2.10
Додана функція arctan2.
Додана константа pi (з 16-бітною точністю).
Покращена робота оператору присвоєння з масивами (з індексом-змінною).
Покращена робота функцій sin та cos з масивами (з індексом-змінною).
28.02.2007 v.1.2.9
Додана функція tan.
Додана функція cotan.
Виправлена XSS уразливість в функції виводу.
Тепер у функціях Write та Writeln присутній анти XSS фільтр.
05.12.2006 v.1.2.8
Покращена робота зі строковим типом даних.
Додана функція copy.
Додана функція concat.
Покращена робота форматів виводу з масивами (з індексом-змінною).
30.09.2006 v.1.2.7
Додана кнопка очищення поля текста програми (в онлайн інтерпретаторі).
Додана функція delete.
Додана функція insert.
Покращена робота read та readln з масивами (з індексом-змінною).
26.08.2006 v.1.2.6
Покращена робота зі строковим типом даних.
Додана функція length.
Додана функція pos.
Виправлена помилка в функціях ord, pred та succ.
17.07.2006 v.1.2.5
В операторі if додана підтримка функцій.
Додана підтримка pred та succ.
Виправлена помилка при роботі з коментарями.
Покращена робота write та writeln зі складними виразами.
02.07.2006 v.1.2.4
Покращена в онлайн версії робота з оператором "<>" (покращена фільтрація).
Додана підтримка ord.
Покращена робота write та writeln з масивами (з індексом-змінною).
Покращена обробка складних виразів (які включають масиви з індексом-змінною).
16.06.2006 v.1.2.3
Виправлена робота оператора if (коли не спрацьовувала умова).
Покращена робота в операторі if з числами з плаваючою крапкою.
В операторі if додана підтримка масивів.
В операторі if розширив синтаксис: тепер можна використовувати пробіли та дужки.
Покращена робота з коментарями.
09.06.2006 v.1.2.2
Оптимізував код програми.
В результаті оптимізації, час пошуку міток покращився на 16,12%, а час інтерпретації - на 37,6%.
Додана можливість тестування швидкодії інтерпритації програми: ключ -t який включає тест швидкодії.
Додана опція в інтерпретаторі $show_test.
Покращена робота з мітками.
02.06.2006 v.1.2.1
Додане обмеження на цикли (для goto). Як для консольної так і онлайн версії.
Обмеження ($loop) на цикли для однієї мітки = 1000.
Виправлена робота goto: тепер працює goto на мітку, встановлену в першому рядку програми.
Відкрита тема на форумі для обговорення програми.
24.05.2006 v.1.2
Зроблена онлайн версія інтерпретатора.
Тепер існує дві версії програми: консольна і онлайн.
В результаті цього був перероблений і оптимізований програмний код.
Особливості онлайн версії відображені в Описі програми.
19.05.2006 v.1.1.4
Доданий дебаг режим - ключ -d який включає виведення дебаг повідомлень.
По замовчуванню повідомлення не виводяться. Додана опція в інтерпритаторі $show_debug.
Додана підтримка форматів виводу (в write та writeln).
12.05.2006 v.1.1.3
Підтримка змінних в індексі масива.
Доданий заголовок програми.
Покращена робота зі складними виразами в write та writeln.
05.05.2006 v.1.1.2
Стандартні функції та математичні вирази в write та writeln.
Масиви та змінні в стандартних функціях.
Оптимізована робота write та writeln.
28.04.2006 v.1.1.1
В read та readln зчитування одразу декількох змінних або масивів.
Підтримка frac, odd, chr.
21.04.2006 v.1.1
Підтримка масивів.
В write та writeln будь-яка кількість змінних або масивів.
17.03-14.04.2006 v.1.0.1 - 1.0.10
Базовий функціонал. Підтримка основних операторів та функцій Паскалю.
10.03.2006 v.1.0
Перша версія інтерпритатору.
Інтерпретатор та Опис програми.
Copyright © 2006-2009 MustLive. Всі права захищені.