view docs/details-frpseudocode.rst @ 140:e424fcdd472f

REFACTOR: Change the structure of the documentation: make the README the first page. Make the old "index" an intro.
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 07 May 2026 10:03:32 +0200
parents 0455294e20c4
children c4f6f5e771b0
line wrap: on
line source

.. -*- coding: utf-8; indent-tabs-mode: nil; -*-

**************
 FrPseudocode
**************

This is the pseudocode lexer from the original `pygments-lexer-pseudocode`
package.

It has been changed somewhat:

- renamed from ``Pseudocode`` to ``FrPseudocode``
- changed aliases to ``fr-pseudocode``, ``fr-pseudo``, ``fr-algorithm``
  and ``fr-algo``
- changed file extension to ``.fr-algo`` and ``.fr-pseudocode``
- changed some exististing arrows and added some more
- numbers parsing is more flexible by following the Python lexer
- also allow ``!=`` as inequality operator (in addition to ``<>``)

It mostly just recognizes some (french) keywords and highlights them.

Comments are supported (``//`` and ``/* ... */`` (single-line only))-
"Directives" in "special" comments are to be enclosed in curly braces ``{ ... }``.

It also implements some symbol replacements/conversions like
``<=`` to ``≤``, ``>=`` to ``≥`` or ``<>`` to ``≠``.


.. rubric:: Example:

The follwing example

.. code-block:: none

   /* foo bar */

   fonction fonc-1({passage par valeur}param1)
   début
     si param1 <= 0 alors
       b = 0
     sinon
       b = 1
       a = param1
       répéter
         a = a - 1
         b = b * 2
       tantque a <> 0
     fin si
     retourner b
   fin fonction

will be highlighted as

.. code-block:: fr-algorithm

   /* foo bar */

   fonction fonc-1({passage par valeur}param1)
   début
     si param1 <= 0 alors
       b = 0
     sinon
       b = 1
       a = param1
       répéter
         a = a - 1
         b = b * 2
       tantque a <> 0
     fin si
     retourner b
   fin fonction