Linux id-dci-web1412.main-hosting.eu 5.14.0-611.20.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jan 14 06:35:04 EST 2026 x86_64
LiteSpeed
: 2a02:4780:6:1512:0:19fc:adf1:2 | : 216.73.216.85
Cant Read [ /etc/named.conf ]
8.1.34
u435990001
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
opt /
gsutil /
third_party /
pyparsing /
examples /
[ HOME SHELL ]
Name
Size
Permission
Action
statemachine
[ DIR ]
drwxr-xr-x
AcManForm.dfm
38.22
KB
-rw-r--r--
LAparser.py
20.62
KB
-rw-r--r--
README.md
5.13
KB
-rw-r--r--
Setup.ini
1.41
KB
-rw-r--r--
SimpleCalc.py
3.58
KB
-rw-r--r--
SingleForm.dfm
42.7
KB
-rw-r--r--
TAP.py
7.6
KB
-rw-r--r--
TAP_diagram.html
28.6
KB
-rw-r--r--
__init__.py
0
B
-rw-r--r--
adventureEngine.py
21.91
KB
-rw-r--r--
adventure_game_parser_diagram....
38.37
KB
-rw-r--r--
antlr_grammar.py
11.07
KB
-rw-r--r--
antlr_grammar_diagram.html
269.88
KB
-rw-r--r--
antlr_grammar_tests.py
2.89
KB
-rw-r--r--
apicheck.py
2.49
KB
-rw-r--r--
apicheck_diagram.html
12.56
KB
-rw-r--r--
bf.py
4.27
KB
-rw-r--r--
bf_diagram.html
6.74
KB
-rw-r--r--
bigquery_view_parser.py
62.51
KB
-rw-r--r--
booleansearchparser.py
15.26
KB
-rw-r--r--
btpyparse.py
4.16
KB
-rw-r--r--
builtin_parse_action_demo.py
817
B
-rw-r--r--
cLibHeader.py
853
B
-rw-r--r--
chemical_formulas.html
5.28
KB
-rw-r--r--
chemical_formulas.py
3.33
KB
-rw-r--r--
commasep.py
707
B
-rw-r--r--
complex_chemical_formulas.py
5.26
KB
-rw-r--r--
complex_chemical_formulas_diag...
22.88
KB
-rw-r--r--
configParse.py
2
KB
-rw-r--r--
cpp_enum_parser.py
1.35
KB
-rw-r--r--
cuneiform_python.py
2.57
KB
-rw-r--r--
datetime_parse_actions.py
1.9
KB
-rw-r--r--
decaf_parser.py
7.34
KB
-rw-r--r--
decaf_parser_diagram.html
233.34
KB
-rw-r--r--
delta_time.py
21.57
KB
-rw-r--r--
delta_time_diagram.html
106.3
KB
-rw-r--r--
dfmparse.py
7.05
KB
-rw-r--r--
dhcpd_leases_parser.py
2.98
KB
-rw-r--r--
dictExample.py
1.73
KB
-rw-r--r--
dictExample2.py
2.1
KB
-rw-r--r--
directx_x_file_parser.html
35.78
KB
-rw-r--r--
directx_x_file_parser.py
5.67
KB
-rw-r--r--
ebnf.py
4.49
KB
-rw-r--r--
ebnf_diagram.html
30.49
KB
-rw-r--r--
ebnf_number_parser_diagram.htm...
29.87
KB
-rw-r--r--
ebnf_number_words.py
2.06
KB
-rw-r--r--
ebnftest.py
2.01
KB
-rw-r--r--
email_address_parser.py
1.18
KB
-rw-r--r--
eval_arith.py
6.15
KB
-rw-r--r--
excel_expr.py
2.2
KB
-rw-r--r--
fourFn.py
10.27
KB
-rw-r--r--
gen_ctypes.py
5.28
KB
-rw-r--r--
getNTPserversNew.py
1.11
KB
-rw-r--r--
greeting.py
518
B
-rw-r--r--
greetingInGreek.py
425
B
-rw-r--r--
greetingInKorean.py
495
B
-rw-r--r--
groupUsingListAllMatches.py
509
B
-rw-r--r--
hola_mundo.py
2.02
KB
-rw-r--r--
html_stripper.py
1.68
KB
-rw-r--r--
html_table_parser.py
2.16
KB
-rw-r--r--
httpServerLogParser.py
3.48
KB
-rw-r--r--
idlParse.py
7.53
KB
-rw-r--r--
include_preprocessor.py
2.63
KB
-rw-r--r--
indentedGrammarExample.py
1022
B
-rw-r--r--
indented_block_example.py
712
B
-rw-r--r--
infix_math_parser.py
6.33
KB
-rw-r--r--
inv_regex.py
8.08
KB
-rw-r--r--
javascript_grammar.g
18.1
KB
-rw-r--r--
jsonParser.py
4.7
KB
-rw-r--r--
left_recursion.py
1.41
KB
-rw-r--r--
lineno_example.py
1.49
KB
-rw-r--r--
listAllMatches.py
1.57
KB
-rw-r--r--
lox_parser.py
6.17
KB
-rw-r--r--
lox_parser_diagram.html
136.52
KB
-rw-r--r--
lua_parser.py
8.14
KB
-rw-r--r--
lua_parser_diagram.html
221.2
KB
-rw-r--r--
lucene_grammar.py
8.81
KB
-rw-r--r--
lucene_grammar_diagram.html
46.24
KB
-rw-r--r--
macro_expander.py
1.77
KB
-rw-r--r--
make_diagram.py
1.62
KB
-rw-r--r--
matchPreviousDemo.py
586
B
-rw-r--r--
mongodb_query_expression.html
107.18
KB
-rw-r--r--
mongodb_query_expression.py
19.77
KB
-rw-r--r--
mongodb_query_expression_step_...
7.6
KB
-rw-r--r--
mozilla.ics
752
B
-rw-r--r--
mozillaCalendarParser.py
2.71
KB
-rw-r--r--
nested.py
579
B
-rw-r--r--
nested_markup.py
1.85
KB
-rw-r--r--
number_words.py
4.01
KB
-rw-r--r--
number_words_diagram.html
38.28
KB
-rw-r--r--
numerics.py
1.34
KB
-rw-r--r--
oc.py
4.34
KB
-rw-r--r--
one_to_ninety_nine.py
1.88
KB
-rw-r--r--
parseTabularData.py
1.68
KB
-rw-r--r--
parse_python_value.html
49.46
KB
-rw-r--r--
parse_python_value.py
4.09
KB
-rw-r--r--
parse_results_sum_example.py
853
B
-rw-r--r--
partial_gene_match.py
2.33
KB
-rw-r--r--
pgn.py
3.34
KB
-rw-r--r--
position.py
2.17
KB
-rw-r--r--
protobuf_parser.py
3.89
KB
-rw-r--r--
pythonGrammarParser.py
8.08
KB
-rw-r--r--
railroad_diagram_demo.py
1.55
KB
-rw-r--r--
range_check.py
2.9
KB
-rw-r--r--
readJson.py
120.73
KB
-rw-r--r--
removeLineBreaks.py
1.8
KB
-rw-r--r--
roman_numerals.py
3.64
KB
-rw-r--r--
roman_numerals_diagram.html
29.71
KB
-rw-r--r--
rosettacode.py
7.73
KB
-rw-r--r--
rosettacode_diagram.html
90.46
KB
-rw-r--r--
scanExamples.py
2.36
KB
-rw-r--r--
searchParserAppDemo.py
962
B
-rw-r--r--
searchparser.py
10.4
KB
-rw-r--r--
select_parser.py
8.72
KB
-rw-r--r--
sexpParser.py
5.23
KB
-rw-r--r--
shapes.py
1.69
KB
-rw-r--r--
simpleArith.py
2.42
KB
-rw-r--r--
simpleBool.py
3.19
KB
-rw-r--r--
simpleSQL.py
3.16
KB
-rw-r--r--
simpleWiki.py
1.08
KB
-rw-r--r--
snmp_api.h
28.69
KB
-rw-r--r--
sql2dot.py
3.07
KB
-rw-r--r--
stackish.py
2.71
KB
-rw-r--r--
tag_emitter.py
968
B
-rw-r--r--
tag_metadata.py
1012
B
-rw-r--r--
tag_metadata_diagram.html
5.7
KB
-rw-r--r--
test_bibparse.py
8.72
KB
-rw-r--r--
unicode_denormalizer.py
5.02
KB
-rw-r--r--
urlExtractor.py
1.03
KB
-rw-r--r--
urlExtractorNew.py
2.4
KB
-rw-r--r--
verilog_parse.py
31.16
KB
-rw-r--r--
withAttribute.py
912
B
-rw-r--r--
wordsToNum.py
2.99
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : lua_parser.py
# # lua_parser.py # # A simple parser for the Lua language. # # Copyright 2020, Paul McGuire # """ from https://www.lua.org/manual/5.1/manual.html#8 chunk ::= {stat [';']} [laststat [';']] block ::= chunk stat ::= varlist '=' explist | functioncall | do block end | while exp do block end | repeat block until exp | if exp then block {elseif exp then block} [else block] end | for Name '=' exp ',' exp [',' exp] do block end | for namelist in explist do block end | function funcname funcbody | local function Name funcbody | local namelist ['=' explist] laststat ::= return [explist] | break funcname ::= Name {'.' Name} [':' Name] varlist ::= var {',' var} var ::= Name | prefixexp '[' exp ']' | prefixexp '.' Name namelist ::= Name {',' Name} explist ::= {exp ','} exp exp ::= nil | false | true | Number | String | '...' | function | prefixexp | tableconstructor | exp binop exp | unop exp prefixexp ::= var | functioncall | '(' exp ')' functioncall ::= prefixexp args | prefixexp ':' Name args args ::= '(' [explist] ')' | tableconstructor | String function ::= function funcbody funcbody ::= '(' [parlist] ')' block end parlist ::= namelist [',' '...'] | '...' tableconstructor ::= '{' [fieldlist] '}' fieldlist ::= field {fieldsep field} [fieldsep] field ::= '[' exp ']' '=' exp | Name '=' exp | exp fieldsep ::= ',' | ';' binop ::= '+' | '-' | '*' | '/' | '^' | '%' | '..' | '<' | '<=' | '>' | '>=' | '==' | '~=' | and | or unop ::= '-' | not | '#' operator precedence: or and < > <= >= ~= == | ~ & << >> .. + - * / // % unary operators (not # - ~) ^ """ import pyparsing as pp ppc = pp.pyparsing_common pp.ParserElement.enable_packrat() LBRACK, RBRACK, LBRACE, RBRACE, LPAR, RPAR = pp.Suppress.using_each("[]{}()") COMMA, SEMI, COLON = pp.Suppress.using_each(",;:") OPT_SEMI = pp.Optional(SEMI).suppress() ELLIPSIS = pp.Literal("...") EQ = pp.Literal("=") keywords = { k.upper(): pp.Keyword(k) for k in """\ return break do end while if then elseif else for in function local repeat until nil false true and or not """.split() } vars().update(keywords) any_keyword = pp.MatchFirst(keywords.values()).set_name("keyword") comment_intro = pp.Literal("--") short_comment = comment_intro + pp.rest_of_line long_comment = comment_intro + LBRACK + ... + RBRACK lua_comment = long_comment | short_comment # must use negative lookahead to ensure we don't parse a keyword as an identifier ident = ~any_keyword + ppc.identifier name = pp.DelimitedList(ident, delim=".", combine=True) namelist = pp.DelimitedList(name) number = ppc.number # does not parse levels multiline_string = pp.QuotedString("[[", endQuoteChar="]]", multiline=True) string = pp.QuotedString("'") | pp.QuotedString('"') | multiline_string exp = pp.Forward() # explist1 ::= {exp ','} exp explist1 = pp.DelimitedList(exp) # set up for recursive definition of 'stmt' (since some statements are # composed of nested statements) stat = pp.Forward().set_name("stat") # laststat ::= return [explist1] | break laststat = pp.Group(RETURN + explist1) | BREAK # block ::= {stat [';']} [laststat[';']] block = pp.Group((stat + OPT_SEMI)[1, ...] + pp.Optional(laststat + OPT_SEMI)) # field ::= '[' exp ']' '=' exp | Name '=' exp | exp field = pp.Group( LBRACK + exp + RBRACK + EQ + pp.Group(exp) | name + EQ + pp.Group(exp) | exp ) # fieldsep ::= ',' | ';' fieldsep = COMMA | SEMI # fieldlist ::= field {fieldsep field} [fieldsep] field_list = pp.DelimitedList(field, delim=fieldsep, allow_trailing_delim=True) # tableconstructor ::= '{' [fieldlist] '}' tableconstructor = pp.Group(LBRACE + pp.Optional(field_list) + RBRACE) # parlist1 ::= namelist [',' '...'] | '...' parlist = namelist + pp.Optional(COMMA + ELLIPSIS) | ELLIPSIS # funcname ::= Name {'.' Name} [':' Name] funcname = pp.Group(name + COLON + name) | name # function ::= function funcbody # funcbody ::= '(' [parlist1] ')' block end funcbody = pp.Group(LPAR + parlist + RPAR) + block + END function = FUNCTION + funcbody # args ::= '(' [explist1] ')' | tableconstructor | String args = LPAR + pp.Optional(explist1) + RPAR | tableconstructor | string # this portion of the spec is left-recursive, must break LR loop # varlist1 ::= var {',' var} # var ::= Name | prefixexp '[' exp ']' | prefixexp '.' Name # prefixexp ::= var | functioncall | '(' exp ')' # functioncall ::= prefixexp args | prefixexp ':' Name args exp_group = pp.Group(LPAR + exp + RPAR) prefixexp = name | exp_group functioncall = pp.Group(prefixexp + pp.Optional(COLON + name) + pp.Group(args)) var = pp.Forward() var_atom = functioncall | name | exp_group index_ref = pp.Group(LBRACK + exp + RBRACK) var_part = pp.Group(var_atom + index_ref) | var_atom var <<= pp.DelimitedList(var_part, delim=".") varlist1 = pp.DelimitedList(var) # exp ::= nil | false | true | Number | String | '...' | # function | prefixexp | tableconstructor exp_atom = ( NIL | FALSE | TRUE | number | string | ELLIPSIS | functioncall | var # prefixexp | tableconstructor ).set_name("exp_atom") # precedence of operations from https://www.lua.org/manual/5.3/manual.html#3.4.8 exp <<= pp.infix_notation( exp_atom, [ ("^", 2, pp.opAssoc.LEFT), ((NOT | pp.oneOf("# - ~")).set_name("not op"), 1, pp.opAssoc.RIGHT), (pp.oneOf("* / // %"), 2, pp.opAssoc.LEFT), (pp.oneOf("+ -"), 2, pp.opAssoc.LEFT), ("..", 2, pp.opAssoc.LEFT), (pp.oneOf("<< >>"), 2, pp.opAssoc.LEFT), ("&", 2, pp.opAssoc.LEFT), ("~", 2, pp.opAssoc.LEFT), ("|", 2, pp.opAssoc.LEFT), (pp.oneOf("< > <= >= ~= =="), 2, pp.opAssoc.LEFT), (AND, 2, pp.opAssoc.LEFT), (OR, 2, pp.opAssoc.LEFT), ], ).set_name("exp") assignment_stat = pp.Optional(LOCAL) + varlist1 + EQ + explist1 func_call_stat = pp.Optional(LOCAL) + functioncall do_stat = DO + block + END while_stat = WHILE + exp + block + END repeat_stat = REPEAT + block + UNTIL + exp for_loop_stat = ( FOR + name + EQ + exp + COMMA + exp + pp.Optional(COMMA + exp) + DO + block + END ) for_seq_stat = FOR + namelist + IN + explist1 + DO + block + END if_stat = ( IF + exp + THEN + block + pp.Group(ELSEIF + exp + THEN + block)[...] + pp.Optional(pp.Group(ELSE + block)) + END ) function_def = pp.Optional(LOCAL) + FUNCTION + funcname + funcbody pp.autoname_elements() # stat ::= varlist1 '=' explist1 | # functioncall | # do block end | # while exp do block end | # repeat block until exp | # if exp then block {elseif exp then block} [else block] end | # for Name '=' exp ',' exp [',' exp] do block end | # for namelist in explist1 do block end | # function funcname funcbody | # local function Name funcbody | # local namelist ['=' explist1] stat <<= pp.Group( assignment_stat | do_stat | while_stat | repeat_stat | for_loop_stat | for_seq_stat | func_call_stat | if_stat | function_def ) lua_script = stat[...].set_name("script") # ignore comments lua_script.ignore(lua_comment) if __name__ == "__main__": import contextlib with contextlib.suppress(Exception): lua_script.create_diagram( "lua_parser_diagram.html", vertical=2, show_groups=True ) sample = r""" function test(x) local t = {foo=1, bar=2, arg=x} n = 0 if t['foo'] then n = n + 1 end if 10 > 8 then n = n + 2 end if (10 > 8) then n = n + 2 end for var in vars do print(var, '=', var) end end """ try: result = lua_script.parseString(sample) result.pprint() except pp.ParseException as pe: print(pe.explain()) raise
Close