Skip to content

bojosos/ListFunc-interprter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание на езика.

Инструкции за генериране на проект

В главната директория на проекта

за Visual Studio 2019 проект

vendor\premake5.exe vs2019

или за Makefile

./vendor/premake5 gamek2

Опитах се да направя езика мързелив, но не се получи. Също поради големия брой извиквания на функции stack-overflow-ва доста бързо (с filterPrimes стига само до към 3200).

Безкрайните списъци не са точно безкрайни. Те се съхраняват като начало, стъпка и брой елементи, като макс. брой елементи е MAX_UINT64.

Валидните типове са Int, Float, List, String ("example"), но String може да се използва само като литерал и специален тип null, който функциите write и call връщат.

Също има опция за създаване на модули (library.lfn), като всички дефиниции на фукнции се добавят към сегашния модул, но функции от модула не се извикват. #library -> търси файл library.lfn в сегашната директория или файл със същото име, но в папка lib и го импортва.

Функциите concat, le, eq, add, div, sub, mul, write, writeln позлволяват извикаване с повече от 2 аргумента. Извикването на функции дефинирани от потребителя с повече от нужния брой аргументи също е позволено. Ако по време на оценяването на дадена функция се налага оценката на аргумент оценяването приключва и уведомява потребителя.

Освен задължителните фукнции: Добавена е и фукнцията call за викане на няколко фукнции, която връща null, за да може да се извежда информация във функции. Също функция require, която проверява условие и заедно с клас TestRunner може да бъде използвана за тестване на програми. Имплементирани са още няколко в library.lfn.

В папката lib също се намират и тестовете. Те са написани на самия език, като тества задължителните фукнции, както и тези в library.lfn

При подаване на аргумент на ListFunc ще се изпълни файл с име пръви аргумент, а ако няма аргументи ще пуснe интерпретатора в REPL mode.

Коментари до края на реда могат да се създават с /

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published