Verse est un interpréteur pour le langage de programmation Verse. À l’avenir, l’objectif est de faire évoluer ce projet vers un bundle tout-en-un composé d’un interpréteur, d’un compilateur et d’un débogueur. Verse est conçu pour être compilé directement en code machine et offre toutes les fonctionnalités d'un langage de bas niveau, tout en pouvant être interprété comme des langages comme Python ou Ruby (améliorant la portabilité et réduisant le temps perdu en supprimant le besoin d'effectuer un compilation complète de votre base de code juste pour exécuter des tests unitaires).
Pour installer Verse, vous devez le construire à partir des sources. Par défaut, le processus de construction essaie d'utiliser clang++
, mais vous pouvez modifier cela pour qu'il utilise g++
à la place si vous le souhaitez. Dans tous les cas, c++20
ou supérieur est requis.
$$ git clone https://www.github.com/fDero/Verse$$ cd Verse$$ make build
Pour réaliser votre premier programme hello-world en vers, il suffit de créer un fichier avec l'extension .verse
(dans ce cas, il s'appellera hello.verse
) contenant le code suivant :
func main(){println("Bonjour tout le monde !"); }
Une fois le fichier configuré, pour l’exécuter, utilisez simplement la commande verse -r hello.verse
dans la console.
$$ verse -r bonjour.verse$$ Bonjour tout le monde !
Verse est un langage strictement typé, il possède un système de types de style C avec Int
, Float
, Bool
, Char
, String
comme types primitifs.
func main(){var x : Int = 6;var y : Float = 9.4;var f : Bool = false;var c : Char = 'z';var s : String = "hello world"; }
Verse prend en charge la récursion comme n'importe quel autre langage, et un bon moyen de le montrer est d'utiliser l'exemple classique de Fibonacci, considérez le code suivant :
func fibo(n : Int){if (n < 2) {return 1; }else {return fibo(n-1) + fibo(n-2); } }func main(){println(fibo(6)); }
en supposant que le fichier s'appelle fibo.verse
, il peut alors être exécuté comme nous l'avons fait plus tôt avec l'exemple hello-world, en utilisant la commande verse -r
.
$$ verset -r fibo.verset$$ 21