Mapytex/docs/construction.mdwn

44 lines
1.4 KiB
Markdown

# Explication sur la logique des classes
## Les types
Ce sont les objects que l'on s'autorise à manipuler dans les expressions.
Ces objets doivent pouvoir être afficher en *txt* ou en *tex* avec les méthodes
* *__txt__*: affichage en mode text
* *__tex__*: affichage pour une compilation latex
### Operator
Cette classe regroupe les operateurs. Que l'on s'autorise à utiliser. On y accède à partir de deux caractérisiques le symbole et l'arité.
Liste des attributs mportants:
* arity: nombre d'opérande accepté
* priority: où se place l'opérateur dans la règles des priorités parmis les autres opérateurs
* isOperator: permet de vérifier que c'est bien un opérateur
Liste des méthodes importantes:
* *__call__*: Permet d'effectuer le calcul sur deux opérandes
* *__txt__*: affichage en mode text
* *__tex__*: affichage pour une compilation latex
### Number
Tous les types de "nombres" que l'on va vouloir manipuler. On va essayer de rester le plus proche de la construction mathématiques de ces objets.
Par défaut, on travaillera avec des anneaux ce qui permettra de construire ensuite le corps des fractions et l'anneau des polynomes (quitte à quotienter) associé.
Pour définir ces anneaux, il faudra contre avoir les méthodes suivantes:
* *__add__*
* *__radd__*
...
#### Fractions
#### Polynomes
#### Quotient de polynomes (racines)
## Expression
## Render