# # Copyright (c) 1994-2019, NVIDIA CORPORATION. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ::= ::= ::= ::= | | | | | | | | | | INCLUDE | OPTIONS | CONTAINS | ::= ::= ::= ::= ::= ::= | ( ) | ( ) | BLOCKDATA | BLOCKDATA | MODULE | SUBMODULE ( ) | SUBMODULE ( : ) | ::= ::= ::= | BIND ( ) | BIND | ( ) BIND | ( ) ::= | ( ) | ( ) ::= SUBROUTINE | FUNCTION | FUNCTION | PROGRAM ::= | ::= | ::= RECURSIVE | PURE | ELEMENTAL | ATTRIBUTES ( ) | IMPURE | MODULE | LAUNCHBOUNDS ( ) | LAUNCHBOUNDS ( , ) ::= ::= , | ::= | | | ::= ENTRY ::= ::= , | ::= | * ::= , | ::= | ENDBLOCKDATA | ENDFUNCTION | ENDMODULE | ENDPROGRAM | ENDSUBROUTINE | ENDSUBMODULE | ENDPROCEDURE ::= | ::= | | IMPLICIT | COMMON | EXTERNAL | INTRINSIC | SAVE | SAVE | PARAMETER ( ) | EQUIVALENCE | DATA | PARAMETER | NAMELIST | STRUCTURE | ENDSTRUCTURE | RECORD | UNION | ENDUNION | MAP | ENDMAP | TYPE | ENDTYPE | VOLATILE | POINTER | ALLOCATABLE | :: | | | OPTIONAL | TARGET | | | USE | | | ( ) | | | AUTOMATIC | STATIC | BIND | | ENUM , BIND ( ) | ENUMERATOR | ENDENUM | | | ATTRIBUTES ( ) | TCONTAINS | PROTECTED | ASYNCHRONOUS | ACCDECL | DECLARE | | | CONTIGUOUS | ROUTINE | ROUTINE ( ) | | | VALUE | ::= | ::= ACCSHAPE ::= ( ) | ( ) | '<' '>' ( ) | '<' '>' ( ) ::= | ::= | | ::= DEFAULT ( ) ::= INIT_NEEDED ( ) ::= , | ::= TYPE ( ) ::= ACCPOLICY ::= '<' '>' | '<' : '>' ::= ::= | ::= CREATE ( ) | NO_CREATE ( ) | COPYIN ( ) | COPYOUT ( ) | COPY ( ) | UPDATE ( ) | DEVICEPTR ( ) | | ::= , | ::= | '<' '>' | ( ) | '<' '>' ( ) ::= , | ::= : | ::= | | ::= | ::= ::= ::= + | - ::= * | / ::= ::= | ::= | , ::= DIMENSION | ::= ::= | ( ) | TYPE ( ) | CLASS ( ) | CLASS ( * ) ::= | ::= | ( ) ::= INTEGER | REAL | DOUBLEPRECISION | COMPLEX | DOUBLECOMPLEX | LOGICAL | CHARACTER | NCHARACTER | BYTE ::= | * | : ::= | ( ) ::= | * | : ::= | | , | , | , ::= = ::= | , ::= | :: ::= , | ::= / / | | %FILL ::= , | ::= | ) ::= ( ::= ::= , | ::= | : * | * | : | : | .. ::= : | ::= | NONE ::= , ) | ) ::= , | ::= - | ::= | ::= | , | ::= '//' | / / | ::= / / ::= , | ::= | ::= , | ::= = ::= , = | = ::= , | ::= = | ::= , | ::= ( ) ::= , | ::= | ( ) | . ::= | ::= / / ::= | ::= ::= | / / ::= | ::= , | ::= | ) ::= | ::= / / ::= ::= | ::= | ) ::= , | ::= | ::= | ::= / / ::= , | ::= | ( , = , ) ::= | , ::= , | ::= | * ::= | | ::= | | | | ( ) | ( ) | ::= ::= ::= , | ::= ( , ) | ::= , | ::= | ) ::= | , ::= , | ::= PARAMETER | | ALLOCATABLE | ) | EXTERNAL | | INTRINSIC | OPTIONAL | POINTER | SAVE | TARGET | AUTOMATIC | STATIC | BIND | VALUE | VOLATILE | DEVICE | PINNED | SHARED | CONSTANT | PROTECTED | ASYNCHRONOUS | ABSTRACT | TEXTURE | KIND | LEN | CONTIGUOUS | MANAGED ::= ( ) | ( , = ) ::= , | ::= | ::= | , ::= , | ::= BIND | | EXTENDS ( ) | ABSTRACT ::= PUBLIC | PRIVATE ::= , | ::= | ( ) | ( = ) ::= SEQUENCE | NOSEQUENCE ::= INTENT ( ) | INTENT ( ) ::= , | ::= | | '=>' ( ) ::= | ) ::= , | ::= ::= | ::= INTERFACE | ABSTRACT INTERFACE ::= | OPERATOR ( ) | ASSIGNMENT ( = ) ::= | OPERATOR | ASSIGNMENT | ( ) ::= | . . | ::= | | ** | | .OR. | .O. | .AND. | .NOT. | .N. | | '//' ::= .EQV. | .NEQV. | .X. | .XOR. ::= ENDINTERFACE | ENDINTERFACE ::= MODULE PROCEDURE | MODULE PROCEDURE :: ::= PROCEDURE | PROCEDURE :: ::= | , | , : | , : ::= | , :: | :: ::= INTRINSIC | NON_INTRINSIC ::= , | ::= '=>' | ( ) '=>' ( ) ::= . . | ::= , | ::= | '=>' | ( ) | ( = ) ::= | . . | ::= , | ::= | ::= ATTRIBUTES :: | ALIAS , | ALIAS : ::= , | ::= | : ::= | ::= , | ::= | ::= LOCAL ( ) | | DEFAULTKIND | MOVEDESC ::= IGNORE_TKR | IGNORE_TKR ::= , | ::= ::= | ( ) ::= | ( ) ::= IMPORT ::= | ::= , | ::= ::= ::= PROCEDURE ( ) ::= | | ::= | , ::= , | ::= | BIND | | OPTIONAL | POINTER | SAVE | PASS | PASS ( ) | NOPASS | PROTECTED ::= , | ::= | '=>' ( ) ::= ::= TPROCEDURE ::= | ( ) ::= | , ::= , | ::= | ( ) ::= , | ::= | '=>' ::= ::= | ::= COPYIN ( ) | COPYOUT ( ) | LOCAL ( ) | COPY ( ) | MIRROR ( ) | REFLECTED ( ) | CREATE ( ) | PRESENT ( ) | PCOPY ( ) | PCOPYIN ( ) | PCOPYOUT ( ) | PLOCAL ( ) | PCREATE ( ) | DEVICEPTR ( ) | DEVICE_RESIDENT ( ) | LINK ( ) ::= , | ::= ( ) | | | ::= ( ) | | ::= , | ::= , | ::= : | ::= | GANG | WORKER | VECTOR | SEQ | NOHOST | BIND ( ) | BIND ( ) | DEVICE_TYPE ( ) | GANG ( : ) | EXCLUDE ::= , | ::= * | ::= GENERIC :: ::= | , ::= ::= '=>' ::= ::= | , ::= FINAL ::= , | ::= ::= | ( ) ::= , | ::= | ( ) ::= | , ::= | = | : | = : | * | = * ::= | , ::= ::= | | ::= ::= ( : : ) ::= , | ::= = | ( ) ::= | = | ( ) .B ::= | | | | | | | | | | | ::= | | %LOC ( ) | ) | | ::= '(/' ::= '/)' ::= ( ::= | | :: | :: ::= , | ::= | , ) | : | , ) ::= , ::= = ::= ::= | , ::= ::= ( ::= , | ::= | ( ) | . | % | %LOC ::= | ( ) | ( ) | . | % | %LOC ::= ::= ::= , | ::= | = | : | | * | & ::= ( ) ::= | % | % ::= ( ) ::= ( ) ::= | % | % ::= | % | % ::= ( ) ::= | % | % ::= ::= % ( ) ::= | ::= | : ::= | | | | | | | | | | | | | | | | ) ::= | | ::= ( : ) | ( : ) ::= | ::= | | ::= + | - ::= | ::= | ::= ::= | ::= * | / ::= | | ::= ::= ::= ** | ** ::= | ::= ::= | ::= .OR. | .O. ::= ::= | ::= .AND. ::= ::= | | ::= .NOT. | .N. ::= ::= | | | | ::= .EQ. | .GE. | .GT. | .LE. | .LT. | .NE. ::= | ::= '//' ::= .B ::= | | | | | | | CONTINUE | | | | | | | | | | | | | | | ::= = ::= ::= GOTOX (