Page 1 sur 1

Surcharger les opérateurs mathématiques

Publié : lun. 08/janv./2007 22:31
par Guimauve
Bonjour

Je pense qu'il serait bien de pouvoir surcharger les opérateurs mathématiques pour les rendrent compatibles avec les structures de données en indiquant au compilateur ce qu'il doit faire. Dans l'exemple ci-dessous, il y a les mots clef "Equal", "Plus" et "Minus" mais l'utilisation des symboles mathématiques correspondant serait peut-être mieux. ("=", "+", "-", ...)

La chose est possible en C++, alors pourquoi pas avec PB ?

A+
Guimauve

Code : Tout sélectionner

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Suggestion : Operator Overcharge
; Suggested by : Guimauve
; Date : 08-01-2007
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Structure Vector3
   
   i.f
   j.f
   k.f
   
EndStructure

MathsOperator *RHS.Vector3 Equal *LHS.Vector3 ;>
   
   *RHS\i = *LHS\i
   *RHS\j = *LHS\j
   *RHS\k = *LHS\k
   
EndMathsOperator ;<

MathsOperator *RHS.Vector3 Plus *LHS.Vector3 ;>
   
   *RHS\i + *LHS\i
   *RHS\j + *LHS\j
   *RHS\k + *LHS\k
   
EndMathsOperator ;<

MathsOperator *RHS.Vector3 Minus *LHS.Vector3 ;>
   
   *RHS\i - *LHS\i
   *RHS\j - *LHS\j
   *RHS\k - *LHS\k
   
EndMathsOperator ;<

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Inside the program <<<<<

VectorA.Vector3
VectorB.Vector3
VectorC.Vector3
vectorR.Vector3

vectorR = VectorA + VectorB - VectorC

; <<<<<<<<<<<<<<<<<<<<<<<
; <<<<< END OF FILE <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<

Publié : mar. 09/janv./2007 1:31
par Flype
ouais c'est clair que ce serait sympa.
tous les langages modernes peuvent le faire.