[Ceci est une documentation préliminaire sujette à modifications]

Premier exemple: Bonjour Monde !

Liogo est un compilateur Logo pour .NET. Avec Liogo, vous pouvez compiler votre script Logo en un EXE ou une DLL. Liogo fourni un utilitaire en ligne de commande appelé "liogoc" (pour Liogo Compiler). Voyons tout d'abord une exécution simple de LIOGOC:

Notre premier exemple est simplement un appel à la commande "écris" avec les différents types de données supportés. N'importe quel éditeur peut être utilisé pour écrire du code Liogo (Notepad par exemple). Ici, nous enregistrons le source sous "bonjour.lgo":

écris [Bonjour Monde!]
écris 12
écris "Logo

Pour compiler ce fichier en EXE, il vous suffit de lancer LIOGOC comme ceci: "liogoc bonjour.lgo". Le résultat est un fichier "bonjour.EXE":
(Notez que sous Linux, vous devez lancer "mono bonjour.exe" pour exécuter votre fichier)

Première opération: Factoriel

Evidemment, en Liogo comme dans tous les autres Logo, vous pouvez définir vos propres procédures. Un exemple simple est le calcul de factoriel. Par exemple, dans le fichier "fact.lgo" ci-dessous:

;-- Calcul Factoriel
pour fact :n
	si égal? :n 1
		[retourne 1]
	retourne :n * fact :n - 1
fin

écris fact 1
écris fact 4

Comme vous pouvez le constater, si vous mélangez des déclarations de procédures et des instructions, Liogo compile d'abord les procédures, puis les instructions et enfin lance les instructions. Ainsi, si vous compilez "fact.lgo" et lancez "fact.exe" ("mono fact.exe" sur Linux), vous obtenez:

Générer une DLL

Alternativement, Liogo permet de compiler votre programme Logo sous forme de DLL. Pour cela, il vous suffit de spécifier l'option "/target:dll". Voici comment:

Pour tester notre nouvelle DLL "fact.dll", écrivons un fichier d'une seule ligne appelé "callfact.lgo":

écris fact 3

Comme pour notre script précédent, nous pouvons compiler "callfact.lgo" en EXE. Mais comme nous avons besoin d'appeler une DLL externe, une nouvelle option doit être utilisée "/reference:nomdll":

Notez que Liogo utilise la réflexion .NET pour trouver les procédures Logo définies dans "fact.dll", "fact.dll" pourrait aussi bien s'appeler "monfact.dll" ou "toto.dll".