Documentation
  • Introduction
  • Why Ampersand?
    • The Business Rules Manifesto and Ampersand
  • Tutorial
    • Example system: Enrollment
    • Conceptual Model: Enrollment
    • Your tool: RAP4
    • Making your first Ampersand script
  • Reactive programming
  • The language Ampersand
    • How to read syntax statements
    • Truth
    • Atoms
    • The CONCEPT statement
    • The RELATION statement
    • The MEANING statement
    • The PURPOSE statement
    • The CLASSIFY statement
    • The RULE statement
    • Terms
      • Semantics
      • Semantics in logic
        • Primitive terms
        • Boolean operators
        • Relational operators
        • Residual operators
      • Semantics in natural language
        • Primitive terms in natural language
        • Boolean operators in natural language
        • Relational operators in natural language
        • Residual operators in natural language
      • Semantics in sets
        • Primitive terms in set theory
        • Boolean operators in set theory
        • Relational operators in set theory
      • Semantics of terms, defined algebraically
        • Boolean operators in algebra
        • Relational operators in algebra
      • Semantics visualized
        • Semantics of boolean operators visualized
        • Semantics of relational operators visualized
        • Semantics of residuals visualized
    • Context
    • Module
    • Best Practices
    • Syntactical Conventions
      • The CONCEPT statement
      • The RELATION statement
      • The RULE statement
      • The CONTEXT statement
      • The INCLUDE statement
      • Explanation
      • Patterns
      • Population
        • Population in spreadsheets
      • The PURPOSE statement
      • The IDENT statement
      • The TABLE statement
      • Language support
    • The INCLUDE statement
    • Patterns
    • Services
      • Example: Client
      • Example: Login
      • Syntax and meaning
      • Explanation
      • Layout of user interfaces
        • Your own widgets (HTML and CSS)
      • CRUD
    • Population
      • Population in spreadsheets
    • The ENFORCE statement
    • The IDENT statement
    • The TABLE statement
    • Language support
    • Current date
    • The Preprocessor
    • Design considerations
  • Running the Ampersand compiler
    • Configuration
    • Commands (vs. 4.0.0 and later)
    • Options (up to vs. 3.17.4)
  • Architecture of an Ampersand Application
    • Backend framework
    • Hooks
    • Extensions
      • The ExecEngine
  • Deploying your Ampersand script
    • Compiler
    • Deploy your own web application on your laptop
    • Prototype multi-stage build
    • Prototype database
  • Reusing Available Modules
    • Modules
    • Security
    • SIAM (Sessions, Identity and Access Management) Module
  • Exercises
    • Delivery
    • VOG (in Dutch)
  • Installing Ampersand
    • Deploying your Prototype
    • Installing the tools manually
  • Modeling
    • Domain Driven Design
    • Data modeling
    • Legal modeling
    • Architecture modeling
    • Metamodeling
    • Limitations of Ampersand
  • Configuring your application
  • The Excel Importer
  • Plans
    • Current State
    • NoSQL storage
    • API documentation
    • OWL and RDFS input
    • Refactor the front-end
  • Research
Powered by GitBook
On this page
  • -h, -?, --help
  • -V, --version
  • Other options
  • --ECA
  • --add-semantic-metamodel
  • --altGraphics
  • --atlas-without-terms
  • --blackWhite
  • --config=config.yaml
  • --crowfoot
  • --crud-defaults=CRUD
  • --customizations=DIRECTORY [, DIRECTORY]*
  • --dbName=NAME (-d)
  • --dev, --ignore-invariant-violations
  • --diagnosis
  • --do-not-trim-cellvalues
  • --export[=file] (-e)
  • --force-reinstall-framework
  • --fpa
  • --fpa-excel
  • --fspec=FORMAT (-f)
  • --gen-as-rap-model
  • --haskell
  • --help (-h, -?)
  • --services (-x)
  • --language=LANG
  • --meta-file
  • --meta-tables
  • --namespace=NAMESPACE
  • --newNormalizer
  • --noDiagnosis
  • --noGraphics
  • --oldNormalizer
  • --outputDir=DIR (-o)
  • --pop-xlsx
  • --proofs
  • --proto[=DIRECTORY] (-p)
  • --prototype-framework-version=VERSION
  • --reference-table
  • --sampleConfigFile
  • --sql-bin-tables
  • --sqlHost=HOSTNAME
  • --sqlLogin=USER
  • --sqlPwd=PASSWORD
  • --sqldump
  • --test
  • --testRule=RULE
  • --uml
  • --validate
  • --verbose (-V)
  • --version (-v)
