Loading...
Searching...
No Matches
API
Here is a list of all topics with brief descriptions:
 ConditionalFull-featured conditional compilation (if / ifdef / else / endif) for the fpx preprocessor This module implements standard-conforming conditional compilation with support for:
 ConstantsModule defining constants for the FPX library This module provides a set of public integer constants used to enforce limits in the FPX library, such as maximum line lengths, depths, and parameter counts
 DateLightweight, high-performance date/time handling for the fpx preprocessor This module provides a compact datetime type and essential operations used primarily for expanding the standard predefined macros:
 DefineProcessing of define and undef preprocessor directives This module implements the core logic for handling macro definition and removal during preprocessing in the fpx Fortran preprocessor. It supports:
 DiagnosticsProcessing of warning and error preprocessor directives This module implements the core logic for handling messages (either as warning or errors)
 GlobalCentral global configuration and shared state for the fpx Fortran preprocessor This module defines a single global instance global of type global_settings that holds all persistent, user-configurable state used across the entire preprocessing session:
 GraphLightweight directed graph implementation for cycle detection in macro expansion This module provides a compact, allocation-efficient directed graph (digraph) specifically designed for detecting circular dependencies during macro expansion in the fpx preprocessor
 IncludeInclude file handling and resolution for the fpx Fortran preprocessor
 LoggingGlobal logging and verbosity control for the fpx Fortran preprocessor
 MacroMacro management and expansion core of the fpx Fortran preprocessor
 OSOperating system detection utilities for the fpx preprocessor This lightweight module provides reliable runtime detection of the current operating system on Unix-like platforms (Linux, macOS, FreeBSD, OpenBSD, Solaris) and Windows (including Cygwin, MSYS, and native Windows). Detection is performed only once per thread (using OpenMP threadprivate storage) and then cached for fast subsequent calls. The implementation first checks common environment variables (OSTYPE, OS), then falls back to the presence of OS-specific files. This makes it robust across native systems, containers, WSL, Cygwin, and cross-compilation environments
 OperatorsModule implementing a full C-preprocessor-style constant expression evaluator using a top-down recursive descent parser. The module provides the ability to evaluate integer constant expressions of the kind used in classical preprocessor. This includes support for:
 ParserFortran Preprocessor (fpx) – core parsing and preprocessing module
 PathA modern, portable Fortran module for path manipulation and basic directory operations. This module provides a clean interface for working with file system paths in a platform-independent way. It correctly handles both Unix ('/') and Windows ('\') path separators through conditional compilation and offers deferred-length character results for maximum flexibility
 StringMinimal yet powerful variable-length string type with modern Fortran features. This module implements a lightweight string derived type that behaves like a true variable-length character string while remaining fully compatible with intrinsic Fortran character operations
 TokenToken classification and representation for expression parsing in fpx