PAS2JS-3.2.2(1)
β¨ pas2js-3.2.2 β the Free Pascal Compiler girlies π
okay bestie, sit DOWN, because we're talking about a whole manual page here. This is the man page for pas2js-3.2.2 from the Free Pascal Compiler crew, and no cap, it's a lot β but we're gonna get through it together, every single flag, every single letter, nothing skipped. π«Ά
πΈ NAME πΈ
pas2js-3.2.2 β a Pascal to JavaScript translator, built on top of the Free Pascal Compiler (FPC). it's giving "your Pascal, but make it browser". iconic, honestly. π
π SYNOPSIS π
pas2js-3.2.2
that's it. that's the whole synopsis. she simply runs. β¨
π¦ DESCRIPTION π¦
Pas2JS Compiler version 1.5.1 [2026/07/09] for Linux x86_64 β Copyright Β© 2019 Free Pascal team. periodt, that's the official word. π
and like, the whole vibe is: you feed her a Pascal file, she gives you JavaScript:
<your.pas>
main character energy fr fr. π
π OPTIONS π
okay so first, the little rule that applies to ALL the boolean-switch girlies: put + after a boolean switch option to turn it ON, and - to turn it OFF. remember that, it comes back constantly. π§ β¨
@<x>β read compiler options from the file<x>, on top of (in addition to) the defaultpas2js.cfg. like an extra lil config bestie. π-Bβ rebuild everything. all of it. from scratch. a fresh start, a rebirth, a slay. π₯-d<x>β defines the symbol<x>. optional flex:-d<x>:=<value>. π-i<x>β write info and then halt.<x>is a combo of these letters:-iDβ write compiler date-iSOβ write compiler OS-iSPβ write compiler host processor-iTOβ write target platform-iTPβ write target processor-iVβ write short compiler version-iWβ write full compiler version-icβ write the list of supported JS processors you can use with-P<x>-imβ write the list of supported modeswitches you can use with-M<x>-ioβ write the list of supported optimizations you can use with-Oo<x>-itβ write the list of supported targets you can use with-T<x>-iJβ write the list of supported JavaScript identifiers-JoRTL-<x>
-C<x>β code generation options.<x>is a combination of these letters:oβ overflow checking of integer operationsrβ range checkingRβ object checks. verifies method calls and object type casts. she's watching. π
-F...β set file names and paths, the whole suite:-Fe<x>β redirect output to the file<x>. UTF-8 encoded, obviously. π-FE<x>β set the main output path to<x>-Fi<x>β add<x>to the include paths-FN<x>β add<x>to namespaces. namespaces with a trailing-get removed. Delphi calls this flag "unit scope names", fyi iykyk. π·οΈ-Fu<x>β add<x>to the unit paths-FU<x>β set the unit output path to<x>
-I<x>β add<x>to the include paths. literally identical to-Fi, same thing bestie. πͺ-J...β the extra options of pas2js, her bonus round:-Jcβ write all JavaScript concatenated into the output file-Je<x>β encode messages as<x>.-Jeconsoleβ Console codepage. this is the default.-Jesystemβ System codepage. on non-Windows, console and system are the same thing.-Jeutf-8β Unicode UTF-8. this is the default when you use-Fe.-JeJSONβ output compiler messages as JSON. logo etc are outputted as-is.-Ji<x>β insert the JS file<x>into the main JS file. e.g.-Jirtl.js. can be given multiple times. to remove a file name, append a minus, e.g.-Jirtl.js-. βοΈ-Jlβ lower case identifiers-Jmβ generate source maps-Jmsourceroot=<x>β use x as "sourceRoot", the prefix URL for source file names.-Jmbasedir=<x>β write source file names relative to directory x, default is the map file folder.-Jmincludeβ include Pascal sources in the source map.-Jmabsoluteβ store absolute filenames, not relative.-Jmxssiheaderβ start the source map with XSSI protection)]}', default.-Jm-β disable generating source maps-Jo<x>β enable or disable an extra option. the x is case insensitive:-JoSearchLikeFPCβ search source files like FPC, default: search case insensitive.-JoUseStrictβ add "use strict" to modules, default.-JoCheckVersion-β do not add rtl version check, default.-JoCheckVersion=mainβ insert rtl version check into main.-JoCheckVersion=systemβ insert rtl version check into the system unit init.-JoCheckVersion=unitβ insert rtl version check into every unit init.-JoRTL-<y>=<z>β set RTL identifier y to the value z. see-iJ.
-Jr<x>β control writing of resource string file-Jrnoneβ do not write resource string file-Jrunitβ write resource string file per unit, with all resource strings-Jrprogramβ write resource string file per program, with all used resource strings in the program
-Jr<x>β control writing of linked resources-JRnoneβ do not write resources-JRjsβ write resources in Javascript structure-JRhtml[=filename]β write resources as preload links in an HTML file (default isprojectfile-res.html)
-Jpcmd<command>β run a postprocessor. for each generated js, execute the command, passing the js as stdin and reading the new js from stdout. this option can be added multiple times to call several postprocessors in succession. π«-Ju<x>β add<x>to foreign unit paths. foreign units are not compiled.-JUβ this pas2js does not support PCU files. nope, not a thing here. π
-lβ write logo. branding matters. π-M<x>β set the language mode or enable/disable a modeswitch-MDelphiβ Delphi 7 compatibility mode-MObjFPCβ FPC's Object Pascal compatibility mode (default)-M<x>β enable or disable a modeswitch, see option-im
each mode (as listed above) enables its own default set of modeswitches. other modeswitches are disabled and need to be enabled one by another. so like, one at a time, we go girl by girl. π
-NS<x>β obsolete: add<x>to namespaces. same as-FN<x>. she's old, show her respect anyway. π«Ά-nβ do not read the default config files-o<x>β change the main JavaScript file to<x>..means stdout. π-O<x>β optimizations:-O-β disable optimizations-O1β level 1 optimizations (quick and debugger friendly)-Oo<x>β enable or disable an optimization. the x is case insensitive:-OoEnumNumbers[-]β write enum value as a number instead of a name. default in-O1.-OoRemoveNotUsedPrivates[-]β default is enabled-OoRemoveNotUsedDeclarations[-]β default enabled for programs with-Jc
-P<x>β set the target processor. case insensitive:-Pecmascript5β default-Pecmascript6
-S<x>β syntax options.<x>is a combination of these letters:2β same as-Mobjfpc(default)aβ turn on assertionscβ support operators like C (*=,+=,/=and-=)dβ same as-Mdelphijβ allows typed constants to be writeable (default)mβ enables macro replacements
-SI<x>β set the interface style to<x>-SIcomβ COM, reference counted interface (default)-SIcorbaβ CORBA interface
-T<x>β set the target platform-Tbrowserβ default-Tnodejsβ addpas.run(), includes-Jc
-u<x>β undefines the symbol<x>. bye girl. π-v<x>β be verbose.<x>is a combination of these letters:eβ show errors (default)wβ show warningsnβ show noteshβ show hintsiβ show infolβ show line numbers, needs-viaβ show everything0β show nothing (except errors)bβ show file names with full pathcβ show conditionalstβ show tried/used filesdβ show debug notes and info, enables-vniqβ show message numbersxβ show used toolsvβ writepas2jsdebug.logwith lots of debugging infozβ write messages to stderr,-o.still uses stdout.
-vm<x>,<y>β do not show messages numbered<x>and<y>. silence, bestie. π€«-?β show this help-hβ show this help
also, real talk: the environment variable PAS2JS_OPTS is parsed after the default config and before the command line parameters. so she gets a lil say before your terminal does. π
π§ Macros π§
the format is $Name, $Name$ or $Name(). pick your fave, they all work:
$Pas2jsFullVersion: major.minor.release<extra>$Pas2jsVersion: major.minor.release$CfgDir: use within a config file. the directory of this config file$Env(): environment variable, e.g.$Env(HOME)
π SEE ALSO π
the full documentation for pas2js-3.2.2 is maintained as a Texinfo manual. if the info and pas2js-3.2.2 programs are properly installed at your site, this command:
info pas2js-3.2.2
should give you access to the complete manual. go read her, she's thorough. ππ
and that's the whole page bestie, no notes. this was the pas2js-3.2.2 man page from July 2026 β the July 2026 edition, brought to you by the Free Pascal Compiler girlies. periodt. π
β¨
π¦ where this page comes from
- ubuntu stonking: fp-utils-3.2.2 3.2.2+dfsg-51 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms