File: fixed_form_interface.f

package info (click to toggle)
lfortran 0.58.0-3
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 54,508 kB
  • sloc: cpp: 162,179; f90: 68,251; python: 17,476; ansic: 6,278; yacc: 2,334; sh: 1,317; fortran: 892; makefile: 34; javascript: 15
file content (51 lines) | stat: -rw-r--r-- 1,600 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
        program fixed_form_interface
            implicit none
            integer :: i, arr(5)
            integer :: OUTPUT_UNIT

            type :: element
                character(len=2) :: symbol
                integer :: atomic_number
                real :: atomic_mass
                integer :: quantity
            end type element

            type :: chemical_compound
                character(len=30) :: name
                character(len=10) :: formula
                real :: molecular_weight
                type(element), allocatable, dimension(:) :: elements
            end type

c           tests that 'interface' is tokenized correctly
            interface
                subroutine my_subroutine(a)
                    integer, intent(in) :: a
                end subroutine my_subroutine

                function my_function(b) result(res)
                    integer, intent(in) :: b
                    integer :: res
                end function my_function
            end interface

c           tests that 'allocate' is tokenized correctly
            integer :: num = 2
            integer, dimension(:), allocatable :: factors
            allocate ( factors(num) )
            factors = [3, 4]
c           tests that 'deallocate' is tokenized correctly
            deallocate(factors)

    1       FORMAT (TR1, A)
            print 1, factors

            do concurrent (i=1:10:2)
                arr(i) = i
            enddo

c           ensures that 'FLUSH' is tokenized
            FLUSH(OUTPUT_UNIT)
        contains

        end program fixed_form_interface