From: Ulya Trofimovich Date: Wed, 16 Aug 2017 10:52:37 +0000 (+0100) Subject: Updated the main page. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8a3e1ecbe55b47f705590745fa6a421669413c1b;p=re2c Updated the main page. --- diff --git a/src/index.rst b/src/index.rst index 6ca08d7e..37cc7e43 100644 --- a/src/index.rst +++ b/src/index.rst @@ -12,56 +12,72 @@ re2c News -re2c is a lexer generator for C/C++. -Its key features are: +re2c is a free and open-source lexer generator for C and C++. +Its main goal is generating *fast* lexers: at least as fast as their reasonably optimized hand-coded counterparts. +Instead of using traditional table-driven approach, re2c encodes the generated finite state automata directly in the form of conditional jumps and comparisons. +The resulting programs are faster and often smaller than their table-driven analogues, +and they are much easier to debug and understand. +re2c applies quite a few optimizations in order to speed up and compress the generated code. +Another distinctive feature is its flexible interface: instead of assuming a fixed program template, +re2c lets the programmer write most of the interface code and adapt the generated lexer to any particular environment. -* Very fast lexers: the generated code is as good as a carefully tuned, hand-crafted C/C++ lexer. - This is because re2c generates minimalistic, hard-coded state machines - (as opposed to full-featured table-based lexers). -* Flexible API: one can `configure `_ - or even `completely override `_ - the way re2c generates code. - Programmers can adjust their lexer to a particular input model, - avoid unnecessary overhead (drop useless runtime checks, do in-place lexing, etc.), - and make all sorts of hacks. - The `examples `_ cover many real-world cases and shed some light on the dark corners of the re2c API. -* Efficient `Unicode support `_ - (code points are compiled into executable finite-state machines). +Features +-------- -* `Warnings `_. +* `submatch extraction and parsing `_ + based on the efficient `novel algorithm <2017_trofimovich_tagged_deterministic_finite_automata_with_lookahead.pdf>`_ -* `Autogenerated tests `_ with very good coverage. +* `encoding support `_ for ASCII, UTF-8, UTF-16, UTF-32, UCS-2, EBCDIC -* `License `_ (public domain). +* highly `configurable `_ interface + and `generic input API `_ +* `self-validation `_ + and static analysis in the form of `warnings `_ +* ... and other `useful features `_ -Bugs & feedback ---------------- -Please send feedback to `re2c-devel `_ and -the `re2c-general `_ mailing lists -(search `mail archives `_ for old threads), -or `report a bug `_. - -Note that re2c is hosted on both `github `_ -and `sourceforge `_ for redundancy. -Currently, github serves as the main repository, bugtracker, and hosting site for binaries. -Sourceforge is used as a backup repository and for mail -(so please don't send your bugreports or feedback to sourceforge). News & updates -------------- +* `Release 1.0.1 `_ +* `Release 1.0 `_ +* ... and `older news `_ + + .. |feed| image:: feed/feed/feed.png :target: feed/atom.xml :class: feed :width: 2em -Subscribe to receive the latest news and updates: |feed| +`Subscribe `_ to receive the latest news and updates: |feed| + + + +Bugs & feedback +--------------- + +The best place to report a bug is `on github `_ +or in `re2c-devel `_ and `re2c-general `_ mailing lists. +Note that re2c is hosted on both `github `_ +and `sourceforge `_: +github serves as the main repository, bugtracker, and tarball hosting; +sourceforge is used as a backup repository and for mail. + + + +Contribute +---------- + +Contributions can come in various forms: bug reports, patches, pull requests, discussion. +A very easy and valuable contribution is adding your lexer to the main re2c test suite +(this is also a good way to make sure that re2c updated will not break your code). +All contributions are welcome! @@ -79,21 +95,3 @@ This list is by no means complete. These are only the best-known and open source projects. - -Contribute ----------- - -Contributions come in various forms: - -* Tests: a very easy and valuable way of contributing is by adding your lexer to the re2c test suite. - Real-world tests are the best. - Feel free to strip out all non-re2c code if you must keep it secret. - In return, re2c will not break your code (re2c developers strive to never break existing tests). - -* Ideas: new features and new ways to use re2c. - -* Development: bugfixes, features, and ports to other languages. - -Everyone is welcome! - - diff --git a/src/news/release_notes/1_0_1.rst b/src/news/release_notes/1_0_1.rst index 1df38656..c3852935 100644 --- a/src/news/release_notes/1_0_1.rst +++ b/src/news/release_notes/1_0_1.rst @@ -2,8 +2,10 @@ Release 1.0.1 ============= -This is a minor bug-fix release. -It addresses the following issues: +*by Ulya Trofimovich* + +This is a minor bug-fix release; see `release 1.0 <./1_0.html>`_ for details. +This release addresses the following issues: .. include:: ../changelog/1_0_1_list.rst