Опубликован: 19.09.2008 | Доступ: свободный | Студентов: 658 / 70 | Оценка: 4.50 / 5.00 | Длительность: 21:25:00
Лекция 10:

Синтаксический справочник

< Лекция 9 || Лекция 10: 123456 || Лекция 11 >
varid \to (small {small | large | digit | ' })<reservedid>
conid \to large {small | large | digit | ' }
reservedid \to case | class | data | default | deriving | do | else
| if | import | in | infix | infixl | infixr | instance
| let | module | newtype | of | tden | type | where | _
varsym \to ( symbol {symbol | :})<reservedop | dashes>
consym \to (: {symbol | :})<reservedop>
reservedop \to .. | : | :: | = | \ | | | \gets | \to | @ | \sim | \Rightarrow
varid (переменные)
conid (конструкторы)
tyvar \to varid (переменные типов)
tycon \to conid (конструкторы типов)
tycls \to conid (классы типов)
modid \to conid (модули)
qvarid \to [ modid . ] varid
qconid \to [ modid . ] conid
qtycon \to [ modid . ] tycon
qtycls \to [ modid . ] tycls
qvarsym \to [ modid . ] varsym
qconsym \to [ modid . ] consym
decimal \to digit{digit}
octal \to octit{octit}
hexadecimal \to hexit{hexit}
integer \to decimal
| 0o octal | 0O octal
| 0x hexadecimal | 0X hexadecimal
float \to decimal . decimal [exponent]
| decimal exponent
exponent \to (e | E) [+ | -] decimal
char \to ' (graphic<' | \> | space | escape<\&>) '
string \to " {graphic<" | \> | space | escape | gap}"
escape \to \ ( charesc | ascii | decimal | o octal | x hexadecimal )
charesc \to a | b | f | n | r | t | v | \ | " | ' | &
ascii \to ^cntrl | NUL | SOH | STX | ETX | EOT | ENQ | ACK
| BEL | BS | HT | LF | VT | FF | CR | SO | SI | DLE
| DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN
| EM | SUB | ESC | FS | GS | RS | US | SP | DEL
cntrl \to ascLarge | @ | [ | \ | ] | ^ | _
gap \to \ whitechar {whitechar}\

Перевод:

идентификатор-переменной \to (маленькая-буква {маленькая-буква | большая-буква | цифра | ' })<зарезервированный-идентификатор>
идентификатор-конструктора \to большая-буква {маленькая-буква | большая-буква | цифра | ' }
зарезервированный-идентификатор \to case | class | data | default | deriving | do | else
| if | import | in | infix | infixl | infixr | instance
| let | module | newtype | of | tden | type | where | _
символ-переменной \to ( символ {символ | :})<зарезервированный-оператор| тире>
символ-конструктора \to (: {символ | :})< зарезервированный-оператор>
зарезервированный-оператор \to .. | : | :: | = | \ | | | \gets | \to | @ | \sim | \Rightarrow
\to
идентификатор-переменной (переменные)
идентификатор-конструктора (конструкторы)
переменная-типа \to идентификатор-переменной (переменные типов)
конструктор-типа \to идентификатор-конструктора (конструкторы типов)
класс-типа \to идентификатор-конструктора (классы типов)
идентификатор-модуля \to идентификатор-конструктора (модули)
квалифицированный-идентификатор-переменной \to [ идентификатор-модуля . ] идентификатор-переменной
квалифицированный-идентификатор-конструктора \to [идентификатор-модуля . ] идентификатор-конструктора
квалифицированный-конструктор-типа \to [идентификатор-модуля . ] конструктор-типа
квалифицированный-класс-типа \to [идентификатор-модуля . ] класс-типа
квалифицированный-символ-переменной \to [идентификатор-модуля . ] символ-переменной
квалифицированный-символ-конструктора \to [идентификатор-модуля . ] символ-конструктора
десятичный-литерал \to цифра{цифра}
восьмиричный-литерал \to восьмиричная-цифра{восьмиричная-цифра}
шестнадцатиричный-литерал \to шестнадцатиричная-цифра{шестнадцатиричная-цифра}
целый-литерал \to десятичный-литерал
| 0o восьмиричный-литерал | 0O восьмиричный-литерал
| 0x шестнадцатиричный-литерал | 0X шестнадцатиричный-литерал
литерал-с-плавающей-точкой \to десятичный-литерал . десятичный-литерал [экспонента]
| десятичный-литерал экспонента
экспонента \to (e | E) [+ | -] десятичный-литерал
символьный-литерал \to ' (графический-символ<' | \> | пробел | эскейп-символ<\&>) '
строковый-литерал \to " {графический-символ<" | \> | пробел | эскейп-символ | разрыв}"
эскейп-символ \to \ ( символ-эскейп | символ-ascii | десятичный-литерал | o восьмиричный-литерал | x шестнадцатиричный-литерал )
символ-эскейп \to a | b | f | n | r | t | v | \ | " | ' | &
символ-ascii \to ^управляющий-символ | NUL | SOH | STX | ETX | EOT | ENQ | ACK
| BEL | BS | HT | LF | VT | FF | CR | SO | SI | DLE
| DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN
| EM | SUB | ESC | FS | GS | RS | US | SP | DEL
управляющий-символ \to большая-буква-ASCII | @ | [ | \ | ] | ^ | _
разрыв \to \ пробельный-символ {пробельный-символ}\
< Лекция 9 || Лекция 10: 123456 || Лекция 11 >