#220 Documentation: Number of typos in Doc

Clem Wang

I noticed a few typos in the PDF of the Quex Doc 0.50.1 (which seems to be not exactly the same as the web version: http://quex.sourceforge.net/doc/html/main.html )

Here's what I have found so far:
p4 - middle of page: quasi-paralell => quasi-parallel
p5 - middle of page: QUEX_PATH => QUEX_PATH
p6 - 6th line from top: $ldots$ => ...
p14 -5th from top: about those example => about this example
p15 3rd line from top: (see section <<>>)
p15 -6th line from top: dubios => dubious
p15 - near middle: repeated_to -> this line is too long and gets truncated. You need to wrap it. (Actually, I now think the whole paragraph is supposed to be in the regular font, not the courier type used for code.)
p16 - last line: see 'Design Patterns' (<<>>)
p19 - second line: abovementioned => above mentioned
p19 - 7th line from bottom: 0x, Example 0o751 => 0o, Example 0o751
p23 - 2nd line from bottom: Section <<sec-practical patterns="">>
p24 - 1st paragraph: a number of calls to citation macros seemed to have failed...
p25 - line 11: '$[$' and '$]$' => '[' and ']'
p25 - line 15: [: expression :] => [:expression:] (Remove extra spaces and italicize expression)
p25 - about middle mean from j to o). Note, that - standards for => mean from j to o). Note, that - stands for (There's also some weird paragraph breaking here too.)
p28 - Looks like more cite macro problems (I'm guessing...)
p41 - 4th line from the bottom: section ref{formal/patterns/context-free-pitfalls}
p53 - 11th line: <>
p53 - 11th line from bottom: See <

p55 - middle - text switches over to courier
p56 line 2 & 3: described in _sec-usage-modes- characteristics-event-handlers.
p57 - 2nd & 3rd line: produce a behavior that is conform to the standard. => produce a behavior that conforms to the standard.
p64 - 2nd line and 1/3 from top: hierachie => hierarchy
p64 - 1/3 from the top: hierachie => hierarchy
p65 - 12th from the bottom: Section <
p70 - 4th line from bottom and 8th line from bottom: contra => con
p91 - 3rd line from top - paragrpahs => paragraphs

As a matter of personal taste, I like the section titles to be at the top of page and not at the bottom...


  • Clem Wang
    Clem Wang


    Chapter 2 or 3 I had difficulty matching the literal "/". It's not described (I don't think) how to escape special characters. I ended up using [/]

    p11. (4th line from bottom) The Second TKN_NUMBER should be TKN_LETTER
    p12 It seems (from the code examples) that
    self << MINI
    has been replaced with
    but I'm not sure...

    p15 "that allow to PAST code directly" should be "that allow to PASS code directly"
    p100 "seemingless" => "seamless" (I think that's what's intended).
    p159 "the forth important" => "the fourth important"
    pp161-165 - various command line options seem to have extraneous quotes. For example, there's a quote after the -o option:

    -o,-engine,-analyzer-class` name

    (FWIW, I prefer to use italicized fonts to indicate names of parameters that are to be substituted.)

    p180, 8.4 State Machine Plots. This needs to be updated.

    Last version of Quex supporting --plot option is version 0.59.9.

    The documentation example should be:

    quex -i core.qx --language dot

    (probably should leave the old example in, in case people come across old quex code.)

    General caution: I suspect one of the authors is probably not a native English speaker/writer, so s/he appears to get confused by a few homophones, e.g. "pass" vs. "past", so any proofreader needs to be aware of that. (This is not to denigrate the author as I would have a terrible time writing in any language other than English! I think s/he has done remarkable well.)

  • Clem Wang
    Clem Wang

    More confusion:

    Second line is:

    [0-9]+ => QUEX_TKN_NUMBER(atoi((char*)Lexeme));

    however that doesn't work. It needs to be (as in the sample code):

    [0-9]+ => QUEX_TKN_NUMBER(number=(size_t)atoi((char*)Lexeme));

    Also not documented is the text= parameter. I don't understand it, but on the third line on p22:

    [_a-zA-Z]+ => QUEX_TKN_IDENTIFIER(Lexeme); // is legal

    [_a-zA-Z]+ => QUEX_TKN_IDENTIFIER(text=Lexeme); // is ILLEGAL

    [_a-zA-Z]+ => QUEX_TKN_ALPHA(text=((char*)(Lexeme))); // is legal

    This is not explained in the documentation (and I'm unclear as to what this all means...)

  • Clem Wang
    Clem Wang

    Illegible Figures:

    p72 - Fig 4.2
    p73 - Fig 4.3
    p181 Fig 8.2

    Figures that have missing parts

    p74 Fig 4.4 is missing the top. (Maybe this is deliberate?)
    p157 Fig 7.2 is missing its top.

  • Clem Wang
    Clem Wang

    p68 lines 3 and 8: number "9" is in blue code comment font

    p71 bad definitions:
    CAPITAL [-]

    p81, 88, 90-1, 93-6 top of page: code comment extend beyond left margin

    p97 bottom four lines: some text is in courier (code font) when it should be in the text font.

    p106 top of page: code extend beyond left margin

    p112-4 middle of page: code extend beyond left margin

    p115 bottom two lines: some text is in courier (code font) when it should be in the text font.

    p118-9 middle of page: code extend beyond left margin

    p122 middle of page: code extend beyond left margin

    p129 bottom half of page: code comments extend beyond left margin

    p133 analyzis => analysis

    p133 second line from bottom: the number "9" is in blue font for no apparent reason

    p133 last line: comment extends beyond left margin

  • Clem Wang
    Clem Wang

    p44 line 7 "fuss of the" => "fuss off the"
    p47 line 1: "Analyzis" => "Analysis"
    p55: middle section text is in Courier (code) font.

  • Clem Wang
    Clem Wang

    p27 line 9: "also used aa buffer" => "also used as a buffer"

  • Clem Wang
    Clem Wang

    p46, 9th line from bottom "4069" => "4096"
    p49 "analyzis" => "analysis"
    p51 line 18 and 28 "quex_mode" uses the Greek letter Chi instead of the English x
    p51 lines last and second last lines has:
    which seems wrong.
    p52 lines 4 & 5 switch to Courier Font

  • Clem Wang
    Clem Wang

    p11 4th line from bottom "TKN_NUMBER" => "TKN_IDENTIFIER" (I had earlier suggested it be TKN_LETTER which isn't as good as IDENTIFIER.)
    p44 line 10 "specified in brackets" => "specified in parenthesis". I think the sentence means ().
    p99 "analyzis" => "analysis" in three different places
    p101-102 bottom two lines of p101 and top of p102 should be in courier font for the code
    p106 "analyzis" => "analysis" in two different places
    p106 "invoques" => "invokes"
    p106 line 10 missing semicolon after free(queue)
    p107 "analyzis" => "analysis" in two different places
    p107 line 5 "multipl" => "multiple"

  • Clem Wang
    Clem Wang

    p11 definitions for "for" and "while" should come BEFORE the identifier pattern of [a-zA-Z_]+. Otherwise, the identifier pattern would match "for" and "while" so those keywords would never get lexed properly. This is described in the Pitfalls section 3.2.4 (p38).
    p38 "tabulator" should be "tab character"

  • Clem Wang
    Clem Wang

    The compiler options are badly out of date, which is unfortunate, because if you do quex --help it tells you to look at the website documentation.

    First of all, starting on page 161 or so, it seems like the PDF version of the documentation indicates the options start with a SINGLE DASH instead of DOUBLE DASH. The website indicates a DOUBLE DASH.

    Worse, is the PDF version claims to be 0.50.1 and the Web version also claims to be 0.50.1 but they disagree on the double dashes. (The web version also has an index!)


    --output-dir, --odir uses two dashes in web version and one dash in PDF version.

    Another thing, is that the PDF and Web versions include command line options that don't seem to exist any more:


    AND I just discovered that the web version includes flags that the PDF version doesn't have and that I would have loved to have known about:



    Probably should at least build a new PDF version that corresponds to the more up to date Web version.

  • Clem Wang
    Clem Wang

    Documentation for on_match (p13) doesn't mention that the code for this event handler gets executed BEFORE the code that handles the match..

    (I also suggest an analogous on_after_match to be executed after the match.)

    The Documentation for on_exit should mention that Lexeme and LexemeL (and I presume LexemeBegin and LexemeEnd) are not defined inside the handler for that code. However, I for one, would have like it if on_exit preserved the last values for the Lexeme variables.

    See: https://sourceforge.net/projects/quex/forums/forum/574343/topic/5059717/index/page/1