S7C(1)
πΈ S7C(1) β the Seed7 compiler, bestie edition πΈ
okay so real talk, this is the manual page for s7c, and yeah it lives in the SEED7 COMPILER section of the manual. she's giving compiler main character energy and honestly? she ate. let's get into it π«Ά
β¨ NAME β¨
s7c β the compiler for the Seed7 programming language. that's the whole vibe. periodt π
π¦ SYNOPSIS π¦
s7c [ options ] source
literally just options then your source file. iconic, no notes β¨
π DESCRIPTION π
so s7c invokes the Seed7 compiler. and Seed7 itself? it's an extensible general purpose programming language β say that three times fast, i dare you π
it's a higher level language compared to Ada, C/C++ and Java. highkey built different. its major features include, and i'm quoting the whole list because every single one is a slay:
- user defined statements and operators π
- abstract data types
- templates without special syntax (no cursed angle brackets, we love to see it)
- OO with interfaces and multiple dispatch π¦
- statically typed
- interpreted or compiled (she can do both, versatile queen)
- portability
the documentation of Seed7 and many examples can be found in /usr/share/doc/seed7. go read it, bestie, it's right there π
π OPTIONS π
-?β writes the Seed7 compiler usage. when in doubt, ask her politely β¨-Onβ tells the C compiler to optimize with leveln, wherenis between1and3. numbers, we love them π-Oβ equivalent to-O1. yes it's a shortcut, yes it's still valid, no i will not be taking questions π-Sβ specifies the stack size of the executable (e.g.:-S 16777216). big stack energy π₯-bβ specifies the directory of the Seed7 runtime libraries (e.g.:-b ../bin). point her at the libs, she'll handle the rest π§-cβ specifies the configuration (C compiler, etc.) to be used (e.g.:-c emcc). yes queen, pick your fighter π-eβ generates code which sends a signal if an uncaught exception occurs. this option allows debuggers to handle uncaught Seed7 exceptions. ngl that's kind of a serve for debugging πΈ-fltoβ enables link time optimization. big brain hours π-gβ tells the C compiler to generate an executable with debug information. this way the debugger will refer to Seed7 source files and line numbers. and if you want debug information that refers to the temporary C program instead, use-g-debug_c. two moods, both valid π-lβ adds a directory to the include library search path (e.g.:-l ../lib). more paths more problems? no, more paths more possibilities β¨-ocnβ optimizes the generated C code with leveln, wherenis between0and3. e.g.:-oc3. see the whole breakdown below, i gotchu π-pβ activates simple function profiling. know where your time goes, bestie β-sxβ suppresses the checks specified withx. e.g.:-sror-sro. the full menu ofxletters is down below π-txβ sets the runtime trace level tox. e.g.:-te. also listed out below π¦-wnβ specifies the warning leveln. e.g.:-w2. levels below, keep scrolling π
π₯ OPTIMIZATION LEVEL FOR GENERATED C CODE π₯
the option -ocn can optimize generated C code with level n. these are the supported levels for generated C code, and yes i'm giving you all of them:
0β do no optimizations with constants. chill, unbothered, moisturized πΈ1β use literals and named constants to simplify expressions. (default) β this is the one she picks if you don't say anything π2β evaluate constant parameter expressions to simplify expressions. now we're cooking β¨3β like-oc2and additionally evaluate all constant expressions. go big or go home π₯
π SUPPRESSED CHECKS π
the option -sx can suppress checks. the checks x are specified with letters from this list:
dβ suppress the generation of checks for integer division by zero. (bold move, but ok π)iβ suppress the generation of index checks (e.g. string, array).oβ suppress the generation of integer overflow checks.rβ suppress the generation of range checks.
okay so real talk β these are suppressing safety checks. that's literally what the flag does. i'm not adding lore, i'm just saying: read what you're turning off before you turn it off, bestie π
π TRACE LEVEL π
the option -tx can set the trace level. the trace levels x are specified with letters from this list:
dβ trace dynamic callseβ trace exceptions and handlersfβ trace functionssβ trace signals
pick your letter, watch the tea unfold π
β WARNING LEVEL β
the option -wn can set the warning level to n. these levels are supported:
0β omit warnings. ignorance is bliss, i guess π1β write normal warnings. (default) β the standard amount of "hey bestie, heads up" π2β write warnings for raised exceptions. she's thorough, we respect it π
π§ FILES π§
/usr/share/doc/seed7/manual.txtβ the manual for the Seed7 programming language./usr/share/doc/seed7/manual.htmβ HTML version of the Seed7 manual. (yes,.htm, not.htmlβ copy it exactly, don't @ me π )/usr/bin/s7cβ the Seed7 compiler herself. the main character π/usr/lib/seed7/libβ directory of the include libraries./usr/lib/seed7/binβ directory of the object libraries.
π¦ HOMEPAGE π¦
go say hi πΈ
π AUTHOR π
Seed7 was written by Thomas Mertes <thomas.mertes@gmx.at>.
this manual page was written by Thomas Mertes <thomas.mertes@gmx.at>. (same icon, writing his own docs β self-sufficient legend β¨)
π«Ά SEE ALSO π«Ά
s7(1)β the other one, go read it too, iykyk π
okay that's the whole page, you're officially educated π and a cute little sign-off for the record: this is Version 3.2, dated September 12, 2023 β go compile something iconic, bestie πβ¨π¦
π¦ where this page comes from
- alpine 3.24: seed7-doc 05.20240322-r1 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms