poka.sh

Docs

F90

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

Fortran Preview.

At a glance

Purpose Fortran source code in free form (Fortran 90 and later).
Extensions .f90
Poka parser poka-fortran
Viewer poka-metadata-card-viewer
Depth tier Metadata card (see Depth tiers)
Breadth tier B4 Summary (see Breadth tiers)

How much Poka reads

B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.

Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-fortran/src/main.rs (356 lines) and plugin.json in full. The crate has no unit tests and no tests/samples.rs, and the corpus has no .f90, .f95, .f03 and .f08 sample, so the tier rests on reading the code. Covers .f90, .f95, .f03 and .f08. The output is a metadata card of counts found by matching text line by line: the source form, programs, modules, subroutines, functions, derived types, interfaces, block and common, use and include, do, if and where, implicit none, continuation lines and line counts. Judgement: B4, because the structure is summarised but the source itself is never shown.

What Poka does not read

  • The source text is not shown: the card carries only counts and a few sample names, with no code view or highlighting
  • Constructs are found by matching text line by line, not by parsing, so multi-line declarations, nested or indented definitions and keywords inside strings or comments can be miscounted
  • Counts of named items stop where their name list is capped (modules at 32, subroutines at 64, functions at 64, types at 32), so a larger file under-reports them
  • Files over 32 MiB are cut to the first 32 MiB (the card says so)
  • Text that is not UTF-8 is decoded with replacement characters; no other encoding is tried
  • Fixed-form .f and .for files do not reach this module: .f goes to poka-code and .for is not routed

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

  • tree-sitter-fortran (candidate; MIT; tree-sitter grammar; https://github.com/stadelmanma/tree-sitter-fortran) — Fortran grammar for tree-sitter, adapted from a Fortran 90 grammar per its README link; standards coverage not stated on the page.
  • fparser (candidate; licence unconfirmed; Python; https://github.com/stfc/fparser) — STFC Fortran parser (fparser2 covers Fortran 2003 and some 2008); repo page links a LICENSE file but its text was not shown.

Sources

  • parsers/poka-fortran/src/main.rs
  • parsers/poka-fortran/plugin.json