Export as PDF
  1. Running the Ampersand compiler

Options (up to vs. 3.17.4)

Command-line options are used to tell the ampersand compiler what to do. This page lists the available options.

Some of the options are still experimental. Momentarily an effort is made to rationalize the options, so this may change at some point in the near future.

Since Ampersand-v3.5.3, it is possible to use a configuration file, reducing the need to rewrite the same options every time you use ampersand.exe. A configuration file can be used using the --config option.

This text may deviate slightly from the Ampersand version you are running, especially as new options are introduced. The command ampersand --help will give you the actual list.

-h, -?, --help

Print a usage message briefly summarizing the most common command-line options and the bug-reporting address, then exit. When used in combination with --verbose, it shows all command-line options. Use this to get the actual list of options of your Ampersand compiler.

-V, --version

Print the version number of Ampersand to the standard output stream. Please mention this information in every bug report you submit (see below).

Other options

--ECA

generate documentation with ECA rules.

--add-semantic-metamodel

The metamodel in Formal-ampersand is loaded together with your own model. Use this feature in conjunction with --meta-tables to get a metamodel populated with your own script into the database.

--altGraphics

generate graphics in an alternate way. (you may experiment with this option to see the differences for yourself)

--atlas-without-terms

Temporary option to create an Atlas without terms. This feature is used in RAP3 for performance reasons.

--blackWhite

do not use colors in generated graphics. Use this feature if you must print in black and white, to obtain better results than printing a colored source on a black-and-white printer.

--config=config.yaml

By default, the Ampersand compiler looks in the working directory for a config file (.yaml) with the same filename as the Ampersand script. Use this feature to redirect to another file. Use --sampleConfigFile to get a template.

--crowfoot

generate crowfoot notation in conceptual models. This is used to better match the preferences of some database engineers in the generated documentation.

--crud-defaults=CRUD

--customizations=DIRECTORY [, DIRECTORY]*

copy one or more directories into the generated prototype. This overrules the default directory, which is called customizations.

--dbName=NAME (-d)

database name. Use this for choosing the name of the SQL database. This overrules the environment variable CCdbName. It defaults to the filename of your Ampersand script.

--dev, --ignore-invariant-violations

--diagnosis

diagnose your Ampersand script. Use this if you wish to generate a document containing only the diagnosis chapter.

--do-not-trim-cellvalues

Do not ignore leading and trailing spaces in .xlsx files that are INCLUDED in the script. Normally, Ampersand removes spaces around cell values in .xlsx files when transforming the cell value to atoms. Use this to enforce that spaces around cell values are meaningful.

--export[=file] (-e)

export as plain Ampersand script.

--force-reinstall-framework

re-install the prototype framework. This discards any previously installed version. Use this to eradicate any doubt about a fresh reinstall.

--fpa

Generate Function Point Analysis chapter. Use this to include a measure of the functional complexity (size) of the generated application into your functional specification document. This feature is currently out of order.

--fpa-excel

generate an Excel workbook (FPA_<filename>.xml). Use this to obtain the base data used in the function point analysis. This feature is currently out of order.

--fspec=FORMAT (-f)

generate a functional design document in specified output format (FORMAT=[Asciidoc, Context, Docbook, Docx, Html, Latex, Man, Markdown, Mediawiki, Opendocument, Org, Pandoc, Pdf, Plain, Rst, Rtf, Texinfo, Textile]). Use this to obtain documentation in the format of your own choice.

