Skip to content

Latest commit

 

History

History
66 lines (66 loc) · 14.6 KB

File metadata and controls

66 lines (66 loc) · 14.6 KB
<ident> None ) < != > , else * return = ( >= - // False ] = % def True NEWLINE [ or print : + == for <integer> EOF not END and if <string>
<file> <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF <newline_opt><defs><stmt><opt_stmts>EOF
<newline_opt> NEWLINE
<defs> <def><defs>
<stmt> <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE for<ident>in<expr>:<suite> <simple_stmt>NEWLINE <simple_stmt>NEWLINE if<expr>:<suite><stmt_if> <simple_stmt>NEWLINE
<opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts> <stmt><opt_stmts>
<def> def<ident>(<ident_list>):<suite>
<ident_list> <ident><ident_list_suite>
<suite> <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE NEWLINEBEGIN<stmt><opt_stmts>END <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE <simple_stmt>NEWLINE
<simple_stmt> <ident><simple_state_ident> <expr_no_ident_no_access><expr_no_ident_no_access2> return<expr> <expr_no_ident_no_access><expr_no_ident_no_access2> <expr_no_ident_no_access><expr_no_ident_no_access2> <expr_no_ident_no_access><expr_no_ident_no_access2> <expr_no_ident_no_access><expr_no_ident_no_access2> <expr_no_ident_no_access><expr_no_ident_no_access2> print(<expr>) <expr_no_ident_no_access><expr_no_ident_no_access2> <expr_no_ident_no_access><expr_no_ident_no_access2> <expr_no_ident_no_access><expr_no_ident_no_access2>
<expr> <expr_and><expr2> <expr_and><expr2> <expr_and><expr2> <expr_and><expr2> <expr_and><expr2> <expr_and><expr2> <expr_and><expr2> <expr_and><expr2> <expr_and><expr2> <expr_and><expr2>
<simple_state_ident> <factor_ident><expr2_no_access><simple_stmt_expr> =<expr> <factor_ident><expr2_no_access><simple_stmt_expr> <factor_ident><expr2_no_access><simple_stmt_expr> <factor_ident><expr2_no_access><simple_stmt_expr>
<expr_no_ident_no_access> <expr_and_no_ident_no_access><expr2_no_access> <expr_and_no_ident_no_access><expr2_no_access> <expr_and_no_ident_no_access><expr2_no_access> <expr_and_no_ident_no_access><expr2_no_access> <expr_and_no_ident_no_access><expr2_no_access> <expr_and_no_ident_no_access><expr2_no_access> <expr_and_no_ident_no_access><expr2_no_access> <expr_and_no_ident_no_access><expr2_no_access> <expr_and_no_ident_no_access><expr2_no_access>
<expr_no_ident_no_access2> [<expr>]<expr_access2_eq>=<expr>
<expr_access2_eq> [<expr>]<expr_access2_eq>
<factor_ident> (<expr_list>)
<expr2_no_access> or<expr_and_no_access><expr2_no_access>
<simple_stmt_expr> [<expr>]<expr_access2_eq>=<expr>
<stmt_if> else:<suite>
<expr_and> <expr_not><expr_and2> <expr_not><expr_and2> <expr_not><expr_and2> <expr_not><expr_and2> <expr_not><expr_and2> <expr_not><expr_and2> <expr_not><expr_and2> <expr_not><expr_and2> <expr_not><expr_and2> <expr_not><expr_and2>
<expr2> or<expr_and><expr2>
<expr_no_ident> <expr_and_no_ident><expr2> <expr_and_no_ident><expr2> <expr_and_no_ident><expr2> <expr_and_no_ident><expr2> <expr_and_no_ident><expr2> <expr_and_no_ident><expr2> <expr_and_no_ident><expr2> <expr_and_no_ident><expr2> <expr_and_no_ident><expr2>
<expr_and_no_ident> <expr_not_no_ident><expr_and2> <expr_not_no_ident><expr_and2> <expr_not_no_ident><expr_and2> <expr_not_no_ident><expr_and2> <expr_not_no_ident><expr_and2> <expr_not_no_ident><expr_and2> <expr_not_no_ident><expr_and2> <expr_not_no_ident><expr_and2> <expr_not_no_ident><expr_and2>
<expr_not> <expr_cmp> <expr_cmp> <expr_cmp> <expr_cmp> <expr_cmp> <expr_cmp> <expr_cmp> <expr_cmp> not<expr_cmp> <expr_cmp>
<expr_and2> and<expr_not><expr_and2>
<expr_not_no_ident> <expr_cmp_no_ident> <expr_cmp_no_ident> <expr_cmp_no_ident> <expr_cmp_no_ident> <expr_cmp_no_ident> <expr_cmp_no_ident> <expr_cmp_no_ident> not<expr_cmp> <expr_cmp_no_ident>
<expr_cmp> <expr_add><expr_cmp2> <expr_add><expr_cmp2> <expr_add><expr_cmp2> <expr_add><expr_cmp2> <expr_add><expr_cmp2> <expr_add><expr_cmp2> <expr_add><expr_cmp2> <expr_add><expr_cmp2> <expr_add><expr_cmp2>
<expr_cmp_no_ident> <expr_add_no_ident><expr_cmp2> <expr_add_no_ident><expr_cmp2> <expr_add_no_ident><expr_cmp2> <expr_add_no_ident><expr_cmp2> <expr_add_no_ident><expr_cmp2> <expr_add_no_ident><expr_cmp2> <expr_add_no_ident><expr_cmp2> <expr_add_no_ident><expr_cmp2>
<expr_add> <expr_mult><expr_add2> <expr_mult><expr_add2> <expr_mult><expr_add2> <expr_mult><expr_add2> <expr_mult><expr_add2> <expr_mult><expr_add2> <expr_mult><expr_add2> <expr_mult><expr_add2> <expr_mult><expr_add2>
<expr_cmp2> <<expr_add><expr_cmp2> !=<expr_add><expr_cmp2> ><expr_add><expr_cmp2> =<expr_add><expr_cmp2> >=<expr_add><expr_cmp2> ==<expr_add><expr_cmp2>
<expr_add_no_ident> <expr_mult_no_ident><expr_add2> <expr_mult_no_ident><expr_add2> <expr_mult_no_ident><expr_add2> <expr_mult_no_ident><expr_add2> <expr_mult_no_ident><expr_add2> <expr_mult_no_ident><expr_add2> <expr_mult_no_ident><expr_add2> <expr_mult_no_ident><expr_add2>
<expr_mult> <expr_neg><expr_mult2> <expr_neg><expr_mult2> <expr_neg><expr_mult2> <expr_neg><expr_mult2> <expr_neg><expr_mult2> <expr_neg><expr_mult2> <expr_neg><expr_mult2> <expr_neg><expr_mult2> <expr_neg><expr_mult2>
<expr_add2> -<expr_mult><expr_add2> +<expr_mult><expr_add2>
<expr_mult_no_ident> <expr_neg_no_ident><expr_mult2> <expr_neg_no_ident><expr_mult2> <expr_neg_no_ident><expr_mult2> <expr_neg_no_ident><expr_mult2> <expr_neg_no_ident><expr_mult2> <expr_neg_no_ident><expr_mult2> <expr_neg_no_ident><expr_mult2> <expr_neg_no_ident><expr_mult2>
<expr_neg> <expr_access> <expr_access> <expr_access> -<expr_access> <expr_access> <expr_access> <expr_access> <expr_access> <expr_access>
<expr_mult2> *<expr_neg><expr_mult2> //<expr_neg><expr_mult2> %<expr_neg><expr_mult2>
<expr_neg_no_ident> <expr_access_no_ident> <expr_access_no_ident> -<expr_access> <expr_access_no_ident> <expr_access_no_ident> <expr_access_no_ident> <expr_access_no_ident> <expr_access_no_ident>
<expr_access> <factor><expr_access2> <factor><expr_access2> <factor><expr_access2> <factor><expr_access2> <factor><expr_access2> <factor><expr_access2> <factor><expr_access2> <factor><expr_access2>
<expr_access_no_ident> <factor_no_ident><expr_access2> <factor_no_ident><expr_access2> <factor_no_ident><expr_access2> <factor_no_ident><expr_access2> <factor_no_ident><expr_access2> <factor_no_ident><expr_access2> <factor_no_ident><expr_access2>
<factor> <ident><factor_ident> <const> (<expr>) <const> <const> [<expr_list>] <const> <const>
<expr_access2> [<expr>]<expr_access2>
<factor_no_ident> <const> (<expr>) <const> <const> [<expr_list>] <const> <const>
<expr_and_no_ident_no_access> <expr_not_no_ident_no_access><expr_and2_no_access> <expr_not_no_ident_no_access><expr_and2_no_access> <expr_not_no_ident_no_access><expr_and2_no_access> <expr_not_no_ident_no_access><expr_and2_no_access> <expr_not_no_ident_no_access><expr_and2_no_access> <expr_not_no_ident_no_access><expr_and2_no_access> <expr_not_no_ident_no_access><expr_and2_no_access> <expr_not_no_ident_no_access><expr_and2_no_access> <expr_not_no_ident_no_access><expr_and2_no_access>
<expr_and_no_access> <expr_not_no_access><expr_and2_no_access> <expr_not_no_access><expr_and2_no_access>
<expr_not_no_access> <expr_cmp_no_access> not<expr_cmp_no_access>
<expr_and2_no_access> and<expr_not_no_access><expr_and2_no_access>
<expr_not_no_ident_no_access> <expr_cmp_no_ident_no_access> <expr_cmp_no_ident_no_access> <expr_cmp_no_ident_no_access> <expr_cmp_no_ident_no_access> <expr_cmp_no_ident_no_access> <expr_cmp_no_ident_no_access> <expr_cmp_no_ident_no_access> not<expr_cmp_no_access> <expr_cmp_no_ident_no_access>
<expr_cmp_no_access> <expr_add_no_access><expr_cmp2_no_access>
<expr_cmp_no_ident_no_access> <expr_add_no_ident_no_access><expr_cmp2_no_access> <expr_add_no_ident_no_access><expr_cmp2_no_access> <expr_add_no_ident_no_access><expr_cmp2_no_access> <expr_add_no_ident_no_access><expr_cmp2_no_access> <expr_add_no_ident_no_access><expr_cmp2_no_access> <expr_add_no_ident_no_access><expr_cmp2_no_access> <expr_add_no_ident_no_access><expr_cmp2_no_access> <expr_add_no_ident_no_access><expr_cmp2_no_access>
<expr_add_no_access> <expr_mult_no_access><expr_add2_no_access>
<expr_cmp2_no_access> <<expr_add_no_access><expr_cmp2_no_access> !=<expr_add_no_access><expr_cmp2_no_access> ><expr_add_no_access><expr_cmp2_no_access> =<expr_add_no_access><expr_cmp2_no_access> >=<expr_add_no_access><expr_cmp2_no_access> ==<expr_add_no_access><expr_cmp2_no_access>
<expr_add_no_ident_no_access> <expr_mult_no_ident_no_access><expr_add2_no_access> <expr_mult_no_ident_no_access><expr_add2_no_access> <expr_mult_no_ident_no_access><expr_add2_no_access> <expr_mult_no_ident_no_access><expr_add2_no_access> <expr_mult_no_ident_no_access><expr_add2_no_access> <expr_mult_no_ident_no_access><expr_add2_no_access> <expr_mult_no_ident_no_access><expr_add2_no_access> <expr_mult_no_ident_no_access><expr_add2_no_access>
<expr_mult_no_access> <expr_neg_no_access><expr_mult2_no_access>
<expr_add2_no_access> -<expr_mult_no_access><expr_add2_no_access> +<expr_mult_no_access><expr_add2_no_access>
<expr_mult_no_ident_no_access> <expr_neg_no_ident_no_access><expr_mult2_no_access> <expr_neg_no_ident_no_access><expr_mult2_no_access> <expr_neg_no_ident_no_access><expr_mult2_no_access> <expr_neg_no_ident_no_access><expr_mult2_no_access> <expr_neg_no_ident_no_access><expr_mult2_no_access> <expr_neg_no_ident_no_access><expr_mult2_no_access> <expr_neg_no_ident_no_access><expr_mult2_no_access> <expr_neg_no_ident_no_access><expr_mult2_no_access>
<expr_neg_no_access> -<expr_access_no_access>
<expr_mult2_no_access> *<expr_neg_no_access><expr_mult2_no_access> //<expr_neg_no_access><expr_mult2_no_access> %<expr_neg_no_access><expr_mult2_no_access>
<expr_neg_no_ident_no_access> <factor_no_ident> <factor_no_ident> -<factor> <factor_no_ident> <factor_no_ident> <factor_no_ident> <factor_no_ident> <factor_no_ident>
<expr_access_no_access>
<const> None False True <integer> <string>
<expr_list> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite>
<expr_list_suite> ,<expr_list_expr>
<expr_list_expr> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite> <expr><expr_list_suite>
<ident_list_suite> ,<ident_list_ident>
<ident_list_ident> <ident><ident_list_suite>