ダミーの変数または属性がパーサー/コンパイラの抽象化のどのようなものであるかを誰かに説明することはできますか? Fortranコンパイラの用語:ダミーの変数と属性
[email protected]:~/lab/secret/tapenade$ gfortran -x f77 -c 1.f
1.f:6.37:
PARAMETER (C = 3.14E0, X = 32, Y = X)
1
Error: PARAMETER attribute conflicts with DUMMY attribute in 'x' at (1)
1.f:3.38:
REAL, INTENT(INOUT) :: X, Y, C
1
Error: Symbol at (1) is not a DUMMY variable
PURE SUBROUTINE F(X, Y)
IMPLICIT NONE
REAL, INTENT(INOUT) :: X, Y, C
C REAL :: A, B
C REAL, SAVE :: C = 3.14E0
PARAMETER (C = 3.14E0, X = 32, Y = X)
X = Y + 2 * SIN(Y)
END
[email protected]:~/lab/secret/tapenade$ ifort -c 1.f
1.f(3): error #6451: A dummy argument name is required in this context. [C]
REAL, INTENT(INOUT) :: X, Y, C
-------------------------------------^
1.f(6): error #6406: Conflicting attributes or multiple declaration of name. [X]
PARAMETER (C = 3.14E0, X = 32, Y = X)
-------------------------------^
1.f(6): error #6406: Conflicting attributes or multiple declaration of name. [Y]
PARAMETER (C = 3.14E0, X = 32, Y = X)
---------------------------------------^
1.f(6): error #6592: This symbol must be a defined parameter, an enumerator, or an argument of an inquiry function that evaluates to a compile-time constant. [X]
PARAMETER (C = 3.14E0, X = 32, Y = X)
-------------------------------------------^
compilation aborted for 1.f (code 1)