Télécharger les sources et le compilateur à partir de github
Dézipper dans un répertoire vide ou utiliser la commande git :
On a le résultat suivant:

cb.bat est le fichier de commandes pour compiler un source basilic sous Windows.
Pour vérifier que tout fonctionne correctement, tester le programme helloworld en tapant la commande:
cb helloworld
On obtient
C:\Users\geo\Documents\demobcj>cb helloworld C:\Users\geo\Documents\demobcj>java -jar cb.jar helloworld.bcj Chemin du source a compiler ................= helloworld.bcj Compilation complete .......................= false Repertoire du compilateur ..................= bc/ Generation de la methode main ..............= true Afficher la table des symboles .............= false Nb max d'elements de la table des symboles .= 20000 Compilation ................................= boolean=bc/core/cbboolean.bcj Compilation ................................= int=bc/core/cbint.bcj Compilation ................................= string=bc/core/cbstring.bcj Compilation ................................= double=bc/core/cbdouble.bcj Compilation ................................= long=bc/core/cblong.bcj Compilation ................................= byte=bc/core/cbbyte.bcj Compilation ................................= system=bc/core/cbsystem.bcj Compilation ................................= console=bc/core/cbconsole.bcj Compilation ................................= stringvector=bc/core/cbstringvector.bcj Compilation ................................= conversions=bc/core/cbconversions.bcj Compilation ................................= lexical=bc/core/cblexical.bcj Compilation ................................= datetime=bc/core/cbdatetime.bcj Compilation ................................= filedirectory=bc/core/cbfiledirectory.bcj Compilation ................................= textfile=bc/core/cbtextfile.bcj Compilation ................................= inifile=bc/core/cbinifile.bcj Compilation ................................= arraytools=bc/core/cbarraytools.bcj Compilation ................................= stringhashmap=bc/core/cbstringhashmap.bcj Compilation ................................= stringstack=bc/core/cbstringstack.bcj Compilation ................................= zip=bc/core/cbzip.bcj Compilation ................................= ___dependances___=cbdependances.bcj Compilation ................................= helloworld=helloworld.bcj Nombre d'elements de la table des symboles .= 1024 Duree de compilation .......................= 0 minute(s) 2 seconde(s) 218 ms Nombre de lignes compilees .................= 3977 Vitesse de compilation (nb lignes / sec )...= 1793 *** COMPILATION REUSSIE *** C:\Users\geo\Documents\demobcj>javac helloworld.java
Exécuter ensuite le programme
C:\Users\geo\Documents\demobcj>java helloworld Hello world!
Remarques
- Le compilateur cb.jar génère du code Java compatible avec la version 8 minimum.
- Le fichier cb.bat suppose que l’interpréteur et le compilateur Java sont accessibles par les règles standards du système. Si ce n’est pas le case modifier les règles de recherche ou (plus facile) utiliser des chemins absolus dans le fichier cb.bat.
Linux
Pour faire un équivalent linux de cb.bat, il suffit de remplacer les symboles % par le symbole $ et de rendre le fichier cb.bat exécutable par la commande:
chmod +x cb.bat
Pour exécuter sous Linux :
./cb.bat nom du fichier sans suffixe
Fichiers de la distribution:
- cb.bcj : le compilateur basilic, utile uniquement si l’on souhaite modifier le langage basilic
- cbdependances.bcj : fichier généré automatiquement par le compilateur
- cbdochtml.bcj et cbgendoc.bcj : fichiers permettant de générer la documentation des différents modules.
- cbinstall.bcj : programme permettant de générer un fichier zip pour déployer une nouvelle version de basilic
- helloworld.bcj : le programme de démonstration
- grimeco_doc_001.pdf : documentation des modules
- Le répertoire cb contient l’ensemble des sources des modules ainsi que la documentation. Les deux fichiers main.txt et newmain.txt peuvent être modifiés; ils contiennent la ou les instructions insérées automatiquement par le compilateur dans respectivement la methode main java et le constructeur principal.
Génération de la documentation
Compiler les fichiers cbgendoc.bcj et cbdochtml.bcj, cbgendoc et cbdochtml
C:\Users\geo\Documents\demobcj>cb cbgendoc C:\Users\geo\Documents\demobcj>java -jar cb.jar cbgendoc.bcj Chemin du source a compiler ................= cbgendoc.bcj Compilation complete .......................= false Repertoire du compilateur ..................= bc/ Generation de la methode main ..............= true Afficher la table des symboles .............= false Nb max d'elements de la table des symboles .= 20000 Compilation ................................= cbgendoc=cbgendoc.bcj Nombre d'elements de la table des symboles .= 1068 Duree de compilation .......................= 0 minute(s) 0 seconde(s) 401 ms Nombre de lignes compilees .................= 237 Vitesse de compilation (nb lignes / sec )...= 591 *** COMPILATION REUSSIE *** C:\Users\geo\Documents\demobcj>javac cbgendoc.java C:\Users\geo\Documents\demobcj>cb cbdochtml C:\Users\geo\Documents\demobcj>java -jar cb.jar cbdochtml.bcj Chemin du source a compiler ................= cbdochtml.bcj Compilation complete .......................= false Repertoire du compilateur ..................= bc/ Generation de la methode main ..............= true Afficher la table des symboles .............= false Nb max d'elements de la table des symboles .= 20000 Compilation ................................= cbdochtml=cbdochtml.bcj Nombre d'elements de la table des symboles .= 1076 Duree de compilation .......................= 0 minute(s) 0 seconde(s) 438 ms Nombre de lignes compilees .................= 198 Vitesse de compilation (nb lignes / sec )...= 452 *** COMPILATION REUSSIE *** C:\Users\geo\Documents\demobcj>javac cbdochtml.java
puis exécuter successivement les commandes cbgendoc et cbdochtml
C:\Users\geo\Documents\demobcj>java cbgendoc cbgendoc, usage: cbgendoc path ou path est le chemin d'un fichier de type bcj.ini C:\Users\geo\Documents\demobcj>java cbgendoc bc/bcj.ini boolean bc/core/cbboolean.bcj bc/core/cbboolean.docini int bc/core/cbint.bcj bc/core/cbint.docini string bc/core/cbstring.bcj bc/core/cbstring.docini double bc/core/cbdouble.bcj bc/core/cbdouble.docini long bc/core/cblong.bcj bc/core/cblong.docini byte bc/core/cbbyte.bcj bc/core/cbbyte.docini system bc/core/cbsystem.bcj bc/core/cbsystem.docini console bc/core/cbconsole.bcj bc/core/cbconsole.docini stringvector bc/core/cbstringvector.bcj bc/core/cbstringvector.docini conversions bc/core/cbconversions.bcj bc/core/cbconversions.docini lexical bc/core/cblexical.bcj bc/core/cblexical.docini datetime bc/core/cbdatetime.bcj bc/core/cbdatetime.docini filedirectory bc/core/cbfiledirectory.bcj bc/core/cbfiledirectory.docini textfile bc/core/cbtextfile.bcj bc/core/cbtextfile.docini inifile bc/core/cbinifile.bcj bc/core/cbinifile.docini arraytools bc/core/cbarraytools.bcj bc/core/cbarraytools.docini stringhashmap bc/core/cbstringhashmap.bcj bc/core/cbstringhashmap.docini stringstack bc/core/cbstringstack.bcj bc/core/cbstringstack.docini zip bc/core/cbzip.bcj bc/core/cbzip.docini C:\Users\geo\Documents\demobcj>java cbdochtml cbdochtml, usage: cbdochtml pathin pathout ou pathin est le chemin d'un fichier de type bcj.ini ou pathout est le chemin du repertoire de destination des fichiers doc html il faut avoir executer cbgendoc prealablement C:\Users\geo\Documents\demobcj>java cbdochtml bc/bcj.ini bc/doc arraytools=bc/core/cbarraytools.docini pathout=bc/doc/arraytools.html boolean=bc/core/cbboolean.docini pathout=bc/doc/boolean.html byte=bc/core/cbbyte.docini pathout=bc/doc/byte.html console=bc/core/cbconsole.docini pathout=bc/doc/console.html conversions=bc/core/cbconversions.docini pathout=bc/doc/conversions.html datetime=bc/core/cbdatetime.docini pathout=bc/doc/datetime.html double=bc/core/cbdouble.docini pathout=bc/doc/double.html filedirectory=bc/core/cbfiledirectory.docini pathout=bc/doc/filedirectory.html inifile=bc/core/cbinifile.docini pathout=bc/doc/inifile.html int=bc/core/cbint.docini pathout=bc/doc/int.html lexical=bc/core/cblexical.docini pathout=bc/doc/lexical.html long=bc/core/cblong.docini pathout=bc/doc/long.html string=bc/core/cbstring.docini pathout=bc/doc/string.html stringhashmap=bc/core/cbstringhashmap.docini pathout=bc/doc/stringhashmap.html stringstack=bc/core/cbstringstack.docini pathout=bc/doc/stringstack.html stringvector=bc/core/cbstringvector.docini pathout=bc/doc/stringvector.html system=bc/core/cbsystem.docini pathout=bc/doc/system.html textfile=bc/core/cbtextfile.docini pathout=bc/doc/textfile.html zip=bc/core/cbzip.docini pathout=bc/doc/zip.html
Dans le répertoire spécifié lors de l’exécution de la commande gendochtml, les fichiers html constituent la documentation, le point d’entrée est index.html

Règles d’écriture pour la documentation
Lé détection des procédures et de fonctions est réalisée automatiquement. Pour qu’un commentaire puisse être inséré dans la documentation, il suffit qu’il soit de la forme
/*! Commentaire pour la documentation */
Exemple , le module stringvector :
Documentation html générée:
