"Денис Гаев. Ксерион: язык и технология программирования" - читать интересную книгу автораописаниях: каждый объект языка должен быть описан только один раз. Многие
часто употребляемые языковые конструкции могут быть записаны более компактно. Активное использование макроопределений let также может значительно "уплотнить" программу (возможно, в ущерб ее понятности). -- переносимость реализации -- один из самых важных аспектов языка. Результатом работы компилятора является внутренний код Ксерион-системы (здесь не описанный). Этот код может быть выполнен в режиме интерпретации с достаточно высокой эффективностью на любой 32-битовой платформе, но ориентирован в основном на трансляцию в машинный код целевого процессора. Лексический состав языка На самом базовом уровне любая Ксерион-программа может рассматриваться просто как поток лексем. Последние подразделяются на: ограничители, разделители и знаки операций, ключевые слова, идентификаторы, литералы и комментарии. В промежутках между лексемами могут присутствовать пробельные символы (пробелы, концы строк и большинство управляющих символов), игнорируемые при компиляции. В том месте, где допустим пробельный символ, всегда может встретиться и комментарий. Комментарии определяются двумя способами: ╖ как (непустая) последовательность символов, ограниченная двумя символами С!'; ╖ как последовательность от двух символов С!' до конца текущей строки. В случае, когда применяются комментарии первого типа, рекомендуется использовать внутри них пару дополнительных скобок ("()","[]","{}","" или что-нибудь в этом роде), чтобы начало и конец комментария легко различались. Вот примеры: !! допустимый комментарий ! и это тоже ... ! !{ но такая форма предпочтительней }! Идентификаторы -- это символические имена, которые имеют все объекты (в широком смысле) языка: переменные, константы, типы данных, функции, классы, макроопределения, метки и пр. К идентификаторам предъявляются практически те же требования, что и в C: это последовательности латинских букв, десятичных цифр и знаков подчеркивания, начинающиеся не с цифры. Как минимум первые 127 символов идентификатора являются значащими; заглавные и строчные буквы различаются. Помимо этого, идентификатор должен отличаться от ключевого слова. Следующие идентификаторы являются ключевыми словами: abstract, alloc, assert bool, break case, char, class, conceal, const, constructor, continue destructor, do, double |
|
|