Компилатор ГАЗ

Брат ми беше на 9 години и много искаше да се научи да програмира. Дълго мислих какво да му предложа. Повечето започнаха с Turbo Pascal. Но тъй като взехме компилатори през нашата втора година на първенство, реших да напиша свой собствен компилатор.

Предполагаше се, че компилацията ще влезе в байт код, който след това ще бъде изпълнен от виртуалната машина. Езикът трябваше да бъде подобен на Turbo Pascal, само че по-прост.

В процеса на писане се увлякох твърде много и резултатът не беше точно това, което първоначално беше замислено (език за програмиране за изучаване). Не, синтаксисът на езика е изключително прост, това е наред. Напълно възможно е да го използвате за обучение, но има два недостатъка:

1) Няма литература за учене. Има само списък с файлове с примери. 2) Мисля, че някои характеристики на езика, като например свободно писане, не са добри за първи език за програмиране.

Резултатът беше език, подобен на 1C, който самият аз започнах да използвам за автоматизиране на операции на компютър. И съответно го „напълнете“ с нови, мислими и немислими функции.

Най-простата програма GAZ изглежда така:

За да стартирате приложението, трябва да изтеглите най-новата версия на компилатора GAZ от страницата www.osinavi.ru/gaz (в момента версия 2.47), след което да инсталирате с помощта на файла install.bat в архива. След това можете да създадете файл с разширение gaz на работния плот, да напишете текста на програмата в него, да го запишете и след това да го стартирате с двойно щракване. Тоест всичко е подобно на файлове като pl, php, py, bat, vbs и т.н.

Забележка: архивът съдържа изпълнимия файл nod32krt.exe. Този файл няма нищо общо с вируси иантивируси. Сайта е сериозен и не разпространявам троянски коне. Исторически така се случи, че наистина исках да скрия някои процеси в диспечера на задачите от очите на властите. Дори написах специална програма на езика на GAZ. Но повече за това по-късно.

Забележка 2: Ако просто искате да тествате възможностите на компилатора, НЕ е необходимо да изтегляте и инсталирате SuperGAZ. Заедно с компилатора GAZ инсталира куп други неща и не всеки може да го хареса (въпреки че по принцип няма нищо криминално). Просто изтеглете GAZ версия 2.47. Но някои примери, доставени с компилатора GAZ, като фотоконвертора, няма да работят поради липсата на SuperGAZ.

Когато е инсталиран, компилаторът GAZ регистрира разширенията gaz, bnz, за да работи с компилатора, добавя пътя към променливата на средата path и всъщност копира файловете на самия компилатор. Това по принцип е подобно на инсталирането на Perl.

Основни характеристики на езика GAZ:

Основните характеристики на компилатора GAZ:

- методи за работа с файлове и папки (всъщност това се използва най-често) - математически функции - методи за работа с низове - обработка на изключения, хвърляне на изключения - диалози за въвеждане на номер, избор на файл, папка и др. - работа с процеси и прозорци, скриване на прозорци - стартиране на приложения, изключване на приложения (KillProcess) - работа с горещи клавиши - управление на показалец на мишката — работа с Firebird DBMS — работа с регулярни изрази — работа с потоци — възможност за добавяне на произволна програма за автоматично зареждане с помощта на процедурата AddProgramToAutoload — работа с клипборда — възможна е компилация в exe — възможно е създаване на конзолни програми, възможно е пренасочванеизход във файл и т.н.

Ще дам пример за по-сложна, но не прекалено сложна програма, за да демонстрирам възможностите на компилатора.

Има ситуации, когато трябва да изтриете всички файлове от дадена папка. Но Windows не го прави. Би било хубаво, ако той не изтри всички файлове. но само тези, които могат! Тази програма ще направи точно това:

Ето още една програма за изчисляване на алкохола в кръвта:

Няма да публикувам по-сложни проекти, състоящи се от няколкостотин реда код, защото това ще увеличи размера на статията твърде много. Но мога да го пратя на всеки, който се интересува.