8000 GitHub - wolkdev/tokenizer: header only c++ tokenizer
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

wolkdev/tokenizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Header Only Tokenizer

Installation

Simply add tokenizer.hpp to your c++ project !

Usage

// tokenizer initialization

tokenizer tok;

tok.set_dropped_delimiters(" \t\r\n");

tok.add_kept_delimiter("=");
tok.add_kept_delimiter("*");
tok.add_kept_delimiter("{");
tok.add_kept_delimiter("}");
tok.add_kept_delimiter("(");
tok.add_kept_delimiter(")");
tok.add_kept_delimiter(";");
tok.add_kept_delimiter("&");
tok.add_kept_delimiter("&&");
tok.add_kept_delimiter(":");
tok.add_kept_delimiter("::");
tok.add_kept_delimiter("\"");

// tokenize

tok.start(str);

while (!tok.finished())
{
    const std::string& token = tok.next();

    std::cout << token << "\n";
}

So the following input string :

class my_class
{
    private:
    int* iptr = nullptr;
    std::string str = "";

    my_class(std::string&& _str);
}

will output this tokens :

class
my_class
{
private
:
int
*
iptr
=
nullptr
;
std
::
string
str
=
"
"
;
my_class
(
std
::
string
&&
_str
)
;
}

About

header only c++ tokenizer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0