ГОСТ Р 53556.5—2013
Приложение
В
(справочное)
Грамматика
LEX/YACC
для
SAOL
В.1 Введение
Это приложение описывает грамматики, используя широко доступные инструменты
’lex’
и
’уасс’,
которые
соответствуют спецификации
SAOL.
Ссылочное программное обеспечение для структурированного аудио создает лексический и синтаксичес
кий анализатор для грамматики
SAOL,
увязывая их с большим количеством структур данных.
В.2 Лексическая грамматика для
SAOL
STRCONST
IDENT
INTGR
NUMBER
%(
void comment(void);
%}
%%
ЧГ
"aopcode"
"asig*
"else"
"exports’
"extend"
"
global
*
7Г
"imports’
"inchannels’
"instr"
"interp"
"/opcode"
"ivar"
’kopcode’
"
krate’
"ksig"
"map"
"oparray"
"opcode
*
"outbus"
"outchannels"
"output"
"preset"
"return"
"route"
"send"
"sequence
*
"sasbr
"spatialize"
"srate"
"table"
"tablemap"
"template"
"turnoff"
"while"
"with"
"xsig"
"&&"
"IГ
\"(\Ч[Л\\"])Г
[a-zA-Z}[a-zA-ZO-Q ]’
(0-91+
(0-9)+(\.[0-9]*)?{e{-+l?[0-9]+)?|-?\.[0-9]‘(e-+?I0-9]+)?
{ commentf):}
{return(AOPCODE) ;}
{ return(ASIG);}
{ retum(ELSE):}
{ return(EXPORTS):}
{ retum(EXTEND):}
{ return(GLOBAL);}
{ retum(IF);}
{retum(IMPORTS):}
{ retum(INCHANNELS) ; }
{ retum(INSTR):}
{ retum(INTERP):}
{ retum(IOPCODE):}
{ retum(IVAR) :}
{ retum(KOPCODE);}
{return(KRATE):}
{ return(KSIG):}
{retum(MAP);}
{ retum(OPARRAY);}
{ retum(OPCODE):}
{return(OUTBUS);}
{ retum(OUTCHANNELS) ;}
{ return(OUTPUT);}
{ retum(PRESET);}
{ retum(RETURN) :}
{retum(ROUTE);}
{return(SEND):}
{ relum(SEQUENCE) :}
{return(SASBF):}
{ reium(SPATIALIZE);}
{ return(SRATE):}
{ retum(TABLE):}
{return(TABLEMAP):}
{ retum(TEMPLATE);}
{ retum(TURNOFF):}
{ retum(WHILE):}
{ retum(WITH):}
{ return(XSIG);}
{ retum(AND):}
{ retum(OR):}
79