phpython Code
a python interpreter written in php
Status: Pre-Alpha
Brought to you by:
francescobianco
<?php class python extends lime_parser { var $qi = 0; var $i = array ( 0 => array ( 'simple_stmt' => 's 1', 'compound_stmt' => 's 2', 'small_stmt' => 's 3', 'print_stmt' => 's 6', 'assign_stmt' => 's 7', 'cmd_stmt' => 's 8', 'for_stmt' => 's 48', 'LNAME' => 's 9', 'PRINT' => 's 11', 'varlist' => 's 44', 'FOR' => 's 49', '\'for_stmt\'14' => 's 55', 'stmt' => 's 62', '\'start\'' => 'a \'start\'', ), 1 => array ( 'DEDENT' => 'r 0', '#' => 'r 0', ), 2 => array ( 'DEDENT' => 'r 1', '#' => 'r 1', ), 3 => array ( 'NEWLINE' => 's 4', 'DEDENT' => 'r 4', '#' => 'r 4', ), 4 => array ( 'small_stmt' => 's 3', 'simple_stmt' => 's 5', 'print_stmt' => 's 6', 'assign_stmt' => 's 7', 'cmd_stmt' => 's 8', 'LNAME' => 's 9', 'PRINT' => 's 11', 'varlist' => 's 44', 'DEDENT' => 'r 3', '#' => 'r 3', ), 5 => array ( 'DEDENT' => 'r 2', '#' => 'r 2', ), 6 => array ( 'NEWLINE' => 'r 5', 'DEDENT' => 'r 5', '#' => 'r 5', ), 7 => array ( 'NEWLINE' => 'r 6', 'DEDENT' => 'r 6', '#' => 'r 6', ), 8 => array ( 'NEWLINE' => 'r 7', 'DEDENT' => 'r 7', '#' => 'r 7', ), 9 => array ( 'DSTRING' => 's 10', 'EQUAL' => 'r 12', ), 10 => array ( 'NEWLINE' => 'r 9', 'DEDENT' => 'r 9', '#' => 'r 9', ), 11 => array ( 'atom' => 's 12', 'RBO' => 's 13', 'SBO' => 's 19', 'BO' => 's 32', 'LNAME' => 's 43', 'NUMBER' => 's 35', 'DSTRING' => 's 36', 'TRIPLEDOT' => 's 37', 'NONE' => 's 38', 'TRUE' => 's 39', 'FALSE' => 's 40', ), 12 => array ( 'NEWLINE' => 'r 10', 'DEDENT' => 'r 10', '#' => 'r 10', ), 13 => array ( 'NUMBER' => 's 14', 'argslist' => 's 17', ), 14 => array ( 'COMMA' => 's 15', ), 15 => array ( 'NUMBER' => 's 16', ), 16 => array ( 'RBC' => 'r 22', ), 17 => array ( 'RBC' => 's 18', ), 18 => array ( 'NEWLINE' => 'r 30', 'COMMA' => 'r 30', 'IN' => 'r 30', 'COLON' => 'r 30', 'DEDENT' => 'r 30', 'SBC' => 'r 30', '#' => 'r 30', ), 19 => array ( 'expr' => 's 20', 'LNAME' => 's 21', 'atom' => 's 25', 'testlist_comp_for' => 's 26', 'test' => 's 27', 'RBO' => 's 13', 'SBO' => 's 19', 'testlist_comp' => 's 41', 'BO' => 's 32', 'NUMBER' => 's 35', 'DSTRING' => 's 36', 'TRIPLEDOT' => 's 37', 'NONE' => 's 38', 'TRUE' => 's 39', 'FALSE' => 's 40', 'SBC' => 'r 26', ), 20 => array ( 'COMMA' => 'r 19', 'COLON' => 'r 19', 'SBC' => 'r 19', ), 21 => array ( 'RBO' => 's 22', 'COMMA' => 'r 33', 'COLON' => 'r 33', 'SBC' => 'r 33', ), 22 => array ( 'argslist' => 's 23', 'NUMBER' => 's 14', ), 23 => array ( 'RBC' => 's 24', ), 24 => array ( 'COMMA' => 'r 20', 'COLON' => 'r 20', 'SBC' => 'r 20', ), 25 => array ( 'COMMA' => 'r 21', 'COLON' => 'r 21', 'SBC' => 'r 21', ), 26 => array ( 'SBC' => 'r 23', ), 27 => array ( 'test_tail' => 's 28', 'COMMA' => 's 29', 'SBC' => 'r 25', ), 28 => array ( 'SBC' => 'r 24', ), 29 => array ( 'expr' => 's 20', 'LNAME' => 's 21', 'atom' => 's 25', 'test' => 's 30', 'RBO' => 's 13', 'SBO' => 's 19', 'BO' => 's 32', 'NUMBER' => 's 35', 'DSTRING' => 's 36', 'TRIPLEDOT' => 's 37', 'NONE' => 's 38', 'TRUE' => 's 39', 'FALSE' => 's 40', ), 30 => array ( 'COMMA' => 's 29', 'test_tail' => 's 31', 'SBC' => 'r 28', ), 31 => array ( 'SBC' => 'r 27', ), 32 => array ( 'dictorsetmaker' => 's 33', ), 33 => array ( 'BC' => 's 34', ), 34 => array ( 'NEWLINE' => 'r 32', 'COMMA' => 'r 32', 'IN' => 'r 32', 'COLON' => 'r 32', 'DEDENT' => 'r 32', 'SBC' => 'r 32', '#' => 'r 32', ), 35 => array ( 'NEWLINE' => 'r 34', 'COMMA' => 'r 34', 'IN' => 'r 34', 'COLON' => 'r 34', 'DEDENT' => 'r 34', 'SBC' => 'r 34', '#' => 'r 34', ), 36 => array ( 'NEWLINE' => 'r 35', 'COMMA' => 'r 35', 'IN' => 'r 35', 'COLON' => 'r 35', 'DEDENT' => 'r 35', 'SBC' => 'r 35', '#' => 'r 35', ), 37 => array ( 'NEWLINE' => 'r 36', 'COMMA' => 'r 36', 'IN' => 'r 36', 'COLON' => 'r 36', 'DEDENT' => 'r 36', 'SBC' => 'r 36', '#' => 'r 36', ), 38 => array ( 'NEWLINE' => 'r 37', 'COMMA' => 'r 37', 'IN' => 'r 37', 'COLON' => 'r 37', 'DEDENT' => 'r 37', 'SBC' => 'r 37', '#' => 'r 37', ), 39 => array ( 'NEWLINE' => 'r 38', 'COMMA' => 'r 38', 'IN' => 'r 38', 'COLON' => 'r 38', 'DEDENT' => 'r 38', 'SBC' => 'r 38', '#' => 'r 38', ), 40 => array ( 'NEWLINE' => 'r 39', 'COMMA' => 'r 39', 'IN' => 'r 39', 'COLON' => 'r 39', 'DEDENT' => 'r 39', 'SBC' => 'r 39', '#' => 'r 39', ), 41 => array ( 'SBC' => 's 42', ), 42 => array ( 'NEWLINE' => 'r 31', 'COMMA' => 'r 31', 'IN' => 'r 31', 'COLON' => 'r 31', 'DEDENT' => 'r 31', 'SBC' => 'r 31', '#' => 'r 31', ), 43 => array ( 'NEWLINE' => 'r 33', 'IN' => 'r 33', 'DEDENT' => 'r 33', '#' => 'r 33', ), 44 => array ( 'EQUAL' => 's 45', ), 45 => array ( 'exprlist' => 's 46', 'atom' => 's 47', 'RBO' => 's 13', 'SBO' => 's 19', 'BO' => 's 32', 'LNAME' => 's 43', 'NUMBER' => 's 35', 'DSTRING' => 's 36', 'TRIPLEDOT' => 's 37', 'NONE' => 's 38', 'TRUE' => 's 39', 'FALSE' => 's 40', ), 46 => array ( 'NEWLINE' => 'r 11', 'DEDENT' => 'r 11', '#' => 'r 11', ), 47 => array ( 'NEWLINE' => 'r 13', 'IN' => 'r 13', 'DEDENT' => 'r 13', '#' => 'r 13', ), 48 => array ( 'DEDENT' => 'r 8', '#' => 'r 8', ), 49 => array ( 'atom' => 's 47', 'exprlist' => 's 50', 'RBO' => 's 13', 'SBO' => 's 19', 'BO' => 's 32', 'LNAME' => 's 43', 'NUMBER' => 's 35', 'DSTRING' => 's 36', 'TRIPLEDOT' => 's 37', 'NONE' => 's 38', 'TRUE' => 's 39', 'FALSE' => 's 40', ), 50 => array ( 'IN' => 's 51', ), 51 => array ( 'testlist' => 's 52', 'test' => 's 54', 'expr' => 's 20', 'LNAME' => 's 21', 'atom' => 's 25', 'RBO' => 's 13', 'SBO' => 's 19', 'BO' => 's 32', 'NUMBER' => 's 35', 'DSTRING' => 's 36', 'TRIPLEDOT' => 's 37', 'NONE' => 's 38', 'TRUE' => 's 39', 'FALSE' => 's 40', ), 52 => array ( 'COLON' => 's 53', ), 53 => array ( 'NEWLINE' => 'r 14', 'PRINT' => 'r 14', 'LNAME' => 'r 14', ), 54 => array ( 'COLON' => 'r 18', ), 55 => array ( 'small_stmt' => 's 3', 'print_stmt' => 's 6', 'assign_stmt' => 's 7', 'cmd_stmt' => 's 8', 'LNAME' => 's 9', 'PRINT' => 's 11', 'varlist' => 's 44', 'suite' => 's 56', 'simple_stmt' => 's 57', 'NEWLINE' => 's 58', ), 56 => array ( 'DEDENT' => 'r 15', '#' => 'r 15', ), 57 => array ( 'DEDENT' => 'r 16', '#' => 'r 16', ), 58 => array ( 'INDENT' => 's 59', ), 59 => array ( 'simple_stmt' => 's 1', 'compound_stmt' => 's 2', 'small_stmt' => 's 3', 'print_stmt' => 's 6', 'assign_stmt' => 's 7', 'cmd_stmt' => 's 8', 'for_stmt' => 's 48', 'LNAME' => 's 9', 'PRINT' => 's 11', 'varlist' => 's 44', 'FOR' => 's 49', '\'for_stmt\'14' => 's 55', 'stmt' => 's 60', ), 60 => array ( 'DEDENT' => 's 61', ), 61 => array ( 'DEDENT' => 'r 17', '#' => 'r 17', ), 62 => array ( '#' => 'r 40', ), ); function reduce_0_stmt_1($tokens, &$result) { # # (0) stmt := simple_stmt # $result = reset($tokens); } function reduce_1_stmt_2($tokens, &$result) { # # (1) stmt := compound_stmt # $result = reset($tokens); } function reduce_2_simple_stmt_1($tokens, &$result) { # # (2) simple_stmt := small_stmt NEWLINE simple_stmt # $result = reset($tokens); } function reduce_3_simple_stmt_2($tokens, &$result) { # # (3) simple_stmt := small_stmt NEWLINE # $result = reset($tokens); } function reduce_4_simple_stmt_3($tokens, &$result) { # # (4) simple_stmt := small_stmt # $result = reset($tokens); } function reduce_5_small_stmt_1($tokens, &$result) { # # (5) small_stmt := print_stmt # $result = reset($tokens); } function reduce_6_small_stmt_2($tokens, &$result) { # # (6) small_stmt := assign_stmt # $result = reset($tokens); } function reduce_7_small_stmt_3($tokens, &$result) { # # (7) small_stmt := cmd_stmt # $result = reset($tokens); } function reduce_8_compound_stmt_1($tokens, &$result) { # # (8) compound_stmt := for_stmt # $result = reset($tokens); } function reduce_9_cmd_stmt_1($tokens, &$result) { # # (9) cmd_stmt := LNAME DSTRING # $result = reset($tokens); python_command($tokens[0],$tokens[1]); } function reduce_10_print_stmt_1($tokens, &$result) { # # (10) print_stmt := PRINT atom # $result = reset($tokens); python_print($tokens[1]); } function reduce_11_assign_stmt_1($tokens, &$result) { # # (11) assign_stmt := varlist EQUAL exprlist # $result = reset($tokens); python_assign($tokens[0],$tokens[2]); } function reduce_12_varlist_1($tokens, &$result) { # # (12) varlist := LNAME # $result = reset($tokens); } function reduce_13_exprlist_1($tokens, &$result) { # # (13) exprlist := atom # $result = reset($tokens); } function reduce_14_for_stmt14_1($tokens, &$result) { # # (14) 'for_stmt'14 := FOR exprlist IN testlist COLON # $result = reset($tokens); python_for(); } function reduce_15_for_stmt_1($tokens, &$result) { # # (15) for_stmt := 'for_stmt'14 suite # $result = reset($tokens); python_end_for(); } function reduce_16_suite_1($tokens, &$result) { # # (16) suite := simple_stmt # $result = reset($tokens); } function reduce_17_suite_2($tokens, &$result) { # # (17) suite := NEWLINE INDENT stmt DEDENT # $result = reset($tokens); } function reduce_18_testlist_1($tokens, &$result) { # # (18) testlist := test # $result = reset($tokens); } function reduce_19_test_1($tokens, &$result) { # # (19) test := expr # $result = reset($tokens); } function reduce_20_expr_1($tokens, &$result) { # # (20) expr := LNAME RBO argslist RBC # $result = reset($tokens); } function reduce_21_expr_2($tokens, &$result) { # # (21) expr := atom # $result = reset($tokens); } function reduce_22_argslist_1($tokens, &$result) { # # (22) argslist := NUMBER COMMA NUMBER # $result = reset($tokens); } function reduce_23_testlist_comp_1($tokens, &$result) { # # (23) testlist_comp := testlist_comp_for # $result = reset($tokens); } function reduce_24_testlist_comp_2($tokens, &$result) { # # (24) testlist_comp := test test_tail # $result = reset($tokens); $result = array("ciao"); echo "ad"; } function reduce_25_testlist_comp_3($tokens, &$result) { # # (25) testlist_comp := test # $result = reset($tokens); } function reduce_26_testlist_comp_4($tokens, &$result) { # # (26) testlist_comp := # $result = reset($tokens); } function reduce_27_test_tail_1($tokens, &$result) { # # (27) test_tail := COMMA test test_tail # $result = reset($tokens); } function reduce_28_test_tail_2($tokens, &$result) { # # (28) test_tail := COMMA test # $result = reset($tokens); echo "as"; } function reduce_29_test_tail_3($tokens, &$result) { # # (29) test_tail := # $result = reset($tokens); } function reduce_30_atom_1($tokens, &$result) { # # (30) atom := RBO argslist RBC # $result = reset($tokens); } function reduce_31_atom_2($tokens, &$result) { # # (31) atom := SBO testlist_comp SBC # $result = reset($tokens); $result = python_list($tokens[1]); } function reduce_32_atom_3($tokens, &$result) { # # (32) atom := BO dictorsetmaker BC # $result = reset($tokens); } function reduce_33_atom_4($tokens, &$result) { # # (33) atom := LNAME # $result = reset($tokens); } function reduce_34_atom_5($tokens, &$result) { # # (34) atom := NUMBER # $result = reset($tokens); } function reduce_35_atom_6($tokens, &$result) { # # (35) atom := DSTRING # $result = reset($tokens); } function reduce_36_atom_7($tokens, &$result) { # # (36) atom := TRIPLEDOT # $result = reset($tokens); } function reduce_37_atom_8($tokens, &$result) { # # (37) atom := NONE # $result = reset($tokens); } function reduce_38_atom_9($tokens, &$result) { # # (38) atom := TRUE # $result = reset($tokens); } function reduce_39_atom_10($tokens, &$result) { # # (39) atom := FALSE # $result = reset($tokens); } function reduce_40_start_1($tokens, &$result) { # # (40) 'start' := stmt # $result = reset($tokens); } var $method = array ( 0 => 'reduce_0_stmt_1', 1 => 'reduce_1_stmt_2', 2 => 'reduce_2_simple_stmt_1', 3 => 'reduce_3_simple_stmt_2', 4 => 'reduce_4_simple_stmt_3', 5 => 'reduce_5_small_stmt_1', 6 => 'reduce_6_small_stmt_2', 7 => 'reduce_7_small_stmt_3', 8 => 'reduce_8_compound_stmt_1', 9 => 'reduce_9_cmd_stmt_1', 10 => 'reduce_10_print_stmt_1', 11 => 'reduce_11_assign_stmt_1', 12 => 'reduce_12_varlist_1', 13 => 'reduce_13_exprlist_1', 14 => 'reduce_14_for_stmt14_1', 15 => 'reduce_15_for_stmt_1', 16 => 'reduce_16_suite_1', 17 => 'reduce_17_suite_2', 18 => 'reduce_18_testlist_1', 19 => 'reduce_19_test_1', 20 => 'reduce_20_expr_1', 21 => 'reduce_21_expr_2', 22 => 'reduce_22_argslist_1', 23 => 'reduce_23_testlist_comp_1', 24 => 'reduce_24_testlist_comp_2', 25 => 'reduce_25_testlist_comp_3', 26 => 'reduce_26_testlist_comp_4', 27 => 'reduce_27_test_tail_1', 28 => 'reduce_28_test_tail_2', 29 => 'reduce_29_test_tail_3', 30 => 'reduce_30_atom_1', 31 => 'reduce_31_atom_2', 32 => 'reduce_32_atom_3', 33 => 'reduce_33_atom_4', 34 => 'reduce_34_atom_5', 35 => 'reduce_35_atom_6', 36 => 'reduce_36_atom_7', 37 => 'reduce_37_atom_8', 38 => 'reduce_38_atom_9', 39 => 'reduce_39_atom_10', 40 => 'reduce_40_start_1', ); var $a = array ( 0 => array ( 'symbol' => 'stmt', 'len' => 1, 'replace' => true, ), 1 => array ( 'symbol' => 'stmt', 'len' => 1, 'replace' => true, ), 2 => array ( 'symbol' => 'simple_stmt', 'len' => 3, 'replace' => true, ), 3 => array ( 'symbol' => 'simple_stmt', 'len' => 2, 'replace' => true, ), 4 => array ( 'symbol' => 'simple_stmt', 'len' => 1, 'replace' => true, ), 5 => array ( 'symbol' => 'small_stmt', 'len' => 1, 'replace' => true, ), 6 => array ( 'symbol' => 'small_stmt', 'len' => 1, 'replace' => true, ), 7 => array ( 'symbol' => 'small_stmt', 'len' => 1, 'replace' => true, ), 8 => array ( 'symbol' => 'compound_stmt', 'len' => 1, 'replace' => true, ), 9 => array ( 'symbol' => 'cmd_stmt', 'len' => 2, 'replace' => true, ), 10 => array ( 'symbol' => 'print_stmt', 'len' => 2, 'replace' => true, ), 11 => array ( 'symbol' => 'assign_stmt', 'len' => 3, 'replace' => true, ), 12 => array ( 'symbol' => 'varlist', 'len' => 1, 'replace' => true, ), 13 => array ( 'symbol' => 'exprlist', 'len' => 1, 'replace' => true, ), 14 => array ( 'symbol' => '\'for_stmt\'14', 'len' => 5, 'replace' => false, ), 15 => array ( 'symbol' => 'for_stmt', 'len' => 7, 'replace' => true, ), 16 => array ( 'symbol' => 'suite', 'len' => 1, 'replace' => true, ), 17 => array ( 'symbol' => 'suite', 'len' => 4, 'replace' => true, ), 18 => array ( 'symbol' => 'testlist', 'len' => 1, 'replace' => true, ), 19 => array ( 'symbol' => 'test', 'len' => 1, 'replace' => true, ), 20 => array ( 'symbol' => 'expr', 'len' => 4, 'replace' => true, ), 21 => array ( 'symbol' => 'expr', 'len' => 1, 'replace' => true, ), 22 => array ( 'symbol' => 'argslist', 'len' => 3, 'replace' => true, ), 23 => array ( 'symbol' => 'testlist_comp', 'len' => 1, 'replace' => true, ), 24 => array ( 'symbol' => 'testlist_comp', 'len' => 2, 'replace' => true, ), 25 => array ( 'symbol' => 'testlist_comp', 'len' => 1, 'replace' => true, ), 26 => array ( 'symbol' => 'testlist_comp', 'len' => 0, 'replace' => true, ), 27 => array ( 'symbol' => 'test_tail', 'len' => 3, 'replace' => true, ), 28 => array ( 'symbol' => 'test_tail', 'len' => 2, 'replace' => true, ), 29 => array ( 'symbol' => 'test_tail', 'len' => 0, 'replace' => true, ), 30 => array ( 'symbol' => 'atom', 'len' => 3, 'replace' => true, ), 31 => array ( 'symbol' => 'atom', 'len' => 3, 'replace' => true, ), 32 => array ( 'symbol' => 'atom', 'len' => 3, 'replace' => true, ), 33 => array ( 'symbol' => 'atom', 'len' => 1, 'replace' => true, ), 34 => array ( 'symbol' => 'atom', 'len' => 1, 'replace' => true, ), 35 => array ( 'symbol' => 'atom', 'len' => 1, 'replace' => true, ), 36 => array ( 'symbol' => 'atom', 'len' => 1, 'replace' => true, ), 37 => array ( 'symbol' => 'atom', 'len' => 1, 'replace' => true, ), 38 => array ( 'symbol' => 'atom', 'len' => 1, 'replace' => true, ), 39 => array ( 'symbol' => 'atom', 'len' => 1, 'replace' => true, ), 40 => array ( 'symbol' => '\'start\'', 'len' => 1, 'replace' => true, ), ); } ?>