Version 0.21 | Voir aussi: Bubble Escape 2K ∘ Situ-sol
Remarque: Ayant atteint la majorité de ses objectifs, le projet SIPTYPICAL pourrait ne pas subir beaucoup plus de développement à l'avenir. Voir les orientations futures pour Sixtypical pour plus d'informations.
Sixtypical apporte une analyse statique avancée au 6502.
Sixtypical est un langage de programmation de bas niveau soutenant certaines méthodes d'analyse statique avancées. Son compilateur de référence peut générer du code efficace pour plusieurs plates-formes cibles basées sur 6502 tout en attrapant de nombreuses erreurs courantes au moment de la compilation, ce qui réduit le temps passé à déboguer.
Assurez-vous que Python (2.7 ou 3.5+) a installé. Clonez ensuite ce référentiel et placez son répertoire bin sur votre chemin de recherche exécutable. Ensuite, vous pouvez courir:
sixtypical
Si vous avez installé la suite de vice-émulation, vous pouvez courir
sixtypical --run-on=x64 eg/c64/hearts.60p
et il compilera le code source des coeurs.60p et le démarrera automatiquement dans l'émulateur x64 , et vous devriez voir:

Vous pouvez essayer sixtypical --run-on sur d'autres sources de l'arbre de répertoire eg , qui contient des exemples plus étendus, y compris un jeu entier (programme-type); Voir par exemple / readme.md pour une liste.
SIXTYPICAL vise à remplir ce créneau:
Sixtypical donne au programmeur un régime de codage à égalité avec le langage d'assemblage en termes de taille et de pratique, mais aussi capable d'attraper de nombreuses erreurs idiotes ridicules au moment de la compilation.
Beaucoup des instructions primitives de SIXTYPICAL sont celles de la technologie MOS 6502 - elle est en fait destinée à être compilée en code machine 6502. Cependant, il fournit également des opérations "de niveau supérieur" basées sur des idiomes de programmation en langue machine courants en 8 bits, y compris
Bien qu'un programmeur trouvera ces constructions pratiques, leur inclusion dans le langage est principalement pour rendre les programmes plus faciles à analyser.
Le langage en 6 ans définit un système d'effet, et le compilateur de référence interprète abstraitement le programme d'entrée en termes de typage de flux pour confirmer qu'il ne le viole pas. Cela peut détecter des erreurs courantes telles que
Contrairement à la plupart des langages conventionnels, en soixante, le programmeur doit gérer très explicitement la mémoire, en sélectionnant les registres et les emplacements de mémoire pour stocker chaque élément de données. Ainsi, contrairement à un compilateur C tel que CC65, un compilateur sixtypical n'a pas besoin de générer du code pour gérer les conventions d'appel ou une allocation d'enregistrement. Il en résulte des programmes plus petits (et donc plus rapides).
La démo phare, un mini-jeu pour le Commodore 64, compile dans un fichier .PRG de 930 .
La mise en œuvre de référence peut analyser et compiler des programmes SixtyPical aux formats de code machine 6502 qui peuvent fonctionner sur plusieurs architectures 8 bits basées sur 6502:
Par exemple, des programmes pour chacun de ceux-ci, voir par exemple / readme.md.
SixtyPical est défini par un document de spécification, un ensemble de cas de test et une implémentation de référence écrite en python.
Il y a plus de 400 cas de test, écrits au format falderal pour la lisibilité. Afin d'exécuter les tests de compilation, DCC6502 doit être installé.
sixtypical