Язу є командного рядка, інтерпретована мова сценаріїв, який забезпечує готову середовище для C або C ++ функцій і NBSP ;. Користувач вставляє свої власні процедури на мову, посилаючись їх в одному з власних вихідних файлів Yazoo, а потім перекомпілювати Язу. Коли Язу виконується, вона принесе командний рядок, де користувач може визначити і управляти змінними, масиви, скріптові функції, читати і записувати файли, і т.д. - і, зателефонуйте його вбудовані функції. Так, використовуються тільки стандартні бібліотеки C, Язу повинні працювати на будь-якій платформі.
Язу сценаріїв мінімалістський справа: класи, набори, функції, аргументи функцій і т.д., все те ж саме. Простота цієї схеми полегшує процес навчання. Але це також купує мові багато спільності - Язу дозволяє багато екзотичних конструкцій програмування, які є рідкісними на мові сценаріїв, але виявилися надзвичайно корисними в руках автора.
Язу скачати складається з: C / C ++ вихідних файлів; Makefile; основні ".zoo" скрипти; і документація
Що нового У цьому випуску :.
- Виправлені помилки:
- проблеми, що визначають користувачів проксі при зміні розміру масиву; наприклад proxy_array [+1] @ :: {}
- "повернення Q 'тепер працює при' Q 'є нікчемним
- проблема, де великі цілі числа без знака буде друкувати як '0'
- перейти () може застрягти всередині елементів масиву
- read_string () (і ReadTable ()) не міг прочитати показники зі знаком плюс знаки (наприклад, 1e + 1)
- проблеми читання і письма чисел, близьких до подвійної точності межі для нижнього
- Проблема з ReadTable () при спробі змінити розмір списків
- Проблема з ReadTable (), коли двовимірна таблиця має тільки один елемент
- проблеми за допомогою SaveTable () з нульовими таблиць
- Copy () збій при Першим аргументом була примітивною і другий аргумент був композитний
- Проблема з ходу (), яка закралася, коли був введений оператор #
- випадкове крах, коли start.zoo намагався прапором помилку
- застережливе повідомлення при деяких компіляторів (extrnl.c)
- SaveTable () тепер робить, що де-псевдонім таблиць, якщо це називається неправильно
- помилки в SaveTable (), коли був прийнятий несоставних "таблиці"
- помилки позначаються на неправильному місці
- ніяково прапором помилка при калькулятор намагалися роздрукувати автореферентності об'єкт
- Покращення:
- видалити "це". префікс при визначенні змінних. Це може викликати проблеми в процедурах, які визначають змінні з таким же ім'ям, як глобальних змінних!
- = b тепер працює, коли б, є нікчемним. Це не означає, що «пастка (х) 'більше не буде спосіб виявлення пустот членів; використовувати «Якщо х == nothing" замість цього.
- Додана "згущеного" попередження під час виконання коду
- додав кіт (), щоб user.zoo
- додав Save (), яка намагається всі шляхи до каталогів (це аналогічно Load ())
- SaveTable () тепер намагається всі шляхи до каталогів
- додав Ls (), яка виводить змінні в поточному каталозі
- додав compile_and_do_in (), щоб user.zoo
- додав круглі (), який працює до найближчого цілого числа
- прискорило зміни розміру таблиці, використовуючи ReadTable ()
Що нового у версії 1.4:
- Виправлені помилки:
- покращилася Run () 'и чутливі до регістру обробки імен файлів при run.CleanUp встановлений
- , щоб вірно
- помилковим Повідомлення про помилку при виході або повернення з user.zoo
- помилки в ReadTable () за участю зміни розміру таблиці
- проблеми в повідомленнях про помилки від ReadTable ()
- Покращення:
- додав оператор #, щоб замінити RunCode (), RunConstructor ()
- додав ';' в якості альтернативного символу для «Кодекс»
- калькулятор за замовчуванням "на"
- додати в нижньому регістрі () / верхній регістр () для user.zoo
- , додані коди помилок ReadTable ()
Що нового у версії 1.3.1:
- фікс давньою помилки, які іноді розбився програми при використанні Go ().
- Нова функція автоматичного очищення особливістю Run (), а також представив в минулому розміщення, був з невоспроизводимость проблеми і цілком можливо, що це помилка, виправлення піклується про те, що занадто.
- два удосконалення значно підвищити калькулятор: 1) його використання спринті () замість Print (), і 2) введення змінну, наприклад, один часто знаходить в науково-середовищах програмування "ANS.
Що нового у версії 1.3.0.1:
- Fixed помилку.
Що нового у версії 1.3:
- Виправлені помилки:
- потенційно фатальною проблемою зневаги нульовий символ в кінці start.zoo або інші вихідні скрипт
- Load () і Save () недбало, використовуючи режим ASCII, а не бінарне, що викликало проблеми на комп'ютерах
- ще два витоку пам'яті і одна помилка посилань (потенціал 3 MEM. Витік)
- калькулятор не працюють у попередній версії
- кілька помилок, пов'язаних [^ ..], [+ ..] + [..] =! або виклики функцій зліва визначити / прирівнюють-на / т. Оператор
- проблеми, де [+ ..] / + [..] оператори будуть додавати до прихованих членів
- ДТП за участю розмір-0 проксі масиви
- проблеми ж / регістрів калькулятор друку (маскується раніше Calc. Проблеми, але ця проблема в попередніх версіях, а)
- проблема, яка привела повільний зміна розмірів великих масивів даних
- розбирати () друкуються неправильно імена змінних на 64-розрядних машинах
- розмір () тепер дозволяє недійсними останній аргумент
- ніяково розібрати помилки, коли користувач та Quot; повернутися my_array [а, Ь] і Quot; з командного рядка
- у командному рядку крах після повернення кілька індексів з масиву
- проблема маркування помилки на рядки, що починаються з | ** | стилі коментарі
- розбирати () розбився при введенні NULL скрипти
- Покращення:
- налаштований Язу тому він може бути вбудований в / викликається C коду; Також проводиться рекурсивно зсередини Язу
- на повторний запуск сценарію, Run () спочатку видаляє членів його певні останній раз: не більше пастка (видалити ..) необхідно
- додані Перейти () / пароль для зміни / перегляду змінна робочого простору в командному рядку в
- Додані оператори посилання порівняння: '== @' і '/ = @
- додали проксі-визначити оператора: "# :: '
- зроблено навантаження () швидше і більш ефективно використовує пам'ять
- Рядки друку ' 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:
- версія Yazoo 1.2 тільки що був доставлений дострокове після число смертельних помилок на 64-бітних машин з'явилося на світ минулого тижня. Язу є командного рядка інтерпретована мова сценаріїв, який користувач призначена для налаштування шляхом вкладення власних C або C ++ процедури в мові. Новизна Язу сценарію так, що правила за її консервативної вид синтаксису можуть бути екстрапольовані для отримання багатьох рідкісних і корисних конструкцій сценаріїв, які автор не зустрічав на інших мовах.
- насправді критична зміни в цій версії був видалення цих припущень про цілих розмірів, що викликало негайне аварій. Це зумовило необхідність в ще істотного коректування: регістр R_ulong пройшов шлях від знака до підписаний, і так перейменували R_slong. Перейменування може в принципі привести до проблем зворотної сумісності, хоча, на щастя число Реєстрація потрібна в рідких випадках викликається явно. Нарешті, що стосується щось нецікаве для більшості користувачів, але часу для автора, C / C ++ вихідні файли піддалися стилістичної поновлення :. Вони були в (нарешті) прокоментував, і їх форматування була покращена
- Тому що це червонолиций автор піднявся трохи, щоб розміщувати поточний реліз, цілком можливо, що 64-бітові помилки ховаються ще в коді. Якщо це так, то інший, змінений варіант, ймовірно, матиме майбутній в дуже небагатьох днів, коли автор використовує свою програму в жадібно.
Що нового у версії 1.1:
- Виправлені помилки:
- неправильно прапором повідомлення про помилки в майже будь-якому сценарії за допомогою вбудованого констант
- конкатенуються код оператора ':' не працює належним чином в певних контекстах, наприклад, в код оператора-замісної
- примусового прирівняти не копіювати елементи масиву в правильному порядку, коли кілька індекси даного явно (наприклад, [*]! = ... ... = B [1, 2])
- : числові проблеми при друку чисел на краю резолюції подвійної точності
- неправильно, плаваючі під прапором повідомлення про помилки наступні EndIf, ENDF або endw
- неправильні імена членів до помилок членів, а не набута з файлів у веденні user.zoo
- перший номер повернувся випадковим () не випадково, так
- Copy () не перевірити самостійно посилань
- помилки в SaveTable (), коли другий вимір таблиці було доведено до нуля
- Сортувати () кинув непотрібний помилку для довжини 0 списках
- неправильне нульового коментар »| *** | 'з непарним числом' * 'а,
- Покращення:
- шляхи пошуку нових {} визначень тепер завжди йти за сценарієм, який визначив його, не обов'язково скрипт вшита ***
- , додані розміру (), щоб user.zoo
- додав хв (), MAX () функції для user.zoo
- Сортувати () тепер сортує списки, а також таблиці
- New () приймає різні змінні вихідним кодом для типу та даних
- Copy () повертає код помилки
- краще перевірки SaveTable () аргумент
Коментар не знайдено