From 23392be934205a622cf54610cc7847197f55a091 Mon Sep 17 00:00:00 2001 From: Ulya Trofimovich Date: Sat, 5 Mar 2016 11:15:16 +0000 Subject: [PATCH] Updated re2c description on homepage. Fixed typo. --- src/about/about.rst | 7 +++--- src/examples/examples.rst | 10 ++++----- src/index.rst | 37 +++++++++++++++++++++----------- src/manual/features/features.rst | 2 +- src/manual/manual.rst | 2 +- src/manual/warnings/warnings.rst | 9 ++++---- src/news/news.rst | 2 +- 7 files changed, 41 insertions(+), 28 deletions(-) diff --git a/src/about/about.rst b/src/about/about.rst index ccba659a..60d4bcc6 100644 --- a/src/about/about.rst +++ b/src/about/about.rst @@ -28,9 +28,6 @@ Let me know if I missed someone! License ------- -re2c is distributed with no warranty whatever. -The code is certain to contain errors. -Neither the author nor any contributor takes responsibility for any consequences of its use. re2c is in the public domain. The data structures and algorithms used in re2c are all either taken from documents available to the general public or are inventions of the author. Programs generated by re2c may @@ -40,6 +37,10 @@ they can obtain for re2c. If you do make use of re2c, or incorporate it into a l acknowledgement somewhere (documentation, research report, etc.) would be appreciated. +re2c is distributed with no warranty whatever. +The code is certain to contain errors. +Neither the author nor any contributor takes responsibility for any consequences of its use. + Version ------- diff --git a/src/examples/examples.rst b/src/examples/examples.rst index 1d863261..df547d84 100644 --- a/src/examples/examples.rst +++ b/src/examples/examples.rst @@ -2,8 +2,12 @@ Examples ======== +All examples are written in C++-98. +`Do let me know `_ if you notice any obvious lies and errors. +You can find more examples in subdirectory ``examples`` of the ``re2c`` distribution. + .. toctree:: - :hidden: + :maxdepth: 1 Recognizing integers: the sentinel method Recognizing strings: the need for YYMAXFILL @@ -13,7 +17,3 @@ Examples Braille patterns (encodings) C++98 lexer -All examples are written in C++-98. -`Do let me know `_ if you notice any obvious lies and errors. -You can find more examples in subdirectory ``examples`` of the ``re2c`` distribution. - diff --git a/src/index.rst b/src/index.rst index d996b705..cd8389fc 100644 --- a/src/index.rst +++ b/src/index.rst @@ -13,20 +13,31 @@ re2c re2c is a lexer generator for C/C++. -It has two key features: +Its key features are: -* Very fast lexers. The generated code is like a carefully tuned hand-crafted C/C++ lexer. - It's because re2c generates minimalistic hard-coded DFA - (as opposed to full-featured table based lexers). +* Very fast lexers: the generated code is as good as a carefully tuned hand-crafted C/C++ lexer. + It's because re2c generates minimalistic hard-coded state machine + (as opposed to full-featured table-based lexers). -* Very flexible lexers. The generated code can be wired into virtually any environment. - Instead of exposing a traditional API, re2c gives you access to its internals, - so that you can mess with the guts of your lexer as much as you need. - Of course, this can lead to all sorts of bad things. - With great flexibility comes great responsibility. ;) - Be sure to take a look at `examples `_, - they cover a lot of real-world cases and - shed some light on dark corners of re2c API. +* Flexible API: the generated code can be wired into virtually any environment. + Instead of exposing traditional ``yylex()`` style API, re2c exposes its internals. + This gives you several opportunities. + First, you can avoid unnecessary overhead: drop useless runtime checks, do inplace lexing, etc. + Second, you can adjust lexer to your particular input model. + Third, you can make all sorts of strange hacks. + Of course, this means that you have to be careful: + with great power comes great responsibility. + Be sure to take a look at `examples `_, + they cover a lot of real-world cases and shed some light on dark corners of re2c API. + +* `Warnings `_ (static analyses): + re2c warns you when your code is bad and suggests a fix. + +* `Autognerated tests `_ (dynamic analyses): + re2c generates test program together with the input data. + The generated input has very good coverage. + +* `License `_ (public domain). @@ -64,7 +75,7 @@ Projects that use re2c * `ninja `_ (a small build system with a focus on speed) * `yasm `_ (assembler) * `spamasassin `_ (anti-spam platform) -* `BLR-CAD `_ (cross-platform solid modeling system) +* `BRL-CAD `_ (cross-platform solid modeling system) * ... last but not least, `re2c `_ This list is by no means complete; diff --git a/src/manual/features/features.rst b/src/manual/features/features.rst index 3d883101..c7c71fc4 100644 --- a/src/manual/features/features.rst +++ b/src/manual/features/features.rst @@ -3,7 +3,7 @@ Features ======== .. toctree:: - :hidden: + :maxdepth: 1 Conditions State diff --git a/src/manual/manual.rst b/src/manual/manual.rst index c6176949..70f7ffa4 100644 --- a/src/manual/manual.rst +++ b/src/manual/manual.rst @@ -3,7 +3,7 @@ Manual ====== .. toctree:: - :hidden: + :maxdepth: 1 Options Warnings diff --git a/src/manual/warnings/warnings.rst b/src/manual/warnings/warnings.rst index 54f328dc..e59144d8 100644 --- a/src/manual/warnings/warnings.rst +++ b/src/manual/warnings/warnings.rst @@ -2,8 +2,12 @@ Warnings ======== +.. include:: warnings_general.rst + +re2c has the following warnings: + .. toctree:: - :hidden: + :maxdepth: 1 [-Wundefined-control-flow] [-Wunreachable-rules] @@ -12,6 +16,3 @@ Warnings [-Wswapped-range] [-Wempty-character-class] [-Wmatch-empty-string] - -.. include:: warnings_general.rst - diff --git a/src/news/news.rst b/src/news/news.rst index 1a946b8a..a562358e 100644 --- a/src/news/news.rst +++ b/src/news/news.rst @@ -3,7 +3,7 @@ News ==== .. toctree:: - :hidden: + :maxdepth: 1 Release 0.16 Release 0.15.3 -- 2.40.0