FORTRAN SOFTWARE CATALOG

Repository owner: Ian Giestas Pauli (14NGiestas)

shunting-yard-fortran

Experimental expression parser with token callbacks and fixed operator precedences.

Repository · Pinned source (ff62d83502bc) · Try in playground · Checked package example

GAMS classifications

About this package

Category
Expression parsing
License
MIT

Topics: expression-parsing, fortran, fortran-package-manager, modern-fortran, operator-precedence, parsing, shunting-yard-algorithm, tokenization

Classification scope and review notes

Token-based expression parsing with user-supplied callbacks. The main checks precedence, parentheses, right-associative exponentiation, square root and unary minus against five exact results. A checksum-guarded edit moves a host-independent library callback to module scope after the original layout crashed in the sandbox; parsing rules are unchanged. The author documents global registrations, fixed precedences and missing syntax validation; concurrent parsers and malformed expressions are not supported by this example.

Package dependencies

Resolved GitHub repositories used by the verified playground build, combining direct and indirect dependencies. This list does not describe internal module dependencies or native system libraries.

Required by this build

Build record verified 2026-10-28.

Used by (0 selected packages)

No other selected build records this repository as a dependency. This is not a measure of usage outside the catalog.

Reviewed procedures

These mappings have pinned source evidence. A checked package example may exercise only some of them; source review is not a numerical benchmark.

parser_t%parse / register_operator

Module: parser_module

N3

N3: source-supported

Derivatives / callbacks: not applicable

Token-based expression parsing with user-supplied callbacks. The main checks precedence, parentheses, right-associative exponentiation, square root and unary minus against five exact results. A checksum-guarded edit moves a host-independent library callback to module scope after the original layout crashed in the sandbox; parsing rules are unchanged. The author documents global registrations, fixed precedences and missing syntax validation; concurrent parsers and malformed expressions are not supported by this example.

Pinned source: src/parser.f90

Author examples/tests: app/main.f90