Releases: camfort/fortran-src
Releases · camfort/fortran-src
Version 0.16.3
0.16.3 (Sep 30, 2024)
- Store source names for local declarations in .fsmod files.
- Constant evaluator now handles real-integer exponent and real-real exponent expression
Documentation here: https://hackage.haskell.org/package/fortran-src-0.16.3
Version 0.16.2
- Small change to allow a path to be added when building mod-file naming map
- Improvements to the power of constant propagation and constant expression evaluation.
Version 0.16.1
- Minor fix to
fromConstReal
which was partial. - Added
Ord
instance forAST
and all its sub data types, allowing, for example, ASTs to be in containers like Data.Set
Version 0.16.0
Version 0.14.0
Version 0.13.0
- better handling for line directives in free form lexer (#248, @mrd)
- don't inline solo includes in relevant F77 parsers (#245, @RaoulHC)
- add
-C=opts
CLI option for passing CPP arguments (#250, @mrd) - fix reformatting of 73 character long lines in naive mixed form reformatter
(#251, @ksromanov) - assume extended
Fortran77Legacy
rather thanFortran77
for*.f
,*.for
etc. files (#260) - allow comment lines between continuation lines in F77 parser (in standard)
(#257, @RaoulHC) - refactor Fortran type & value representation & expression evaluator without
Fortran kind-indexed GADTs; replace constant folder (#253, @raehik)
Version 0.12.0
- clean up F77 include inlining (#245, @RaoulHC)
- directly export F77 include parser at
f77lIncludesNoTransform
f77lIncIncludes :: String -> ByteString -> IO [Block A0]
should now be
defined by the user e.g.\fn bs -> throwIOLeft $ f77lIncludesNoTransform fn bs
- directly export F77 include parser at
Language.Fortran.Analysis.SemanticTypes
: alterSemType
constructor
TArray
to support assumed-size (e.g.integer arr(*)
) arrays (#244)Language.Fortran.Rewriter
: fix inline comment padding (#242, @RaoulHC)
Version 0.11.0
- add strong Fortran value & type representation at
Language.Fortran.Repr
(currently unused) (#235, @raehik)- operations are accurate to actual Fortran compiler behaviour e.g. integers
are stored fixed-width based on kind, so overflow behaviour is free - can recover a value's precise type (e.g.
INTEGER(8)
, including kind) via
pattern matching
- operations are accurate to actual Fortran compiler behaviour e.g. integers
- bump minimum compiler version to GHC 9.0
- improved comment handling in fixed form lexer: parse more comment syntax,
case sensitive, parse beyond column 72 (#237, @RaoulHC) - allow
ExpDataRef
constructor invarName
(fixes a crash in type analysis
#238) - add
Annotated
,Spanned
instances for intermediate AST data type
ArgumentExpression
- export statement-level "pre-prepared" parsers (previously, you would have to
define the parser yourself using parser utils and the Happy parser export) - export
Language.Fortran.Parser.byVerFromFilename :: Parser (ProgramFile A0)
, a replacement for the removed
Language.Fortran.Parser.Any.fortranParser
Version 0.10.2
Version 0.10.1
- export
ParseErrorSimple
fromParser
, not internal moduleParser.Monad
- rewriter fixes #232