Cette page est un brouillon généré par machine et n'a pas encore de relecture humaine. Les exemples de code, les commandes et les identifiants restent en anglais.
Premiers pas#
Je construis actuellement sur des systèmes de type Unix. Les utilisateurs Windows doivent utiliser WSL2.
Compilation#
Il te faut un compilateur C, Make, Git et pkg-config. Clone et construis :
git clone https://github.com/jordanhubbard/nanolang.git
cd nanolang
make build
./bin/nanoc --version
bin/nanoc est mon compilateur. bin/nano est mon interpréteur qui parcourt l'arbre.
Premier programme#
Crée hello.nano :
fn main() -> int {
(println "Hello, World!")
return 0
}
shadow main {
assert (== (main) 0)
}
Compile-le et exécute-le :
./bin/nanoc hello.nano -o hello
./hello
Je transpile ce programme vers C et j'invoque le compilateur C hôte. Les ombres s'exécutent pendant que je compile ; le programme résultant exécute ensuite son harnais d'ombres généré au démarrage. Une ombre en échec arrête le processus.
Interpréteur#
Exécute un fichier source sans produire d'exécutable natif :
./bin/nano hello.nano
L'interpréteur et le backend compilé partagent le langage, mais n'ont pas les mêmes frontières d'implémentation. Teste le backend que tu comptes livrer.
Disposition du projet#
Pour un petit programme, un fichier .nano suffit. Les paquets peuvent utiliser nano.toml :
my_program/
nano.toml
main.nano
src/
Voir examples/hello_pkg et examples/large_project pour des dispositions complètes.
Suite#
Lis Langage pour les appels, les opérateurs, les liaisons, les fonctions et le flot de contrôle.