Module lexer

Source

Enums§

Language
Language format for parsing

Functions§

is_identifier_char
Check if a character is valid in an identifier
lex_clause
Parse a clause name (e.g., “private”, “nowait”)
lex_directive
Parse a directive name (e.g., “parallel”, “for”)
lex_fortran_fixed_sentinel
Parse Fortran fixed-form sentinel “!$OMP” or “C$OMP” in columns 1-6 (case-insensitive)
lex_fortran_free_sentinel
Parse Fortran free-form sentinel “!$OMP” (case-insensitive)
lex_identifier_token
Parse an identifier token (exposed publicly)
lex_omp
Parse “omp” keyword
lex_pragma
Parse “#pragma” keyword
normalize_fortran_identifier
Normalize Fortran identifier to lowercase for case-insensitive matching
skip_space1_and_comments
Skip whitespace/comments - requires at least one
skip_space_and_comments
Skip whitespace and C-style comments