ulidtko 06.06.2011 14:56 lunatic asylum

САЖУ ТЕГОБЛЯДЯМ.

сажа ::= 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] | тег '=' тег
все_соснули ::= (пёс ',')* (пёс [',']
|'*' тег (',' пёс)* [',' '**' тег]
|'**' тег)

Recommended by: @eurekafag
1. cirno 06.06.2011 15:07 dd78bd0e

Это PyosCC?

2. folex 06.06.2011 15:08

чзх ._.

4. folexulidtko /3 06.06.2011 15:11 Psi+

говно в оп-посте генерилось каким-то говном или ты ЭТО РУКАМЕ ПИСАЛ?

5. ulidtkofolex /4 06.06.2011 15:12 lunatic asylum

search & replace

6. ulidtkoulidtko /5 06.06.2011 15:12 lunatic asylum

почти sed, считай что.

7. folexulidtko /6 06.06.2011 15:12 Psi+

а, ясно. Ну хоть как-то ._.

8. ulidtkofolex /7 06.06.2011 15:13 lunatic asylum

я серьёзно верил, что BNF все знают ☹

9. cirnoulidtko /8 06.06.2011 15:16 dd78bd0e

BNF — особый формат пиздонной грамматики?

10. cirnoulidtko /8 06.06.2011 15:17 dd78bd0e

Или YACC тоже BNF?

11. folexcirno /9 06.06.2011 15:18 Psi+

а я про БНФ подумал ._.

12. cirnofolex /11 06.06.2011 15:18 dd78bd0e

Этоштотакое?

13. folexcirno /12 06.06.2011 15:19 Psi+

форма Бэкуса-Наура

14. cirnofolex /13 06.06.2011 15:19 dd78bd0e

Это оно и есть -_\\

15. folexcirno /14 06.06.2011 15:20 Psi+

значит я не зря про неё подумал ._.

16. folexcirno /14 06.06.2011 15:21 Psi+

а дейкстра называл некоторую грамматику нормальной формой Бэкуса, это оно же? Я в них вообще запутался

17. cirnofolex /16 06.06.2011 15:22 dd78bd0e

Ололо, не знаю. Послушай лучше мразиша

18. 238328 06.06.2011 15:23

говно

19. folexcirno /17 06.06.2011 15:23 Psi+

опять пидоры ._. Ну так и быть, послушаю.

20. ulidtkocirno /9 06.06.2011 15:25 lunatic asylum

не, пихтон здесь ни при чём. Просто контекстно-свободные грамматики удобно задавать бнфками.

21. gelraen 06.06.2011 20:34

ебанулся.

22. ulidtkogelraen /21 06.06.2011 20:34 lunatic asylum

R!

%%ну хоть кто-то понял%%

Do you really want to delete ?