25 use,
intrinsic :: iso_fortran_env, only: stdout => output_unit
31 implicit none;
private
49 character(*),
intent(in) :: line
50 type(
macro),
allocatable,
intent(inout) :: macros(:)
51 character(*),
intent(in) :: token
56 error stop
trim(adjustl(line(pos + 1:)))
69 character(*),
intent(in) :: line
70 type(
macro),
allocatable,
intent(inout) :: macros(:)
71 character(*),
intent(in) :: token
76 write(stdout,
'(A)')
trim(adjustl(line(pos + 1:)))
subroutine, public handle_error(line, macros, token)
Process a error directive. It causes the preprocessor to report a fatal error that stops the preproce...
subroutine, public handle_warning(line, macros, token)
Process a warning directive. It causes the preprocessor to report a warning that does not stop the pr...
pure character(len_trim(str)) function, public uppercase(str)
Convert string to upper case (respects contents of quotes).
Return the length of a string.
Return the trimmed string.
Derived type representing a single preprocessor macro Extends string with macro-specific fields: rep...