Jflex

  •        3938

JFlex is a lexical analyzer generator (also known as scanner generator). It is also a rewrite of the very useful tool JLex which was developed by Elliot Berk at Princeton University. JFlex is designed to work together with the LALR parser generator CUP by Scott Hudson, and the Java modification of Berkeley Yacc BYacc/J by Bob Jamison. It can also be used together with other parser generators like ANTLR or as a standalone tool.

http://www.jflex.de/

Tags
Implementation
License
Platform

   




Related Projects

Lexical Analyzer and Parser Generator

  •    Java

Lapg is the combined lexical analyzer and parser generator, which converts a description for a context-free LALR grammar into source file to parse the grammar. Generates code for Java, Javascript, C, C++ and C#.

Grammar-Kit - Grammar files support & parser/PSI generation for IntelliJ IDEA

  •    Java

An IntelliJ IDEA plugin for language plugin developers.Adds BNF Grammars and JFlex files editing support including parser/PSI code generator.

chevrotain - Parser Building Toolkit for JavaScript

  •    TypeScript

Chevrotain is a blazing fast and feature rich Parser Building Toolkit for JavaScript. It can be used to build parsers/compilers/interpreters for various use cases ranging from simple configuration files, to full fledged programing languages. A more in depth description of Chevrotain can be found in this great article on: Parsing in JavaScript: Tools and Libraries.

PEG.js - Parser Generator for JavaScript

  •    Javascript

PEG.js is a simple parser generator for JavaScript that produces fast parsers with excellent error reporting. You can use it to process complex data or computer languages and build transformers, interpreters, compilers and other tools easily. It integrates both lexical and syntactical analysis.

JS/CC LALR(1) Parser Generator

  •    Javascript

JS/CC is a parser generator for JavaScript/ECMAScript, which is entirely written in ECMAScript itself. It produces LALR(1) parsers with integrated lexical analyzers. JS/CC can run as a website or be invoked from a console, and runs on several platforms.


JetPAG: Jet Parser Auto-Generator

  •    C++

JetPAG is a recursive-descent parser and lexical analyzer generator focused on high efficiency, usability and readability of generated code. JetPAG generates fast recognizers and aids developers with useful tools for simplifying input interpretation.

esprima - ECMAScript parsing infrastructure for multipurpose analysis

  •    TypeScript

Esprima (esprima.org, BSD license) is a high performance, standard-compliant ECMAScript parser written in ECMAScript (also popularly known as JavaScript). Esprima is created and maintained by Ariya Hidayat, with the help of many contributors. Esprima can be used to perform lexical analysis (tokenization) or syntactic analysis (parsing) of a JavaScript program.

JFlex

  •    Java

JFlex is a flex-like lexer generator for Java with emphasis on speed and full Unicode support. It has some not so usual features like negation in regexps and nested input streams. Also reads JLex specifications unchanged.

Elr

  •    C++

ELR Parser/scanner generator with lexical conflict resolution

Tie C# statement/expression interpreter

  •    

C# statement/expression interpreter Tie is dynamic language which accepts C# statement/expression syntax and javascript like function and class syntax. Include lexical analysis, parser and virtual machine(VM), support script debug, breakpoint. Middleware, high performance,...

vcif - CIF Validation Software

  •    C

vcif is an open source software for validation of Crystallographic Information Files. It supports lexical, parser and dictionary validation (DDL 1 and 2 are fully supported, DDLm draft partially supported)

rtags - A c/c++ client/server indexer for c/c++/objc[++] with integration for Emacs based on clang.

  •    C++

RTags is a client/server application that indexes C/C++ code and keeps a persistent file-based database of references, declarations, definitions, symbolnames etc. There’s also limited support for ObjC/ObjC++. It allows you to find symbols by name (including nested class and namespace scope). Most importantly we give you proper follow-symbol and find-references support. We also have neat little things like rename-symbol, integration with clang’s “fixits” (http://clang.llvm.org/diagnostics.html). We also integrate with flymake using clang’s vastly superior errors and warnings. Since RTags constantly will reindex “dirty” files you get live updates of compiler errors and warnings. Since we already know how to compile your sources we have a way to quickly bring up the preprocessed output of the current source file in a buffer. While existing taggers like gnu global, cscope, etags, ctags etc do a decent job for C they often fall a little bit short for C++. With its incredible lexical complexity, parsing C++ is an incredibly hard task and we make no bones about the fact that the only reason we are able to improve on the current tools is because of clang (http://clang.llvm.org/). RTags is named RTags in recognition of Roberto Raggi on whose C++ parser we intended to base this project but he assured us clang was the way to go. The name stuck though.

Compiler tools for Nemerle

  •    

RiDL is a set of tools to simplify building compilers using Nemerle. It includes a lexical analyzer generator and a parser generator.

jusText - Heuristic based boilerplate removal tool

  •    Python

Program jusText is a tool for removing boilerplate content, such as navigation links, headers, and footers from HTML pages. It is designed to preserve mainly text containing full sentences and it is therefore well suited for creating linguistic resources such as Web corpora. You can try it online. This software has been developed at the Natural Language Processing Centre of Masaryk University in Brno with a financial support from PRESEMT and Lexical Computing Ltd. It also relates to PhD research of Jan Pomikálek.

Syntactic - Lexical categorization engine for large datasets. Good for NLP and Data Mining.

  •    Java

Lexical categorization engine for large datasets. Good for NLP and Data Mining.

Lexical Analyzer Generator Quex

  •    C++

Generator of extremely fast lexical analysers. Sophisticated input/buffer management. Many character encodings (incl. ASCII, UTF8, UTF16, RUSCII, ...) are directly supported. Regular expressions are specified in the lex/flex style.

PyWordNet

  •    Python

A Python interface to the Wordnet database of word meanings and lexical relationships. allows the user to type expressions such as N['dog'], hyponyms(N['dog'][0]), and closure(ADJ['red'], SYNONYM) to query the database for lexical relationships.

ProgramW

  •    Java

Program W is an AIML interpreter written in Java.It extends Program D technology with new AIML tags that allow chatbots to query the WordNet lexical dictionary.Chatbots can use information about lexical terms and evaluate existing relations between words

flex: the fast lexical analyser

  •    C

flex is a tool for generating scanners: programs which recognize lexical patterns in text.