Yazoo е от команден ред, тълкува скриптов език, който предвижда предварително изготвена среда за C или C ++ функции & Nbsp;. Един потребител вгражда своите съчетания на езика чрез препратка към тях в една от собствени източници на файлове Yazoo, тогава прекомпилирате Yazoo. Когато Yazoo се управлява, тя ще доведе до командния ред, където потребителят може да се определи и да манипулира променливи, масиви, сценарист функции, четат и пишат на файлове и т.н. - и, внедрена неговите функции. Тъй като се използват само стандартни C библиотеки, Yazoo трябва да работи върху почти всяка платформа.
Yazoo включили е минималистичен афера: класове, комплекти, функции, на аргументите и т.н. всички са едно и също нещо. Простотата на тази схема облекчава кривата на обучение. Но тя също така купува езика много всеобщност - Yazoo позволява много екзотични програмни конструкции, които са рядкост в скриптов език, но се оказаха изключително полезни в ръцете на автора.
Изтеглянето Yazoo се състои от: C / C ++ изходни файлове; на Makefile; етерични ".zoo" скриптове; и документация
Какво ново в тази версия:.
- Bugs фиксиран:
- проблеми, които определят членове прокси докато преоразмеряване на масива; например proxy_array [1] @ :: {}
- "връщане Q" вече работи, когато "Q" е нищожен
- проблем при големи неподписани числа ще се отпечатат като '0'
- отида () може да се заби вътре елементи масив
- read_string () (и ReadTable ()) не може да прочете експоната с знаците плюс (напр 1е + 1)
- проблеми четене и писане на цифри в близост до границата с двойна точност намален поток
- проблем с ReadTable (), когато се опитват да преоразмерите списъци
- проблем с ReadTable (), когато двуизмерен маса има само един елемент
- проблем с помощта SaveTable () с нулеви таблици
- копие () катастрофата, когато първият аргумент е примитивно и вторият аргумент е композитен
- проблем с Go (), които се вмъкнали, когато # оператор е въведен
- случайна катастрофа, когато start.zoo се опита да флаг грешка
- предупредително съобщение по някои компилатори (extrnl.c)
- SaveTable () сега се грижи за това да де-псевдоним маси, ако тя се нарича неправилно
- грешка в SaveTable (), когато премина некомпозитен "маса"
- грешка флаг на грешно място
- едно опасно флаг грешка, когато калкулатора се опита да отпечатате самостоятелно съотнасяне обект
- Подобрения:
- премахна ", като това." префикс при определяне на променливи. Това ще доведе до проблеми в процедурите, които определят променливи със същото име като глобални променливи!
- а =b сега работи, когато б е нищожно. Това означава, че "капан (х)" вече не е начинът за откриване на невалидни членове; използвате ", ако х ==nothing" вместо това.
- добавя "долен поток" предупреждение Runtime код
- добавена котка (), за да user.zoo
- добавена Save (), който се опитва всички пътеки на директория (това е аналогичен на товара ())
- SaveTable () сега се опитва всички пътеки на директория
- добавена LS (), която Отпечатва променливи в текущата директория
- добавена compile_and_do_in (), за да user.zoo
- добавена кръг (), която работи с точност до цяло число
- ускори преоразмеряване на таблици с помощта ReadTable ()
Какво ново във версия 1.4:
- Bugs фиксиран:
- подобрена Run () е регистърът на буквите боравене с имена на файлове, когато run.CleanUp е настроен
- да вярно
- погрешното съобщение за грешка при излизане или връщане от user.zoo
- бъгове в ReadTable (), включващи промяна на размера на таблици
- проблеми в съобщенията за грешки от ReadTable ()
- Подобрения:
- добавена # оператор да замени RunCode (), RunConstructor ()
- добавя ";" и негов заместник, символ на "код"
- Калкулатор подразбиране "за"
- добавите малки букви () / главни букви () функции за user.zoo
- добавена кодове за грешки да ReadTable ()
Какво ново във версия 1.3.1:
- A корекция на дългогодишния бъг, че понякога разби програмата при използване Go ().
- Новият автоматично почистване черта на Run (), също и в последния командироването, е като невъзпроизводимо проблеми и че е възможно, че този бъг-Fix се грижи за това.
- Две подобрения значително повишаване на калкулатора: 1) употребата на спринт (), а не за печат (), и 2) Въвеждането на "АНО" променлива като един често намира в научни-програмни среди .
Какво ново във версия 1.3.0.1:
- Fixed бъг.
Какво ново във версия 1.3:
- Bugs фиксиран:
- потенциално фатален проблем в пренебрегване на нулевата характер в края на start.zoo или друго изходно скрипт
- натоварване () и запишете () бяха небрежно използване на режим ASCII вместо двоичен, което е причинило проблеми на персонални компютри
- още две изтичане на памет и една рефериране грешка (потенциален трети кор. Теч)
- калкулатора не работи в предишната версия
- множество бъгове, свързани с [^ ..], [+ ..], + [..], =! или функция изисква от ляво на дефиниране / приравняваме-в / и др. оператор
- проблеми, когато [+ ..] / + [..] оператори ще приложи към скритите членове
- катастрофи, включващи размер 0 прокси масиви
- проблеми W / регистри калкулатора печат (маскирани като по-рано изчислено. Проблем, но този проблем в предишните версии, както и)
- проблем, който причинени бавно преоразмеряване на големи масиви
- разглобявате () отпечатва грешни имената на променливите на 64-битови машини
- преоразмеряване () сега позволява празнота последен аргумент
- неудобно разглобена грешка, когато видовете & quot потребител; връщат my_array [A, B] & quot; от командния ред
- командния промпт катастрофа след завръщането множество индекси на масив
- проблем отбелязване на грешки по линии, започващи с | ** | -стил коментари
- разглобявате () се разби, когато се дава нулеви скриптове
- Подобрения:
- конфигуриран Yazoo така че може да се вгражда в / ползвана от C код; тичам и рекурсивно отвътре Yazoo
- при изпълняването отново скрипт, тичам () първо изтрива членовете, които го определят за последен път: не повече капан (премахнете ..) необходима
- добавена Go () / хората с увреждания за промяна / гледане променлива работното пространство на командния ред на
- добавя операторите сравнителен анализ: "== @" и "/ = ''
- добавена оператор прокси-определи: "# ::"
- направи натоварване () по-бързо и по-памет-ефективно
- струни печат " D Н" като единен край на линия
- Run () може да се върне в резултат на изявление връщане на скрипт на
- добавена сума (), означава () функции за user.zoo
- добавена Чар (), C_string () функции за user.zoo
- Transform () сега позволява на потребителя да приспособят пътя за търсене на трансформирана код
- хвърляне () може да приспособи местоположението на хвърлени грешка и хвърли предупреждения, както и
- Run () ще позволи на предупреждения в сценария, за да се появят в командния ред (ако приемем, не се намесва капан (), след като предупреждението)
- разглобявате () може да прескочим изрази в компилиран байткод
- заменя RunHobbish () с по-функционална do_in () рутинно в user.zoo
- добавена RunCode () в user.zoo; RunConstructor () сега е специален случай на тази рутина
- последователно четене байткод като slongs
- сега правилно използване на курсора на NULL, а не 0 в кода C
- подобрени някои съобщения за грешка
- Разни:
- променило байткод думите на операторите на съоръженията-вмъкване ([+ ..], + [..]) и да изтриете
- елиминира CheckType () от user.zoo - & quot; капан (а =b) & quot; обикновено е по-добре
- елиминира съществува () от user.zoo - & quot; съществува (& quot; а & quot;) & quot; е до голяма степен излишно с & quot; капан (а) & quot;
Какво ново във версия 1.2:
- The 1.2 версия на Yazoo току-що е бил доставен предсрочно след няколко фатални грешки на 64-битови машини излезе на бял свят през миналата седмица. Yazoo е от команден ред тълкува скриптов език, който потребителят е предназначен да персонализирате чрез вграждането му собствени C или C ++ съчетания на езика. Новостта на Yazoo скрипт е начинът, по правилата, които стоят зад консервативно изглеждащи синтаксис може да се екстраполира за производство на много редки и полезни скриптове конструкции, които авторът не е срещала в други езици.
- The наистина критична промяна в настоящия вариант е премахването на тези предположения за целочислени размери, които предизвикаха незабавни катастрофи. Това е наложило още една съществена корекция: регистъра R_ulong е отишло от неподписан да подписва, а така преименуван R_slong. Преименуването може по принцип да причини проблеми обратна съвместимост, въпреки че за щастие регистъра число рядко има нужда да бъде ползвана изрично. И накрая, по отношение на нещо безинтересно за повечето потребители, но отнема много време за автора, C / C ++ изходните файлове са претърпели стилистични обновяването:. Те съм бил (най-накрая) коментира, и тяхното форматиране е подобрен
- Поради тази червендалест автор бъркани малко да публикувате текущата версия, че е възможно 64-битови грешки се крият още в кодекса. Ако това е така, след това друг, изменен вариант вероятно ще бъде бъде открита в много малко дни, като авторът използва програмата си жадно.
Какво ново във версия 1.1:
- Bugs фиксиран:
- неправилно флаг съобщения за грешки в почти всеки скрипт с inlined константи
- оператор в добавъчен-код ":" не работи правилно в определен контекст, т.е. в рамките на даден оператор на код-смяна
- принудени-приравняваме не копирате елементи на масив в правилния ред, когато множество индекси бяха дадени изрично (например [*] =! ..., ... = В [1, 2])
- числови проблеми при печат на номера в края на двойно-прецизна резолюция
- неправилно под флаг съобщения за грешки следните endif, endf или endw
- грешни Имената на член на грешки държавите-не-открити от файлове, управлявани от user.zoo
- първия брой върнати от случаен () не е съвсем случайна
- копие () не се проверява за самостоятелно препратки
- грешка в SaveTable (), когато второто измерение на една маса е с размери до нула
- подреди () хвърли ненужна грешка за прослужено време, 0 списъци
- погрешен прочит на нулевата коментара "| *** |" с нечетен брой "* е
- Подобрения:
- търсене пътища за нови {} определения сега винаги минават през скрипт, който го определя, не е задължително да сценария обхващащата ***
- добавена Resize (), за да user.zoo
- добавена мин (), макс () функции за user.zoo
- подреди () сега сортира листи, както и таблици
- нова () приема различни променливи източници за тип и данни
- копие () връща код за грешка
- довод проверка за SaveTable ()
Коментари не е намерена