LFORTRAN(1)
π LFORTRAN(1) π
okay bestie, welcome to the manual page for LFortran, section 1 of the manual. Yeah, the header line up top was literally just () and () β no version, no date, the girlies left it blank β but the vibe is immaculate and the compiler is real. Let's get into it. β¨
πΈ NAME πΈ
LFortran β a modern, interactive, LLVM-based Fortran compiler. she's giving compiler but make it cunty, no cap.
π SYNOPSIS π
lfortran OPTIONS [files...] [SUBCOMMAND]
so you give her options, you give her files, and if you're feeling extra you hand her a subcommand too. that's the whole shape of it. periodt.
π¦ DESCRIPTION π¦
LFortran is a modern interactive Fortran compiler based on LLVM. that's the entire description, she's a woman of few words and I respect it so much. π
β¨ OPTIONS β¨
every single one, bestie. I did not skip a single flag because I love you.
-h,--helpβ prints this help message and dips out. classic.-Sβ emit assembly, and do not assemble or link. just the assembly, nothing else, she's stopping early.-cβ compile and assemble, but do not link. almost there but not quite.-o TEXTβ tell her which file to put the compiler's output into.-vβ be more verbose. she'll talk more.-Eβ preprocess only. no compiling, no assembling, no linking. just preprocessing, that's it.-l TEXT ...β link library option.-L TEXT ...β library path option.-I TEXT ...β include path.-J TEXTβ where to save themodfiles.-gβ compile with debugging information. debug girlies rise.-D TEXT ...β define<macro>=<value>(or just1if<value>is omitted).--versionβ display compiler version information.-W TEXT ...β linker flags.-f TEXT ...β all the-f*flags live here (only-fPICis supported for now, fyi π«Ά).--cppβ enable C preprocessing.--fixed-formβ use fixed form Fortran source parsing.--fixed-form-inferβ use heuristics to figure out if a file is in fixed form.--no-prescanβ turn off prescan.--show-prescanβ show tokens for the given file and exit.--show-tokensβ show tokens for the given file and exit.--show-astβ show AST for the given file and exit.--show-asrβ show ASR for the given file and exit.--with-intrinsic-modsβ show intrinsic modules in ASR.--show-ast-f90β show Fortran from AST for the given file and exit.--no-colorβ turn off colored AST/ASR. (sad, but okay.)--no-indentβ turn off indented print for ASR/AST.--treeβ tree structure print ASR/AST.--jsonβ print ASR/AST in Json format.--clojureβ print ASR in clojure format.--no-locβ skip location information in ASR/AST Json format.--visualizeβ print ASR/AST Visualization.--pass TEXTβ apply the ASR pass and show ASR (this implies--show-asr, so don't say I didn't warn you).--skip-pass TEXTβ skip an ASR pass in the default pipeline.--show-llvmβ show LLVM IR for the given file and exit.--show-cppβ show C++ translation source for the given file and exit.--show-cβ show C translation source for the given file and exit.--show-asmβ show assembly for the given file and exit.--show-watβ show WAT (WebAssembly Text Format) and exit.--show-juliaβ show Julia translation source for the given file and exit.--show-fortranβ show Fortran translation source for the given file and exit.--show-stacktraceβ show internal stacktrace on compiler errors. (the tea β)--symtab-onlyβ only create symbol tables in ASR (skip executable stmt).--time-reportβ show compilation time report.--staticβ create a static executable.--no-warningsβ turn off all warnings. live your truth I guess.--no-style-suggestionsβ turn off style suggestions.--no-error-bannerβ turn off the error banner.--continue-compilationβ collect error messages and keep compiling after hitting semantic errors.--error-format TEXT=humanβ control how errors are produced (options:human,short). defaults tohuman.--backend TEXT=llvmβ select a backend (options:llvm,cpp,x86,wasm,fortran). defaults tollvm.--openmpβ enable OpenMP.--separate-compilationβ generate object code into.ofiles.--rtlibβ include the full runtime library in the LLVM output.--use-loop-variable-after-loopβ allow using the loop variable after the loop. chaotic, but permitted.--fastβ best performance (it disables strict standard compliance, so know that going in π).--link-with-gccβ calls GCC for linking instead of clang.--target TEXTβ generate code for the given target.--print-targetsβ print the registered targets.--implicit-typingβ allow implicit typing.--implicit-interfaceβ allow implicit interface.--implicit-argument-castingβ allow implicit argument casting.--print-leading-spaceβ print leading white space if format is unspecified.--interactive-parseβ use interactive parse.--verboseβ print debugging statements.--dump-all-passesβ apply all the passes and dump the ASR into a file.--dump-all-passes-fortranβ apply all passes and dump the ASR after each pass into a Fortran file.--cumulativeβ apply all the passes cumulatively till the given pass.--realloc-lhs-arraysβ reallocate left hand side automatically for arrays.--disable-realloc-lhs-arraysβ disables reallocating left hand side automatically for arrays.--module-manglingβ mangles the module name.--global-manglingβ mangles all the global symbols.--intrinsic-manglingβ mangles all the intrinsic symbols.--all-manglingβ mangles all possible symbols.--bindc-manglingβ mangles functions with ABI bind(c).--apply-fortran-manglingβ mangle symbols with Fortran supported syntax.--mangle-underscoreβ mangles with underscore.--legacy-array-sectionsβ enables passing array items as sections if required.--ignore-pragmaβ ignores all the pragmas.--stack-arraysβ allocate memory for arrays on stack.
that's 72 flags btw. I counted. she ate. π₯
π SUBCOMMANDS π
fmtβ format Fortran source files. (glow-up for your code π )kernelβ run in Jupyter kernel mode.modβ Fortran mod file utilities.pywrapβ Python wrapper generator.
π SEE ALSO π
for more information, visit the official LFortran documentation at https://docs.lfortran.org/. she's got lore, go read it. iykyk.
and that's the whole page, bestie π the footer line was, again, just (), so no source, no version, no date β the mystery stays unsolved and honestly? iconic. go compile something cute. πβ¨
π¦ where this page comes from
- ubuntu stonking: lfortran 0.64.0-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms