annotate docs/details-frpseudocode.rst @ 160:b4028838e0c8

Implement lexer option "prohibit_raiseonerror_filter". Sphinx raises by default when an Error token is seen (by means of the "raiseonerror" filter that is applied by default to lexers in Sphinx). This option skips this and allows error locations to be seen and highlighted properly. While there convert most Generic.Error tokens to Error tokens because now they can be handled by a lexer with "prohibit_raiseonerror_filter=True".
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 08 May 2026 17:46:28 +0200
parents 4acf578ae93f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
128
2a653897f31e Prepare a file for docs of FrPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
1 .. -*- coding: utf-8; indent-tabs-mode: nil; -*-
2a653897f31e Prepare a file for docs of FrPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
2
150
4acf578ae93f Much more details in the documentation
Franz Glasner <fzglas.hg@dom66.de>
parents: 146
diff changeset
3 .. _fr-pseudocode:
4acf578ae93f Much more details in the documentation
Franz Glasner <fzglas.hg@dom66.de>
parents: 146
diff changeset
4
128
2a653897f31e Prepare a file for docs of FrPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
5 **************
2a653897f31e Prepare a file for docs of FrPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
6 FrPseudocode
131
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
7 **************
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
8
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
9 This is the pseudocode lexer from the original `pygments-lexer-pseudocode`
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
10 package.
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
11
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
12 It has been changed somewhat:
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
13
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
14 - renamed from ``Pseudocode`` to ``FrPseudocode``
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
15 - changed aliases to ``fr-pseudocode``, ``fr-pseudo``, ``fr-algorithm``
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
16 and ``fr-algo``
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
17 - changed file extension to ``.fr-algo`` and ``.fr-pseudocode``
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
18 - changed some exististing arrows and added some more
146
ca5b31a30cea Wording
Franz Glasner <fzglas.hg@dom66.de>
parents: 145
diff changeset
19 - numbers parsing is more flexible by following the rules of the `Pygments`_
ca5b31a30cea Wording
Franz Glasner <fzglas.hg@dom66.de>
parents: 145
diff changeset
20 lexer for `Python`_
131
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
21 - also allow ``!=`` as inequality operator (in addition to ``<>``)
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
22
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
23 It mostly just recognizes some (french) keywords and highlights them.
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
24
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
25 Comments are supported (``//`` and ``/* ... */`` (single-line only))-
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
26 "Directives" in "special" comments are to be enclosed in curly braces ``{ ... }``.
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
27
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
28 It also implements some symbol replacements/conversions like
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
29 ``<=`` to ``≤``, ``>=`` to ``≥`` or ``<>`` to ``≠``.
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
30
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
31
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
32 .. rubric:: Example:
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
33
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
34 The follwing example
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
35
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
36 .. code-block:: none
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
37
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
38 /* foo bar */
128
2a653897f31e Prepare a file for docs of FrPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
39
131
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
40 fonction fonc-1({passage par valeur}param1)
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
41 début
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
42 si param1 <= 0 alors
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
43 b = 0
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
44 sinon
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
45 b = 1
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
46 a = param1
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
47 répéter
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
48 a = a - 1
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
49 b = b * 2
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
50 tantque a <> 0
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
51 fin si
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
52 retourner b
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
53 fin fonction
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
54
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
55 will be highlighted as
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
56
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
57 .. code-block:: fr-algorithm
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
58
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
59 /* foo bar */
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
60
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
61 fonction fonc-1({passage par valeur}param1)
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
62 début
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
63 si param1 <= 0 alors
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
64 b = 0
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
65 sinon
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
66 b = 1
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
67 a = param1
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
68 répéter
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
69 a = a - 1
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
70 b = b * 2
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
71 tantque a <> 0
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
72 fin si
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
73 retourner b
0455294e20c4 First and basic documentation of FrPseudocodeLeser
Franz Glasner <fzglas.hg@dom66.de>
parents: 128
diff changeset
74 fin fonction