Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
annotate docs/details-algpseudocode.rst @ 148:b4688f6cc7b1
Docs: emphasize "value" more when describing explicit token types
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Thu, 07 May 2026 14:35:48 +0200 |
| parents | c4f6f5e771b0 |
| children | 4acf578ae93f |
| rev | line source |
|---|---|
|
88
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
1 .. -*- coding: utf-8; indent-tabs-mode: nil; -*- |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
2 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
3 |
|
127
4d55475d61a3
Make the details of the AlgPseudocodeLexer part of the "Details" docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
126
diff
changeset
|
4 *************** |
|
4d55475d61a3
Make the details of the AlgPseudocodeLexer part of the "Details" docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
126
diff
changeset
|
5 AlgPseudocode |
|
4d55475d61a3
Make the details of the AlgPseudocodeLexer part of the "Details" docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
126
diff
changeset
|
6 *************** |
|
88
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
7 |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
8 Lexer Options |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
9 ============= |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
10 |
|
142
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
11 .. describe:: no_end |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
12 |
|
142
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
13 **Type:** `bool` |
|
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
14 |
|
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
15 **Default:** `False` |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
16 |
|
142
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
17 If ``True`` all the ``\ENDxxx`` commands will be skipped and yield |
|
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
18 nothing. |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
19 |
|
142
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
20 .. describe:: gets |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
21 |
|
142
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
22 **Type:** `str` or `None` |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
23 |
|
142
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
24 **Default:** `None` (yields ``←``) |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
25 |
|
142
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
26 The operator symbol to be printed by the command ``\GETS``. |
|
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
27 |
|
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
28 An often used alternative is ``:=``. |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
29 |
|
142
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
30 .. describe:: remark |
|
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
31 |
|
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
32 **Type:** `str` or `None` |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
33 |
|
142
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
34 **Default:** `None` (yields ``▷``) |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
35 |
|
142
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
36 The symbol to be printed as when starting comments with |
|
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
37 ``\REMARK`` or ``\REM``. |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
38 |
|
144
b616f9645e37
More referencing with internal and external links
Franz Glasner <fzglas.hg@dom66.de>
parents:
142
diff
changeset
|
39 To use a lexer with non-default options in `Sphinx`_ see section |
|
b616f9645e37
More referencing with internal and external links
Franz Glasner <fzglas.hg@dom66.de>
parents:
142
diff
changeset
|
40 :ref:`customized-sphinx-lexers`. |
|
b616f9645e37
More referencing with internal and external links
Franz Glasner <fzglas.hg@dom66.de>
parents:
142
diff
changeset
|
41 |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
42 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
43 Comments |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
44 ======== |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
45 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
46 - with the ``\REMARK`` or ``\REM`` keywords |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
47 - multi-line comments with ``/* ... */``; they can be **nested** |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
48 - multi-line comments with ``(* ... *)``; they can be **nested** |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
49 - single-line comments with ``//`` or ``#`` (until the end of the line) |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
50 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
51 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
52 Literals |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
53 ======== |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
54 |
|
145
c4f6f5e771b0
Also define the :algpseudocode: role globally in the package documentation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
144
diff
changeset
|
55 Strings and numbers as in `Python`_. |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
56 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
57 To yield non-string-delimiting single- and double-quotes you have to escape them |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
58 using ``\'`` or ``\"``. This must be used to typeset something as |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
59 :algpseudocode:`f\\'(x) = 0`. |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
60 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
61 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
62 Keywords |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
63 ======== |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
64 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
65 Explicit Keywords |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
66 ----------------- |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
67 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
68 - Start with a backslash character ``\`` |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
69 - Case-insensitive |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
70 - Translated if a translation is found |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
71 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
72 Parameter handling is as follows: |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
73 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
74 - Parameters are enclosed in curly braces ``{`` and ``}`` |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
75 - Escaping within the braces is possible using the backslash ``\`` |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
76 - Parameters are separated from the keyword/command by a (possibly empty) run |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
77 of space or TAB characters. |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
78 This is true for required and optional parameters. |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
79 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
80 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
81 With Required Parameters |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
82 ~~~~~~~~~~~~~~~~~~~~~~~~ |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
83 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
84 .. code-block:: algpseudocode |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
85 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
86 \TEXT{\PROGRAM {A Program\} or \PROG {A Program\}} \PROGRAM {A Program} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
87 \TEXT{\ALGORITHM{An Algorithm\} or \ALGO{An Algorithm\}} \ALGORITHM{An Algorithm} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
88 \TEXT{\PROCEDURE{A Procedure\} or \PROC{A Procedure\}} \PROCEDURE{A Procedure} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
89 \TEXT{\FUNCTION{A Function\} or \FUNC{A Function\} or \FN{A Function\}} \FUNCTION{A Function} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
90 \TEXT{\CLASS{A Class\}} \CLASS{A Class} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
91 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
92 \TEXT{\STATEMENT{the expression\} \STATE{the expression\} \BLOCK{the expression\}} \STATEMENT{the expression} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
93 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
94 \TEXT{expr1: \\EXPRESSION{expression a in b\} expr2: \\EXPR{expression b in a\}} \TEXT{expr1: \EXPRESSION{expression a in b} expr2: \EXPR{expression b in a}} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
95 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
96 \TEXT{\TEXTSTATEMENT{the text\} \TEXTSTATE{the text\} \TSTATEMENT{the text\} \TSTATE{the text\} \TEXTBLOCK{the text\} \TBLOCK{the text\}} \TEXTSTATEMENT{the text} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
97 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
98 \TEXT{\INPUT{Input 1\}} \INPUT{Input 1} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
99 \TEXT{\INPUTS{Input 2\}} \INPUTS{Input 2} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
100 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
101 \TEXT{\OUTPUT{Output 1\}} \OUTPUT{Output 1} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
102 \TEXT{\OUTPUTS{Output 2\}} \OUTPUTS{Output 2} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
103 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
104 \TEXT{\ENSURE{Whatever should be ensured!\}} \ENSURE{Whatever should be ensured!} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
105 |
|
142
5df4403f9e18
Reformae the description of the lexer options
Franz Glasner <fzglas.hg@dom66.de>
parents:
127
diff
changeset
|
106 \TEXT{\REQUIRE{Whatever should be required.\}} \REQUIRE{Whatever should be required.} |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
107 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
108 \TEXT{\RETURNS{Return 2\}} \RETURNS{Return 2} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
109 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
110 \TEXT{\CALL{a function\}(p1, p2)} \CALL{a function}(p1, p2) |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
111 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
112 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
113 With Optional Parameters |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
114 ~~~~~~~~~~~~~~~~~~~~~~~~ |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
115 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
116 Some ``END``-keywords have optional parameters: |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
117 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
118 .. code-block:: algpseudocode |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
119 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
120 \TEXT{\ENDPROGRAM \ENDPROG} \ENDPROGRAM |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
121 \TEXT{\ENDALGORITHM \ENDALGO} \ENDALGORITHM |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
122 \TEXT{\ENDPROCEDURE \ENDPROC} \ENDPROCEDURE |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
123 \TEXT{\ENDFUNCTION \ENDFUNC \ENDFN} \ENDFUNCTION |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
124 \TEXT{\ENDCLASS} \ENDCLASS |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
125 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
126 They are used like this: |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
127 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
128 .. code-block:: algpseudocode |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
129 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
130 \TEXT{\CLASS{Foo Bar Class\} ... \END CLASS {Foo Bar Class\}} \TEXT{yields} \CLASS{Foo Bar Class} ... \END CLASS {Foo Bar Class} |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
131 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
132 .. seealso:: Syntax variants: `END-Keywords`_ |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
133 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
134 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
135 Without Parameters |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
136 ~~~~~~~~~~~~~~~~~~ |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
137 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
138 "Normal" Keywords |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
139 ''''''''''''''''' |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
140 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
141 .. code-block:: algpseudocode |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
142 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
143 \TEXT{\IF} \IF |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
144 \TEXT{\THEN} \THEN |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
145 \TEXT{\ELSE} \ELSE |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
146 \TEXT{\ELSEIF or \ELSIF or \ELIF} \ELSEIF \text{or} \ELSIF \text{or} \ELIF |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
147 \TEXT{\DO} \DO |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
148 \TEXT{\WHILE} \WHILE |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
149 \TEXT{\FORALL} \FORALL |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
150 \TEXT{\FOR} \FOR |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
151 \TEXT{\FROM} \FROM |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
152 \TEXT{\TO} \TO |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
153 \TEXT{\STEP} \STEP |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
154 \TEXT{\IN} \IN |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
155 \TEXT{\LOOP} \LOOP |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
156 \TEXT{\REPEAT} \REPEAT |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
157 \TEXT{\UNTIL} \UNTIL |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
158 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
159 \TEXT{\RETURN} \RETURN |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
160 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
161 \TEXT{\BEGIN} \BEGIN |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
162 \TEXT{\END} \END |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
163 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
164 \TEXT{\IS} \IS |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
165 \TEXT{\WITH} \WITH |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
166 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
167 \TEXT{\\REMARK or \\REM} \REMARK A comment with a sigil |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
168 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
169 ``\REMARK`` or ``\REM`` is special: all characters to the end of the |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
170 line are taken as comment; curly braces are not needed -- in fact: |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
171 they are interpreted as part of the comment. |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
172 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
173 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
174 END-Keywords |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
175 '''''''''''' |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
176 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
177 The separator character can be empty, a run of ASCII spaces, a run of TAB characters, |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
178 a single underscore ``_`` or a single hyphen ``-`` like: |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
179 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
180 ``\ENDIF``, ``\END IF``, ``\END-IF``, ``\END_IF`` or ``\END IF`` |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
181 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
182 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
183 .. code-block:: algpseudocode |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
184 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
185 \text{\ENDIF} \ENDIF \rem empty |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
186 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
187 \text{\END IF} \END IF \rem a single space |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
188 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
189 \text{\END IF} \END IF \rem two spaces |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
190 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
191 \text{\END-IF} \END-IF \rem a single hyphen |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
192 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
193 \text{\END_IF} \END_IF \rem a single underscore |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
194 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
195 \text{\END IF} \END IF \rem a single TAB character |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
196 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
197 The list of END-keywords (here always just with ``-`` as separator): |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
198 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
199 .. code-block:: algpseudocode |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
200 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
201 \text{\END-PROGRAM \END-PROG} \END-PROGRAM |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
202 \text{\END-ALGORITHM \END-ALGO} \END-ALGORITHM |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
203 \text{\END-PROCEDURE \END-PROC} \END-PROCEDURE |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
204 \text{\END-FUNCTION \END-FUNC \END-FN} \END-FUNCTION |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
205 \text{\END-CLASS} \END-CLASS |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
206 \text{\END-IF} \END-IF |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
207 \text{\END-WHILE} \END-WHILE |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
208 \text{\END-FOR} \END-FOR |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
209 \text{\END-FORALL} \END-FORALL |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
210 \text{\END-LOOP} \END-LOOP |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
211 |
|
88
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
212 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
213 Explicit Token Types |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
214 ==================== |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
215 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
216 Handle keywords and operators that are not handled by default or change |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
217 the default handling of some expressions. |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
218 |
|
148
b4688f6cc7b1
Docs: emphasize "value" more when describing explicit token types
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
219 `XX` represents a `value` in the :mod:`pygments.token.STANDARD_TYPES` dict. |
|
88
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
220 Its corresponding token type (the associated `key` in this `dict`) is used as |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
221 token type. |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
222 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
223 ``\\tt-XX/SINGLE-CHAR`` |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
224 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
225 no escaping needed |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
226 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
227 `SINGLE-CHAR` is a single character and can be *every* character |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
228 (including a carriage-return or line-feed) |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
229 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
230 ``\\ttx-XX{CHARACTERS}`` |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
231 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
232 ``\\ttx-XX(CHARACTERS)`` |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
233 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
234 ``\\ttx-XX[CHARACTERS]`` |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
235 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
236 ``\\ttx-XX<CHARACTERS>`` |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
237 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
238 ``\\ttx-XX<SEP>CHARACTERS<SEP>`` |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
239 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
240 No escaping possible! There are enough alternatives available! |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
241 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
242 `SEP` is one of ``/:|=*+!\$~``. |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
243 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
244 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
245 Examples: |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
246 |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
247 .. code-block:: algpseudocode |
|
88
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
248 |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
249 \text{• \\tt-kc/C} \tt-kc/C \rem C as Keyword.Constant |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
250 \text{• \\tt-ow/∈} \tt-ow/∈ \rem ∈ as Operator.Word |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
251 \text{• \\ttx-kc{A New Constant Keyword\}} \ttx-kc{A New Constant Keyword} \rem As a new Keyword.Constant |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
252 \text{• \\ttx-nv{A New Variable Name\}} \ttx-nv{A New Variable Name} \rem An explicit Name.Variable |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
253 \text{• \\ttx-k(∈ ∌)} \ttx-k(∈ ∌) \rem ∈ and ∌ as (ordinary) Keywords |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
254 \text{• \\ttx-o<∈ ∌>} \ttx-o<∈ ∌> \rem ∈ and ∌ as (ordinary) Operators |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
255 /* |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
256 * The line below has ∈_∌ as (peculiar) function name. |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
257 * Their params are automatic. |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
258 */ |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
259 \text{• \\ttx-nf<∈_∌>(p1, p2)} \ttx-nf<∈_∌>(p1, p2) |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
260 /* |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
261 * The line below has ∈_∌ as (peculiar) decorator name (as used in Python). |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
262 * Their params are automatic. |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
263 */ |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
264 \text{• \\ttx-nd[∈_∌](p1, p2)} \ttx-nd[∈_∌](p1, p2) |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
265 /* |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
266 * This is a non-existing token type: you get some generic error marking |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
267 * with a Generic.Error token and no expansion. |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
268 */ |
|
03e9031b5eca
Some details and examples about \tt-XXX and \ttx-XXX in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
269 \text{• \\ttx-NON-EXISTING[∈_∌](p1, p2)} \ttx-NON_EXISTING[∈_∌](p1, p2) |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
270 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
271 .. note:: Explicit token types are **case-sensitive**. |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
272 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
273 |
|
144
b616f9645e37
More referencing with internal and external links
Franz Glasner <fzglas.hg@dom66.de>
parents:
142
diff
changeset
|
274 .. _customized-sphinx-lexers: |
|
b616f9645e37
More referencing with internal and external links
Franz Glasner <fzglas.hg@dom66.de>
parents:
142
diff
changeset
|
275 |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
276 Customized Lexers in Sphinx |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
277 =========================== |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
278 |
|
144
b616f9645e37
More referencing with internal and external links
Franz Glasner <fzglas.hg@dom66.de>
parents:
142
diff
changeset
|
279 Defining lexers with non-default options in `Sphinx`_ can be done in its |
|
125
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
280 configuration file :file:`conf.py`: |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
281 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
282 .. code-block:: python |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
283 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
284 from functools import partial |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
285 from pygments_lexer_pseudocode2.algpseudocode import AlgPseudocodeLexer |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
286 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
287 def setup(app): |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
288 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
289 # |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
290 # Add a custom lexer: AlgPseudocodeLexer with custom init |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
291 # option "no_end". |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
292 # |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
293 # In modern Sphinx versions given lexer must be callable and may |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
294 # not be a lexer instance. So use an indirection with "partial" |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
295 # here. |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
296 # |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
297 app.add_lexer("noend-algpseudocode", |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
298 partial(AlgPseudocodeLexer, no_end=True)) |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
299 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
300 Similarily it works for custom styles and filters. |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
301 |
|
3629bf09b30d
Much more documentation including most details of the AlgPseudocodeLexer
Franz Glasner <fzglas.hg@dom66.de>
parents:
88
diff
changeset
|
302 For older Sphinx versions your mileage may vary. |
