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

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

< Лекция 9 || Лекция 10: 123456 || Лекция 11 >
pat \to var + integer (образец упорядочивания)
| pat0
pati \to pati+1 [qconop(n,i) pati+1]
| lpati
| rpati
lpati \to (lpati | pati+1) qconop(l,i) pati+1
lpat6 \to - (integer | float) (отрицательный литерал)
rpati \to pati+1 qconop(r,i) (rpati | pati+1)
pat10 \to apat
| gcon apat1 ... apatk (число аргументов конструктора gcon = k, k>=1 )

Перевод:

образец \to переменная + целый-литерал (образец упорядочивания)
| образец0
образецi \to образецi+1 [квалифицированный-оператор-конструктора(n,i) образецi+1]
| левый-образецi
| правый-образецi
левый-образецi \to (левый-образецi | образецi+1) квалифицированный-оператор-конструктора(l,i) образецi+1
левый-образец6 \to - (целый-литерал | литерал-с-плавающей-точкой) (отрицательный литерал)
правый-образецi \to образецi+1 квалифицированный-оператор-конструктора(r,i) (правый-образецi | образецi+1)
образец10 \to такой-как-образец
| общий-конструктор такой-как-образец1 ... такой-как-образецk (число аргументов конструктора gcon = k, k>=1 )
apat \to var [@ apat] ("такой как"-образец)
| gcon (число аргументов конструктора gcon = 0 )
| qcon { fpat1 , ... , fpatk } (именованный образец, k>=0 )
| literal
| _ (любые символы)
| ( pat ) (образец в скобках)
| ( pat1 , ... , patk ) (образец кортежа, k>=2 )
| [ pat1 , ... , patk ] (образец списка, k>=1 )
| ~ apat (неопровержимый образец)
fpat \to qvar = pat

Перевод:

такой-как-образец \to переменная [@ такой-как-образец] ("такой как"-образец)
| общий-конструктор (число аргументов конструктора gcon = 0 )
| квалифицированный-конструктор { образец-с-именем1 , ... , образец-с-именемk } (именованный образец, k>=0 )
| литерал
| _ (любые символы)
| ( образец ) (образец в скобках)
| ( образец1 , ... , образецk ) (образец кортежа, k>=2 )
| [ образец1 , ... , образецk ] (образец списка, k>=1 )
| \sim такой-как-образец (неопровержимый образец)
образец-с-именем \to квалифицированная-переменная = образец
gcon \to ()
| []
| (,{,})
| qcon
var \to varid | ( varsym ) (переменная)
qvar \to qvarid | ( qvarsym ) (квалифицированная переменная)
con \to conid | ( consym ) (конструктор)
qcon \to qconid | ( gconsym ) (квалифицированный конструктор)
varop \to varsym | &apos;varid &apos; (оператор переменной)
qvarop \to qvarsym | &apos;qvarid &apos; (квалифицированный оператор переменной)
conop \to consym | &apos;conid &apos; (оператор конструктора)
qconop \to gconsym | &apos;qconid &apos; (квалифицированный оператор конструктора)
op \to varop | conop (оператор)
qop \to qvarop | qconop (квалифицированный оператор)
gconsym \to : | qconsym

Перевод:

общий-конструктор \to ()
| []
| (,{,})
| квалифицированный-конструктор
переменная \to идентификатор-переменной | ( символ-переменной ) (переменная)
квалифицированная-переменная \to квалифицированный-идентификатор-переменной | ( квалифицированный-символ-переменной ) (квалифицированная переменная)
конструктор \to идентификатор-конструктора | (символ-конструктора ) (конструктор)
квалифицированный-конструктор \to квалифицированный-идентификатор-конструктора | ( символ-общего-конструктора ) (квалифицированный конструктор)
оператор-переменной \to символ-переменной | &apos;идентификатор-переменной &apos; (оператор переменной)
квалифицированный-оператор-переменной \to квалифицированный-символ-переменной | &apos;квалифицированный-идентификатор-переменной &apos; (квалифицированный оператор переменной)
оператор-конструктора \to символ-конструктора | &apos;идентификатор-конструктора &apos; (оператор конструктора)
квалифицированный-оператор-конструктора \to символ-общего-конструктора | &apos;квалифицированный-идентификатор-конструктора &apos; (квалифицированный оператор конструктора)
оператор \to оператор-переменной | оператор-конструктора (оператор)
квалифицированный-оператор \to квалифицированный-оператор-переменной | квалифицированный-оператор-конструктора (квалифицированный оператор)
символ-общего-конструктора \to : | квалифицированный-символ-конструктора
< Лекция 9 || Лекция 10: 123456 || Лекция 11 >