Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.13
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
doc /
bison /
examples /
c++ /
[ HOME SHELL ]
Name
Size
Permission
Action
calc++
[ DIR ]
drwxr-xr-x
Makefile
418
B
-rw-r--r--
README.md
2.28
KB
-rw-r--r--
simple.yy
2.17
KB
-rw-r--r--
variant-11.yy
3.62
KB
-rw-r--r--
variant.yy
3.24
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : variant.yy
/* Copyright (C) 2008-2015, 2018-2021 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. */ %require "3.2" %debug %language "c++" %define api.token.constructor %define api.value.type variant %define api.location.file none %define parse.assert %locations %code requires // *.hh { #include <string> #include <vector> typedef std::vector<std::string> strings_type; } %code // *.cc { #include <iostream> #include <sstream> namespace yy { // Prototype of the yylex function providing subsequent tokens. static parser::symbol_type yylex (); // Print a vector of strings. std::ostream& operator<< (std::ostream& o, const strings_type& ss) { o << '{'; const char *sep = ""; for (strings_type::const_iterator i = ss.begin (), end = ss.end (); i != end; ++i) { o << sep << *i; sep = ", "; } return o << '}'; } } // Convert to string. template <typename T> std::string to_string (const T& t) { std::ostringstream o; o << t; return o.str (); } } %token <::std::string> TEXT; %token <int> NUMBER; %printer { yyo << '(' << &$$ << ") " << $$; } <*>; %token END_OF_FILE 0; %type <::std::string> item; %type <::std::vector<std::string>> list; %% result: list { std::cout << $1 << '\n'; } ; list: %empty { /* Generates an empty string list */ } | list item { std::swap ($$, $1); $$.push_back ($2); } ; item: TEXT | NUMBER { $$ = to_string ($1); } ; %% namespace yy { // Use nullptr with pre-C++11. #if !defined __cplusplus || __cplusplus < 201103L # define NULLPTR 0 #else # define NULLPTR nullptr #endif // The yylex function providing subsequent tokens: // TEXT "I have three numbers for you." // NUMBER 1 // NUMBER 2 // NUMBER 3 // TEXT "And that's all!" // END_OF_FILE static parser::symbol_type yylex () { static int count = 0; const int stage = count; ++count; parser::location_type loc (NULLPTR, stage + 1, stage + 1); switch (stage) { case 0: return parser::make_TEXT ("I have three numbers for you.", loc); case 1: case 2: case 3: return parser::make_NUMBER (stage, loc); case 4: return parser::make_TEXT ("And that's all!", loc); default: return parser::make_END_OF_FILE (loc); } } // Mandatory error function void parser::error (const parser::location_type& loc, const std::string& msg) { std::cerr << loc << ": " << msg << '\n'; } } int main () { yy::parser p; p.set_debug_level (!!getenv ("YYDEBUG")); return p.parse (); } // Local Variables: // mode: C++ // End:
Close