QuakeC Manual / QuakeC Мануал: 2.Лексические элементы

← →
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Текст программы состоит из одной или нескольких единиц компиляции. Текст каждой компиляции - это последовательность отдельных лексем. Лексема (лексический элемент) - это ограничитель, идентификатор (который может быть зарезервированным словом), числовой литерал, символьный литерал, строковый литерал или комментарий. Результат выполнения программы зависит только от конкретно последовательности лексем, исключая возможные комментарии. В некоторых случаях необходим явный разделитель между соседними лексемами (в противном случае они могут быть восприняты как одна).

railgun 15.03.13 в 19:36

0

Текст компиляции делится на строки. Точка с запятой завершает строку.

railgun 15.03.13 в 19:05

0

В некоторых случаях для разделения соседних лексических элементов необходим явный разделитель. Им может быть символ пробела, символ управления форматом или конец строки, а именно:

railgun 15.03.13 в 19:11

0

Символ пробела является разделителем, кроме комментария, строкового или символьного литерала.

railgun 15.03.13 в 19:19

0

Конец строчки(\n) всегда является разделителем.

railgun 15.03.13 в 19:19

0

Один или несколько разделителей допустимы между любыми двумя соседними лексемами, перед первой или после последней лексемами каждой компиляции. По крайней мере один разделитель необходим между идентификатором или числовым литералом и соседними идентификаторами или числовыми литералами.

railgun 15.03.13 в 19:47

0

2.1. Разделители

railgun 15.03.13 в 19:20

0

Разделителем является один из следующих специальных символов:

railgun 15.03.13 в 19:24

0

& ‘ ( ) * + , - . / : ; < = > | [ ]

railgun 15.03.13 в 19:24

0

или один из следующих разделителей в состав которых входит соединение двух соседних специальных символов:

railgun 15.03.13 в 19:24

0

== != >= <= && ||

railgun 15.03.13 в 19:24

0

Каждый специальный символ является простым ограничителем, за исключением тех случаев, когда он встречается в составном ограничителе, в комментарии, в строковом, символьном или числовом литералах.

railgun 15.03.13 в 20:15

0

2.2. Пробелы

railgun 15.03.13 в 20:10

0

Для улучшения наглядности программы в нее могут вставляться пробелы. По крайней мере, один пробел, требуется вставить между двумя последовательными именами, числами или служебными и стандартными именами. Пробелы нельзя использовать внутри имен и чисел.

railgun 20.03.13 в 18:21

0

Все символы пробела являются разделителями.

railgun 20.03.13 в 18:41

0

2.3. Идентификаторы

railgun 20.03.13 в 17:20

0

Идентификатор является последовательностью одного или более-символов-разделителей.Идентификаторы используются различными способами в QuakeC программах.

railgun 20.03.13 в 17:24

0

*Некоторые идентификаторы зарезервированы для использования в качестве зарезервированных слов, они не должны использоваться в качестве переменных.

railgun 20.03.13 в 17:25

0

*Любой идентификатор, который не является зарезервированным словом может быть использован в качестве идентификатора.

railgun 20.03.13 в 17:36

0

Потенциальный идентификатор представляет собой последовательность не связанных символов-разделителей с максимум 64 символами, начиная с "AZ", "az", или "", и это может продолжаться с этих символов наряду с "0-9". Quake С учитывает регистр.

railgun 20.03.13 в 17:43

0

Имена функций, переменных и полей должны быть уникальными. Например, вы не можете определить переменную с тем же именем, что и поле.

railgun 20.03.13 в 17:45

0

2.4. Литералы

railgun 20.03.13 в 17:46

0

Установленные значения, которые вы буквально (literally) представляете в вашем источнике, и - не переменные.Литерал является либо числовым литералом, или строковым.

railgun 20.03.13 в 17:51

0

2.4.1. Числовые литералы

railgun 20.03.13 в 17:52

0

Real литерал является числовым литералом, который включает точку, integer литерал является числовым литералом без точки.Все числовые значения в QuakeC плавающей точкой.

railgun 20.03.13 в 17:54

0

5

railgun 20.03.13 в 17:54

0

0.2

railgun 20.03.13 в 17:55

0

-25.0

railgun 20.03.13 в 17:55

0

Векторный литерал представляет собой набор из трех real литералов заключенных в одинарные кавычки (').

railgun 20.03.13 в 17:58

0

‘0 0 0’

railgun 20.03.13 в 17:58

0

‘10 –12.5 0.0001’

railgun 20.03.13 в 17:58

0

2.4.2. Строковые литералы

railgun 20.03.13 в 17:59

0

Строковый литерал – это любая последовательность символов, заключенная в двойные кавычки (“) используется в качестве строки скобки.

railgun 20.03.13 в 18:01

0

“Это строка”

railgun 20.03.13 в 18:02

0

“Это строка с переносом на конце\n”

railgun 20.03.13 в 18:04

0

2.4.3. Встроенные функции

railgun 20.03.13 в 18:04

0

Встроенная функция обозначается знаком решетки ("#"), сопровождаемой целым числом.

railgun 20.03.13 в 18:06

0

#1

railgun 20.03.13 в 18:08

0

#12

railgun 20.03.13 в 18:08

0

2.5. Комментарии

railgun 20.03.13 в 18:09

0

Комментарий начинается с двух соседних дефисов и продолжается до конца строчки. Комментарий может помещаться в любой строчке программы. Quake C игнорирует все после двух слешей (//)

railgun 20.03.13 в 18:11

0

Внутри набора символов, который представляет комментарий не может быть специальных символов определяющих начало и конец комментариев, соответственно (/* и */). Отметим, что комментарии могут заменить как одну строку, так и несколько.

railgun 20.03.13 в 18:12

0

// на этой строке следует комментарий

railgun 20.03.13 в 18:12

0

/* комментарии к программе */

railgun 20.03.13 в 18:12

0

2.6. Модель прагма

railgun 20.03.13 в 18:13

0

Вот несколько определений, которые обычно встречаются в QuakeC коде, определяющие поведение анимированных моделей (монстров, игроки и т.д.).Компилятор QuakeC не интерпретирует большую часть такой информации, но она полезна для программы modelgen, которая генерирует модели.

railgun 20.03.13 в 18:14

0

2.6.1. Флаги анимации $flags rotation

railgun 20.03.13 в 18:16

0

Особенность вращения объекта.QuakeC не интерпретирует это поле, но это полезно для программы modelgen ,которая генерирует модели.Возможные значения для $flags: 8(объект будет вращаться как броня и т.п ).Другие значения пока не известны.

railgun 20.03.13 в 18:18

0

2.6.2. База

railgun 20.03.13 в 18:19

0

$base object

railgun 20.03.13 в 18:19

0
Минутку...

Следующая страница →