Я схожу с этой проблемой. Я написал интерпретатора, а затем Transpiler для преобразования Fortran в Javascript. НО каждый раз, когда я застрял с проблемой передачи переменной по ссылке.Преобразование Fortran в Javascript
Как вы знаете, в Fortran нет синтаксиса, отличного от pass by reference или pass by value, все выглядит одинаково. Однако в Javascript pass by reference может работать только, если переменная передана в Object.
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
Я сделал много исследований, но до сих пор я не нашел каких-либо полезного результата.
Мне было интересно, есть ли там библиотека для выполнения задания (клиентская сторона/NodeJS). Я не могу себе представить, что до сих пор никто не пытался потерять эту проблему раньше.
Там попадающей значением в современном Фортране, но это не важно. Не можете ли вы передать переменную в списке? Вы взглянули на Emscripten? Просить библиотеку вне темы здесь BTW. –
, конечно, в Fortran есть проход по значению, как вы можете видеть в примере, вызов PYTHAGORAS (B, H, E) _ // B и H передается по значению, но E проходит по ссылке. Я знаю Emscripten, но еще не пробовал. Я думаю, будет сложнее преобразовать Fortran в C++, а затем в Javascript. – Kamal
Нет, они не являются, все передаются по ссылке. Чтобы пройти по значению, вы должны использовать ключевое слово «VALUE», введенное в Fortran 2003. –