::= X X SEP ::= X X SEP ::= 'object' 'actor' 'module' ::= 'query' 'composite' 'query' ::= 'shared' ? ::= 'shared' ? ? ? ::= '{' , ';')> '}' ::= '{' '#' '}' '{' , ';')> '}' ::= '(' , ',')> ')' ('.' )* ? '[' 'var'? ']' ::= '?' ::= 'async' 'async*' ::= ('<' , ',')> '>')? '->' ::= 'and' 'or' ::= ':' ::= '<' , ',')> '>' ::= 'type' ('<' , ',')> '>')? '=' 'var'? ':' ('<' , ',')> '>')? ':' ::= '#' (':' )? ::= '<:' ::= 'null' ::= '+' '-' '^' ::= '+' '-' '*' '/' '%' '**' '+%' '-%' '*%' '**%' '&' '|' '^' '<<' ' >>' '<<>' '<>>' '#' ::= '==' '!=' ' < ' '<=' ' > ' '>=' ::= '+=' '-=' '^=' ::= '+=' '-=' '*=' '/=' '%=' '**-' '+%=' '-%=' '*%=' '**%=' '&=' '|=' '^=' '<<=' '>>=' '<<>=' '<>>=' '@=' ::= '{' , ';')> '}' '{' 'and' ('and' )* '}' '{' ('and' )* 'with' , ';')> '}' ::= '(' , ',')> ')' ::= '_' ::= '[' 'var'? , ',')> ']' '[' ']' '.' '.' ('<' , ',')> '>')? '!' '(' 'system' '.' ')' ::= '#' '#' '?' 'actor' 'not' 'debug_show' 'to_candid' '(' , ',')> ')' 'from_candid' ::= 'and' 'or' ':' '|>' ::= ':=' 'return' ? 'async' 'async*' 'await' 'await*' 'assert' 'label' (':' )? 'break' ? 'continue' 'debug' 'if' 'if' 'else' 'try' 'throw' 'switch' '{' , ';')> '}' 'while' 'loop' 'loop' 'while' 'for' '(' 'in' ')' 'ignore' 'do' 'do' '?' ::= ::= ::= ::= '{' , ';')> '}' ::= 'case' ::= 'catch' ::= 'var'? (':' )? 'var'? (':' )? '=' ::= ::= 'private' 'public' 'system' ::= 'flexible' 'stable' ::= '_' '(' , ',')> ')' ::= '{' , ';')> '}' ::= '#' '#' '?' ::= 'or' ':' ::= ::= (':' )? (':' )? '=' ::= 'var' (':' )? '=' ::= 'let' '=' 'type' ('<' , ',')> '>')? '=' ? '='? 'func' ? ('<' , ',')> '>')? (':' )? ? 'class' ? ('<' , ',')> '>')? (':' )? ::= 'let' '=' 'else' ::= '=' ::= '{' , ';')> '}' ::= '=' ? ::= 'import' '='? ::= , ';')> , ';')>