Je perds la tête avec ce problème. J'ai écrit un interprète puis un Transpiler pour convertir Fortran en Javascript. MAIS chaque fois que je suis coincé avec le problème de passer variable par référence.Conversion de Fortran en Javascript
Comme vous le savez dans Fortran, il n'y a pas de syntaxe différente entre passer par référence ou passer par valeur, tous ont la même apparence. Cependant, en Javascript, passer par référence ne peut fonctionner que si la variable est passée dans un objet.
exemple de code Fortran:
REAL FUNCTION PYTHAGORAS (A,B,K)
REAL A,B,K
K = 12 // E <=> K in GEOMETRIE()
PYTHAGORAS = SQRT(A**2+B**2)
END FUNCTION PYTHAGORAS
LOGICAL FUNCTION GEOMETRIE (H,B,D)
REAL H,B,D,E
B = 12
H = 7
// E is pass by reference, it's gonna be changed in PYTHAGORAS()
D = PYTHAGORAS(B, H, E)
GEOMETRIE = .TRUE.
END FUNCTION GEOMETRIE
je l'ai fait beaucoup de recherches, mais jusqu'à présent, je ne trouve aucun résultat utile.
Je me demandais, s'il y a une bibliothèque là pour faire le travail (côté client/NodeJS). Je ne peux pas imaginer que jusqu'à présent, personne n'a essayé de perdre ce problème avant.
Il y a passe par la valeur en Fortran moderne, mais il est important. Tu ne peux pas passer la variable dans une liste? Avez-vous regardé Emscripten? Demander une bibliothèque est hors-sujet ici BTW. –
bien sûr il y a une valeur de passage dans Fortran, comme vous pouvez le voir dans l'exemple, l'appel de PYTHAGORAS (B, H, E) _ // B et H sont passés par valeur, mais E est passé par référence._ Je connais Emscripten, mais je ne l'ai pas encore essayé. Je pense que ce sera plus compliqué de convertir Fortran en C++ puis en Javascript. – Kamal
Non, ils ne sont pas, tous sont passés par référence. Pour passer en valeur, vous devez utiliser le mot-clé 'VALUE' introduit dans Fortran 2003. –