--gen-as-rap-model

generate populations for use in RAP3.

--haskell

generate internal data structure, written in Haskell. Use this for debugging.

--help (-h, -?)

get (this) usage information.

--services (-x)

generate services. This feature does not work properly at the moment.

--language=LANG

Pick 'NL' for Dutch or 'EN' for English, as the language to be used in your output. Without this option, the output is written in the language of your context. Text snippets in other languages than the one specified are ignored. Use this to get a functional specification in the language of your choice.

--meta-file

Generate a .adl file that contains the relations of formal-ampersand, populated with the meta-population of your own .adl model.

--meta-tables

Populate the metamodel of Ampersand with the contents of your own script. Use this feature in conjunction with --add-semantic-metamodel to get a metamodel populated with your own script into the database. This is used for higher-order purposes, specifically in RAP3.

--namespace=NAMESPACE

prefix database identifiers with this namespace, in order to isolate namespaces within the same database. This feature was used in RAP2 to isolate students' work in separate tables.

--newNormalizer

Use the new optimizer at your own risk. Used for research purposes.

--noDiagnosis

omit the diagnosis chapter from the functional design document.

--noGraphics

omit the generation of graphics during the generation of the functional design document.

--oldNormalizer

use the old optimizer at your own risk. Used for research purposes.

--outputDir=DIR (-o)

output directory. Use this if you want the Ampersand compiler to redirect the output to a location of your choice. This overrules the environment variable CCdirOutput.

--pop-xlsx

Generate a .xmlx file containing the populations of your script. Meant to be used as an Excel-file in which you can add bulk data and reuse that for loading the data into your application.

--proofs

generate derivations in HTML-format. Use this to see how Ampersand derives computer instructions from your rules.

--proto[=DIRECTORY] (-p)

generate an information system. Use this to verify your analysis or to obtain a working prototype from your Ampersand script. In some cases, the result will be good enough for production. This option overrules the environment variable CCdirPrototype.

--prototype-framework-version=VERSION

tag, branch or SHA of the prototype framework on Github. Use this to select a specific version when generating an information system.

--reference-table

generate a table of references in the Natural Language chapter, for instance for legal traceability.

--sampleConfigFile

write a sample configuration file (sampleconfig.yaml). Use this to save yourself the trouble of looking up an example configuration file.

--sql-bin-tables

generate binary tables only in the SQL database. Use this to verify that the generated system works with binary tables as well as with wide tables.

--sqlHost=HOSTNAME

set SQL hostname (Defaults to `localhost`). Use this to let the generated system know which database to connect to.

--sqlLogin=USER

set SQL user name (Defaults to `ampersand`). Use this to let the generated system log into the database.

--sqlPwd=PASSWORD

set SQL password (Defaults to `ampersand`). Use this to let the generated system log into the database.

--sqldump

generate a dump of SQL queries. Use this for debugging purposes.

--test

Used for test purposes only.

--testRule=RULE

Show contents and violations of specified rules. Use this for diagnostic purposes.

--uml

Use this to generate conceptual models as a UML 2.0 data model.

--validate

Compare results of rule evaluation in Haskell and SQL. Use this to debug the SQL code generator to validate the meaning of all rules, which are evaluated both in the compiler and in the database. This option requires command-line PHP with MySQL support.

--verbose (-V)

run the compiler in verbose mode. Use this for diagnostic purposes.

--version (-v)

PreviousCommands (vs. 4.0.0 and later)NextArchitecture of an Ampersand Application

Last updated 3 years ago

Set the default CRUD function for services. This function is explained in . This feature is used temporarily to gain experience with CRUD and learn about its semantics.

Allow building a prototype, even if there are invariants that are being violated. (See on Github)

show version and exit. Please use this when reporting bugs on .

interface terms
issue 728
Github