---input---
program main
  integer, parameter :: mykind = selected_real_kind()
  print *, 1
  print *, 1_mykind
  print *, 1.
  print *, 1._mykind
  print *, (1., 1._mykind)
end program main

---tokens---
'program '    Keyword
'main'        Name
'\n  '        Text
'integer'     Keyword.Type
','           Punctuation
' '           Text
'parameter'   Keyword
' '           Text
'::'          Keyword.Declaration
' '           Text
'mykind'      Name
' '           Text
'='           Operator
' '           Text
'selected_real_kind' Name.Builtin
'('           Punctuation
')'           Punctuation
'\n  '        Text
'print'       Keyword
' '           Text
'*'           Operator
','           Punctuation
' '           Text
'1'           Literal.Number.Integer
'\n  '        Text
'print'       Keyword
' '           Text
'*'           Operator
','           Punctuation
' '           Text
'1_mykind'    Literal.Number.Integer
'\n  '        Text
'print'       Keyword
' '           Text
'*'           Operator
','           Punctuation
' '           Text
'1.'          Literal.Number.Float
'\n  '        Text
'print'       Keyword
' '           Text
'*'           Operator
','           Punctuation
' '           Text
'1._mykind'   Literal.Number.Float
'\n  '        Text
'print'       Keyword
' '           Text
'*'           Operator
','           Punctuation
' '           Text
'('           Punctuation
'1.'          Literal.Number.Float
','           Punctuation
' '           Text
'1._mykind'   Literal.Number.Float
')'           Punctuation
'\n'          Text

'end '        Keyword
'program '    Keyword
'main'        Name
'\n'          Text
