Features

Everything AlgoLab can do

A full tour of the language and tooling, from base types to recursive functions.

The language

Five types, 1-indexed

AlgoLab supports the base types taught in class: integers, reals, characters, booleans, and arrays. Implicit coercion only from Integer to Real, everything else is strictly typed.

Entier
42, -7, 0
Reel
3.14, -0.5
Caractere
"Bonjour"
Booleen
Vrai, Faux
Type[taille]
Fixed-size arrays, indexed starting at 1
declarations.algo
Variable i, j : Entier ; nom : Chaine ; ok : Booleen
Variable notes : Entier[30]

Debut
  i <- 1
  nom <- "AlgoLab"
  ok <- Vrai
  notes[1] <- 18
  Ecrire "i=", i, " nom=", nom
Fin
The language

Si / SinonSi / Sinon, no surprises

The classic conditional structure, exactly as taught. SinonSi or Sinon_Si, both work. Blocks are evaluated in order.

  • Case-insensitive: Si, SI, si
  • Logical operators ET, OU, NON
  • Automatic detection of unclosed blocks
notes.algo
Variable note : Entier
Debut
  Lire(note)
  Si note >= 16 Alors
    Ecrire "Tres bien"
  SinonSi note >= 12 Alors
    Ecrire "Bien"
  SinonSi note >= 10 Alors
    Ecrire "Passable"
  Sinon
    Ecrire "Insuffisant"
  FinSi
Fin
The language

Pour and TantQue, with configurable step

Pour loop with bound and step (negative allowed to count down), classic TantQue loop. AlgoLab detects invalid steps and recursion at runtime.

  • Default step = 1 if omitted
  • Negative step to count down: Pas -1
  • Explicit error if step = 0
boucles.algo
Variable i, j : Entier
Debut
  Pour i De 1 A 10 Pas 2 Faire
    Ecrire i
  FinPour

  j <- 0
  TantQue j < 3 Faire
    Ecrire j
    j <- j + 1
  FinTantQue
Fin
The language

Functions, typed parameters, recursion

Declare functions with typed parameters and a return type. Recursion supported natively, local scope per call, chained calls possible.

  • Parameters grouped by type with ; or ,
  • Recursion: factorial, Fibonacci, etc.
  • Nested calls: Quadruple(Double(n))
fact.algo
Fonction Fact(n : Entier) : Entier
  Variable r : Entier
  Si n == 0 Alors
    r <- 1
  Sinon
    r <- n * Fact(n - 1)
  FinSi
  Retourner r
FinFonction

Variable resultat : Entier
Debut
  resultat <- Fact(5)
  Ecrire "5! =", resultat
Fin
The language

Every operator you need

Arithmetic, comparison, logic. String concatenation with +.

+Addition
-Subtraction
*Multiplication
/Division
%Modulo
<-Assignment
==Equal
!=Not equal
< >Comparison
ETLogical AND
OULogical OR
NONNegation
The tooling

Full VS Code extension

Highlighting, snippets, execution, diagnostics — the complete environment to turn VS Code into a pseudo-code IDE. Search for AlgoLab in the VS Code marketplace and install in one click.

  • Snippets: algo, si, pour, tant_que, fonction
  • ▶ Run button right in the toolbar
  • Automatic diagnostics on save
  • Configuration via algolab.executablePath
Extension AlgoLab dans VS Code
The errors

Three categories, always pedagogical

AlgoLab never returns a stack trace. Every error is phrased in French, located down to the line, with an explanation.

Syntax

The code doesn't follow the grammar. AlgoLab uses heuristics: it doesn't just say "error", it identifies the missing keyword.

Semantic

Syntactically correct code that's logically inconsistent: undeclared variable, wrong type, out-of-bounds indexing — all explained clearly.

Runtime

Division by zero, uninitialized variable, unknown function — detected at runtime with precise location and a fix suggestion.

Ready to try it?

Download the binary for your OS and the VS Code extension. Five minutes to install.

Download AlgoLabRead the documentation