Using gdcc-acc
The process of using gdcc-acc is under most circumstances identical to that of using the regular acc compiler. As a result, it can safely be used as a direct substitute for acc in utilities such as Slade.
Usage of gdcc-acc is as simple as the following:
gdcc-acc <input file>.acs <output file>.bin
Do note that there are some specific incompatibilities with ACC which should be accounted for in code using gdcc-acc.
In addition to the standard acc syntax, gdcc-acc has a plethora of additional command-line parameters that may be used, which can be listed by either running gdcc-acc without arguments, or passing the -h (--help) argument.
Most of these are useful only to gdcc-cc users, since these abilities are shared with that program. However, under very specific circumstances, these can be useful.
As of version 0.11.0, the default output of gdcc-acc is:
gdcc-acc v0.11.0 usage: gdcc-acc [option]... [source]... Compiles ACS source into IR data. Output defaults to last loose argument. -h, --help Prints usage and exits. --help-adoc Prints AsciiDoc usage and exits. --help-long Prints full usage and exits. --version Prints version and exits. codegen: --alloc-Aut Sets the default Aut stack size. --alloc-minimum Sets the minimum address for an address space. --bc-zdacs-Sta-array Sets the global array used for Sta. --bc-zdacs-init-gbl-array Sets the global array used to store init status. --bc-zdacs-init-gbl-index Sets the global array index used to store init status. --bc-zdacs-init-hub-array Sets the hub array used to store init status. --bc-zdacs-init-hub-index Sets the hub array index used to store init status. --bc-zdacs-init-script-name Sets the name for the init script. --bc-zdacs-init-script-named Enables a named init script. --bc-zdacs-init-script-number Sets the number for the init script. --bc-zdacs-scripti-param Sets the number of native parameters for numbered scripts. --bc-zdacs-scripts-param Sets the number of native parameters for named scripts. --func-minimum Sets the minimum address for functions. --zero-null-StrEn Enables zero representation for StrEn nulls. input: --lib-path Sets the base path for library sources and headers. --sys-source Adds source file from system directory. output: --bc-format Selects bytecode format. --bc-target Selects target engine. --bc-zdacs-chunk-STRE Generates an encrypted string table. --bc-zdacs-dump-ScriptI Writes a list of numbered scripts to a file. Use - to write to stdout. Structure is: <glyph> <linka> <valueInt> --bc-zdacs-fake-ACS0 Generates a fake ACS0 header. --bc-zdacs-init-delay Adds a delay before setting init flags. --error-file Write errors to file. -c, --ir-output Generate an IR file instead of bytecode. -l, --library Adds a library name to import at runtime. -o, --output Sets output file or directory. preprocessor: -D, --define Adds a predefined macro. -i, --include Adds a user include directory. --lang-include Enables automatic detection of system include directories by language. On by default. --sys-include Adds a system include directory. -U, --undef Removes a predefined macro. warnings: --warn-all Enables all warnings. --warn-common Enables common warnings. --warn-deprecated Warns on use of deprecated entities. --warn-extra Enables common and extra warnings. --warn-extra-return-type Warns on possible suspicious return type uasge. --warn-file-scope-semicolon Warns on extraneous file-scope semicolon. --warn-forward-reference Warns on forward function references. --warn-incompatible-declarationn Warns on incompatible declarations. --warn-parentheses Warns on suspicious lack of parentheses. --warn-redefinition Warns about redefinitions. --warn-return-type Warns on suspicious return type usage. --warn-strict Enables strict warnings. --warn-unknown-encoding-prefix Warns about unknown encoding prefixes. --warn-unused-initializer Warns about unused initializer expressions. --warn-unused-value Warns about expressions with unused value.