Ligne 80 : |
Ligne 80 : |
| * Implémentation d'un lexer (''analyse syntaxique''), parser, compilateur, machine virtuelle et environnement d'exécution. | | * Implémentation d'un lexer (''analyse syntaxique''), parser, compilateur, machine virtuelle et environnement d'exécution. |
| * Peut exécuter des fichier et dispose également d'une interface en ligne de commande (REPL ou read-evaluate-print-loop boucle-lire-évaluer-imprimer). | | * Peut exécuter des fichier et dispose également d'une interface en ligne de commande (REPL ou read-evaluate-print-loop boucle-lire-évaluer-imprimer). |
− | * Python code is compiled to a compressed byte code that runs on the built-in virtual machine. | + | * Le code Python est ompilé en un ''byte code'' compressé qui fonctionne sur la machine virtuelle intégrée à PyBoard. |
− | * Memory usage is minimised by storing objects in efficient ways. Integers that fit in 31-bits do not allocate an object on the heap, and so require memory only on the stack. | + | * L'utilisation de la mémoire est minimiser en stockant les objets de manière efficace. Les entiers qui tiennent sur 31-bits n'allouent pas un objet sur la heap (le ''tas''), et ne nécessite, par conséquent, de la mémoire que sur la stack (la ''pile''). |
− | * Using Python decorators, functions can be optionally compiled to native machine code, which takes more memory but runs around 2 times faster than byte code. Such functions still implement the complete Python language. | + | * En utilisant les décorateurs Python, vous pouvez éventuellement compiler une fonction en core machine natif. Le code natif nécessite plus de mémoire mais fonctionne 2 fois plus vite que du byte code. De telles fonctions implémente toujours le langage Python complet. |
− | * A function can also be optionally compiled to use native machine integers as numbers, instead of Python objects. Such code runs at close to the speed of an equivalent C function, and can still be called from Python, and can still call Python. These functions can be used to perform time-critical procedures, such as interrupts. | + | * Une fonction peu éventuellement être compilée pour utiliser des entiers natif (native integer) comme nombre à la place d'objet Python. Une telle fonction s'exécute presque aussi vite que la fonction équivalent en C et peut toujours être appelée depuis Python (et appelé du code Python). Ces fonctions peuvent être utilisées pour exécuter des procédures ''time-critical'' (dont le temps nécessaire à sont exécution est un élément critique). Ce type de fonction est bien adapté aux interruption. |
| * An implementation of inline assembler allows complete access to the underlying machine. Inline assembler functions can be called from Python as though they were a normal function. | | * An implementation of inline assembler allows complete access to the underlying machine. Inline assembler functions can be called from Python as though they were a normal function. |
| * Memory is managed using a simple and fast mark-sweep garbage collector. It takes less than 4ms to perform a full collection. A lot of functions can be written to use no heap memory at all and therefore require no garbage collection. | | * Memory is managed using a simple and fast mark-sweep garbage collector. It takes less than 4ms to perform a full collection. A lot of functions can be written to use no heap memory at all and therefore require no garbage collection. |
| + | {{traduction}} |
| | | |
| == PyBoard, la carte MicroPython == | | == PyBoard, la carte MicroPython == |