BASIC09
Le BASIC09 est un dialecte structuré du langage de programmation de BASIC développé par le Microware pour l'alors-nouvelle unité centrale de traitement de Motorola 6809 . Légèrement de la mode du UCSD Pascal il a été mis en application par l'intermédiaire de la « compilation » dans une représentation intermédiaire. Il a été appareillé avec l'OS-9 du système d'exploitation, aussi de Microware et a tiré profit de plusieurs dispositifs OS-9 (par exemple, mémoire partagée, chargement et déchargement de module, etc.
Le processeur de langage a transformé le code source du BASIC09 en Tokenized optimisé, Bytecode , appelé le Je-code dans la littérature BASIC09. Si cette version de bytecode de la source étaient sauvées (appelé emballage), elle pourrait également être exécutée par une version beaucoup plus compacte de l'interprète, appelée RunB (aucun rédacteur, aucun prettyprinter, aucune information étrangère incluse pour la convenance humaine, aucun programme de mise au point,…).
BASIC09 a eu les dispositifs très impressionnants pendant son temps (il était d'abord disponible dans le 1980), et le plus particulièrement pour ses conditions de mémoire. Il était également rapide, en comparaison de presque toutes autres fondations de micro-ordinateur. La plupart des dispositifs ont énuméré ont ci-dessous les avantages significatifs pour ceux écrivant plus que des programmes d'exemple.
Microware a produit une version de BASIC09 pour le OS-9 /68k (pour le 68000 ), l'appelle BASIC de Microware, mais n'a pas développé une version pour OS-9000 (la version portative d'OS-9).
Dispositifs significatifs
dispositions raisonnablement structurées de flux de commande de
(par exemple, la ligne nombres étaient principalement nécessaire pour le calculé GOTO de Une fois qu'une ou plusieurs procédures BASIC09 sont corrigées à la satisfaction du programmeur, elles peuvent être " ; packed" ; (ou converti de manière permanente en forme de Je-code (IE, bytecode)) dans un dossier. Entre autres, la ligne nombres, les commentaires et les noms des variables locales sont jetés pendant l'emballage, de sorte que, à la différence des fondations interprétées typiques du temps, les commentaires et les noms variables intelligibles n'engagent aucun coût d'exécution et aient été donc pas des programmeurs d'un « fardeau » appris pour éviter de maximiser le temps d'exécution ou l'efficacité d'exécution de mémoire. Pour BASIC09 les dégagements ont prévu pour les logiciels d'exploitation du OS-9 , " ; packed" ; les procédures sont en fait les modules OS-9 ; la coquille du OS-9 les identifie comme Je-code et appelle automatiquement l'interprète de RunB pour les exécuter. RunB évite une grande partie des frais généraux d'exécution trouvés dans des fondations interprétées typiques du jour -- sans compter celui-là peut faire des calculs de nombre entier le cas échéant plutôt que faisant tout dans la virgule flottante -- de sorte que les programmes BASIC09 fonctionnent extrêmement rapidement en comparaison des programmes équivalents dans les fondations interprétées du temps. RunB était également plus petit que presque chaque autre paquet d'interprète en BASIC même des possibilités à distance comparables.
, car BASIC09 n'a pas eu un rapport de commutateur/cas, ou le calculé GOSUB de )
déclaration de structure (rare dans toute variante de BASIC puis ; plus commun maintenant)
types booléens intrinsèques de nombre entier et de données de * plus de deux caractères significatifs dans des noms variables (quelques fondations du temps ont permis seulement 1 (!), beaucoup de variantes du BASIC de Microsoft de ont permis seulement 2)
procédures avec des variables locales (en effet, le toutes les variables de dans BASIC09 sont local aux procédures) et dépassement de paramètre par la référence
un programme de mise au point raisonnable (son seulement inconvénient significatif était qu'on ne pourrait pas examiner le contenu des champs en structures)
une manière de connecter au code de langage machine du , qui pourrait être passé à des paramètres using la séquence d'appel BASIC09
automatique Prettyprinting de source, qui a imposé une disposition standard et a évité le désordre horrible qui était l'aspect habituel d'un programme de n'importe quelle taille dans les fondations interprétées du temps. Les programmeurs normalement fourreraient autant de lignes ensemble car possible d'éviter la ligne frais généraux de mémoire de nombre -- pas un problème dans BASIC09 Emballage de procédé
Random links: Conjecture principale jumelle | Martin H. Glynn | Peter Wagner (théoricien social) | Steve Garvey | Héraut de Statesboro | BASIC09