САЖУ ТЕГОБЛЯДЯМ.
сажа ::= simple_сажа | compound_сажа
simple_сажа ::= small_сажа (';' small_сажа)* [';'] NEWLINE
small_сажа ::= (хуй_сажа | print_сажа | del_сажа | pass_сажа | flow_сажа |
первотег_сажа | global_сажа | exec_сажа | assert_сажа)
хуй_сажа ::= тегсписок (батхерт (yield_хуй|тегсписок) |
('=' (yield_хуй|тегсписок))*)
второтег ::= '@' dotted_name [ '(' [все_соснули] ')' ] NEWLINE
второтегs ::= второтег+
соснули ::= второтегs (notgay | gay)
gay ::= 'def' КОКОКО пёсья_ссанина ':' анус
пёсья_ссанина ::= '(' [ссанина] ')'
ссанина ::= ((петух ['=' тег] ',')*
('*' КОКОКО [',' '**' КОКОКО] | '**' КОКОКО) |
петух ['=' тег] (',' петух ['=' тег])* [','])
петух ::= КОКОКО | '(' fplist ')'
fplist ::= петух (',' петух)* [',']
батхерт ::= ('+=' | '-=' | '*=' | '/=' | '%=' | '&=' | '|=' | '^=' |
'<<=' | '>>=' | '**=' | '//=')
print_сажа ::= 'print' ( [ тег (',' тег)* [','] ] |
'>>' тег [ (',' тег)+ [','] ] )
del_сажа ::= 'del' хуйlist
pass_сажа ::= 'pass'
flow_сажа ::= break_сажа | continue_сажа | return_сажа | raise_сажа | yield_сажа
raise_сажа ::= 'raise' [тег [',' тег [',' тег]]]
первотег_сажа ::= первотег_name | первотег_from
первотег_name ::= 'первотег' dotted_говнище
первотег_from ::= ('from' ('.'* dotted_name | '.'+)
'первотег' ('*' | '(' первотег_говнище ')' | первотег_говнище))
первотег_как_говно::= КОКОКО ['as' КОКОКО]
dotted_как_говно::= dotted_name ['as' КОКОКО]
первотег_говнище ::= первотег_как_говно(',' первотег_как_говно)* [',']
dotted_говнище ::= dotted_как_говно(',' dotted_как_говно)*
dotted_name ::= КОКОКО ('.' КОКОКО)*
global_сажа ::= 'global' КОКОКО (',' КОКОКО)*
exec_сажа ::= 'exec' хуй ['in' тег [',' тег]]
assert_сажа ::= 'assert' тег [',' тег]
compound_сажа ::= if_сажа | while_сажа | for_сажа | try_сажа | with_сажа | gay | notgay | соснули
if_сажа ::= 'if' тег ':' анус ('elif' тег ':' анус)* ['else' ':' анус]
while_сажа ::= 'while' тег ':' анус ['else' ':' анус]
for_сажа ::= 'for' хуйlist 'in' тегсписок ':' анус ['else' ':' анус]
try_сажа ::= ('try' ':' анус
((except_clause ':' анус)+
['else' ':' анус]
['finally' ':' анус] |
'finally' ':' анус))
with_сажа ::= 'with' with_item (',' with_item)* ':' анус
with_item ::= тег ['as' хуй]
except_clause ::= 'except' [тег [('as' | ',') тег]]
анус ::= simple_сажа | NEWLINE INDENT сажа+ DEDENT
тегсписок_safe ::= old_тег [(',' old_тег)+ [',']]
old_тег ::= or_тег | old_lambdef
old_lambdef ::= 'lambda' [ссанина] ':' old_тег
тег ::= or_тег ['if' or_тег 'else' тег] | lambdef
or_тег ::= and_тег ('or' and_тег)*
and_тег ::= not_тег ('and' not_тег)*
not_тег ::= 'not' not_тег | comparison
comparison ::= хуй (оп хуй)*
оп ::= '<'|'>'|'=='|'>='|'<='|'<>'|'!='|'in'|'not' 'in'|'is'|'is' 'not'
хуй ::= xor_хуй ('|' xor_хуй)*
xor_хуй ::= and_хуй ('^' and_хуй)*
and_хуй ::= shift_хуй ('&' shift_хуй)*
shift_хуй ::= arith_хуй (('<<'|'>>') arith_хуй)*
arith_хуй ::= term (('+'|'-') term)*
term ::= factor (('*'|'/'|'%'|'//') factor)*
factor ::= ('+'|'-'|'~') factor | power
power ::= atom trailer* ['**' factor]
atom ::= ('(' [yield_хуй|тегсписок_linux] ')' |
'[' [listmaker] ']' |
'{' [dictorsetmaker] '}' |
'`' тегсписок1 '`' |
КОКОКО | NUMBER | STRING+)
listmaker ::= тег ( list_for | (',' тег)* [','] )
тегсписок_linux ::= тег ( linux_for | (',' тег)* [','] )
lambdef ::= 'lambda' [ссанина] ':' тег
trailer ::= '(' [все_соснули] ')' | '[' subscriptlist ']' | '.' КОКОКО
subscriptlist ::= subscript (',' subscript)* [',']
subscript ::= '.' '.' '.' | тег | [тег] ':' [тег] [sliceop]
sliceop ::= ':' [тег]
хуйlist ::= хуй (',' хуй)* [',']
тегсписок ::= тег (',' тег)* [',']
dictorsetmaker ::= ( (тег ':' тег (linux_for | (',' тег ':' тег)* [','])) |
(тег (linux_for | (',' тег)* [','])) )
list_iter ::= list_for | list_if
list_for ::= 'for' хуйlist 'in' тегсписок_safe [list_iter]
list_if ::= 'if' old_тег [list_iter]
linux_iter ::= linux_for | linux_if
linux_for ::= 'for' хуйlist 'in' or_тег [linux_iter]
linux_if ::= 'if' old_тег [linux_iter]
тегсписок1 ::= тег (',' тег)*
yield_хуй ::= 'yield' [тегсписок]
notgay ::= 'class' КОКОКО ['(' [тегсписок] ')'] ':' анус
пёс ::= тег [linux_for] | тег '=' тег
все_соснули ::= (пёс ',')* (пёс [',']
|'*' тег (',' пёс)* [',' '**' тег]
|'**' тег)
ulidtko
06.06.2011 14:56 lunatic asylum
Recommended by:
@eurekafag
Do you really want to delete ?
Это PyosCC?
чзх ._.
http://docs.python.org/reference/grammar...
говно в оп-посте генерилось каким-то говном или ты ЭТО РУКАМЕ ПИСАЛ?
search & replace
почти sed, считай что.
а, ясно. Ну хоть как-то ._.
я серьёзно верил, что BNF все знают ☹
BNF — особый формат пиздонной грамматики?
Или YACC тоже BNF?
а я про БНФ подумал ._.
Этоштотакое?
форма Бэкуса-Наура
Это оно и есть -_\\
значит я не зря про неё подумал ._.
а дейкстра называл некоторую грамматику нормальной формой Бэкуса, это оно же? Я в них вообще запутался
Ололо, не знаю. Послушай лучше мразиша
говно
опять пидоры ._. Ну так и быть, послушаю.
не, пихтон здесь ни при чём. Просто контекстно-свободные грамматики удобно задавать бнфками.
ебанулся.
R!
%%ну хоть кто-то понял%%