3 projects tagged "Lexer"
ucpp is a C preprocessor. It is designed to be quick and light, but still fully compliant to the ISO standard 9899:1999, also known as C99. ucpp can be compiled as a stand-alone program or linked to some other code; in the latter case, ucpp will output tokens, one at a time, on demand, as an integrated lexer. ucpp operates in two modes: in lexer mode, ucpp is linked to some other code and outputs a stream of tokens where each call to the lex() function will yield one token; in non-lexer mode, ucpp preprocesses text and outputs the resulting text to a file descriptor. If linked to some other code, the cpp() function must be called repeatedly, otherwise ucpp is a stand-alone binary.
Piglet is a tool for parsing and lexing text for the .NET framework. The purpose of Piglet is to provide an easy-to-use tool for parsing text which can be easily included in any .NET project as a single assembly. In contrast to most parser generators, Piglet provides a fluent interface which enables you to express your grammar in a syntax which is accessible for users with no prior experience of parser generators. Piglet generates efficient, type safe, and reentrant LALR(1) parsers at runtime, which saves you from having a pre-compile step to generate your parsing tables. It also includes a lexical scanner generator which can be used independently of the parser generator.