MustLive Perl Pascal Programs Interpreter
Perl Pas Interpreter v.1.4.5
# MustLive Perl Pascal Programs Interpreter
# Perl Pas Interpreter v.1.4.5
# (C) MustLive 2006-2008
# mustlive@mlfun.org.ua
# Last updated: 25.11.2008
##########################
# Опис програми
##########################
Програма являє собою інтерпретатор Паскаля на Перлі.
Програма існує в двох версіях: консольний інтерпретатор і онлайн.
Онлайн версія інтерпретатора: http://mlfun.org.ua/ppi/
Додаткова інформація про програму: http://mlbpg.narod.ru/ml_ppi.html
Обговорення програми на форумі: http://flashzone.ru/forum/index.php?showtopic=554
Консольний інтерпретатор:
Програмі передається в якості аргументу файл з текстом програми на Паскалі, яку вона інтерпретує.
Запуск програми:
perl ppi.pl [-d] [-t] filename
-d - show debug messages (optional)
-t - show speed test (optional)
Наприклад:
perl ppi.pl test.pas
Налагодження (дебаг):
В програмі передбачений дебаг режим: ключ -d який включає виведення дебаг повідомлень.
По замовчуванню повідомлення не виводяться. Також існує опція в інтерпретаторі $show_debug.
Тестування швидкодії (speed test):
В програмі передбачене тестування швидкодії інтерпритації програми: ключ -t який включає тестування швидкодії. По замовчуванню тестування не виконується і повідомлення не виводяться. Також існує опція в інтерпретаторі $show_test.
При тестуванні виводиться час відкриття файлу, пошуку міток, інтерпритації та загальний час виконання.
perl ppi.pl -t test_speed.pas
Open file time: 0.703 sec.
Find label time: 0.0940000000000001 sec.
test
Interpreter time: 0.093 sec.
Total time: 0.89 sec.
Програма підтримує:
- write
- writeln
- "пустий" writeln (пустий рядок)
- read
- readln
- "пустий" readln (пустий рядок)
- змінні
- масиви
- змінні в write та writeln
- масиви в write та writeln
- в write та writeln будь-яка кількість змінних або масивів
- в read та readln зчитування одразу декількох змінних або масивів
- змінні в індексі масива
- оператор присвоєння:
- присвоєння змінним або масивам числові значення
- присвоєння змінним або масивам символьні та строкові значення
- присвоєння змінним або масивам значення інших змінних або масивів (переприсвоєння)
- цілі числа та числа з плаваючою крапкою (integer, real)
- символи та строки (char, string)
- математичні операції (+ - * /)
- sqr
- sqrt
- операція взяття в степінь (^ - як в Basic)
- power function (взяття в степінь, як в Delphi)
- дужки (в математичних виразах)
- вирішення математичного виразу з будь-якою кількістю операторів (та дужок)
- div
- mod
- round
- trunc
- тригонометрію:
- sin
- cos
- tan
- cotan
- arctan
- arctan2
- коментарі (в одному рядку)
- усі види символів коментарів: { } (* *) /* */
- мітки (labels)
- goto
- умовний оператор:
- операції відношення = > < >= <= <>
- ключові слова Паскаля можуть бути записані в будь-якому рeгістрі
- abs
- exp
- ln
- randomize
- random
- frac
- odd
- chr
- масиви та змінні в стандартних функціях
- стандартні функції та математичні вирази в write та writeln
- формати виводу (в write та writeln)
- ord
- pred
- succ
- строкові функції:
- length
- pos
- delete
- insert
- copy
- concat
- константа pi
- константа e
- оператор циклу:
- for (to та downto)
- while
- repeat until
- вкладені цикли
- inc
- dec
Особливості онлайн версії:
- модифіковане, веб-орієнтоване, виведення даних (writeln): замість "\n" - "<br>\n"
- не працює введення даних (read та readln)
- дебаг повідомлення не виводяться ($show_debug = 0)
- тестування швидкодії не виконується ($show_test = 0)
Настройки програми:
- $show_debug - включає виведення дебаг повідомлень
- $show_test - включає тестування швидкодії інтерпретації програми
- $loop - задає максимум циклів для однієї мітки
Інтерпретатор та Історія версій.
Copyright © 2006-2008 MustLive. Всі права захищені.