ZM
Настоящий стандарт - это когда вендоры берут на себя работу над драйвером. Ура! 🎉
Size: a a a
ZM
SE
ZM
GP
ZM
DP
D
IS
def asd(a, b=1, c=1+2, d=3)
{
x,y,z
}
asd
это функция, между () это аргументы, x,y,z это "выражения". После того, как в аргументах появляется "выражение" 1+2, парсер сходит с ума и последующие "аргументы" определяет как "выражение"....
extends(".*_expression") = expression
}
LITERAL ::= STRING_LITERAL | CHARACTER_LITERAL | NUMBER
translation_unit ::= external_declaration
external_declaration ::= function_definition
function_definition ::= "def" IDENTIFIER function_arguments function_body
function_arguments ::= "(" comma_separated_arguments? ")"
comma_separated_arguments ::= <<comma_separated_list argument>>
argument ::= IDENTIFIER ("=" expression)?
function_body ::= "{" expression* "}"
expression ::= assignment_expression
| comma_separated_expression
| p_expression
| primary_expression
assignment_expression ::= expression "=" expression
p_expression ::= expression "+" expression
comma_separated_expression ::= expression ( "," expression )+
primary_expression ::= LITERAL
| IDENTIFIER
private meta comma_separated_list ::= <<param>> ( "," <<param>> )*
EK
IK
DH
D𝔇
D𝔇
AY
MN
PA
AY
MK