# se

## Description

Invoke SmartEiffel Compiler.

## Parameters

ace
  Description: Name of ace file

  Domain: Valid filename pointing to existing file

  Default: empty string

root_class
  Description: Root class

  Domain: valid classname

  Default: -

creation_procedure
  Description: Creation procedure of root class

  Domain: valid creation prodedure of root_class

  Default: false

executable
  Description: executable

  Domain: valid filename

  Default: -

case_insensitive
  Description: case insensitive

  Domain: true|false

  Default: false

no_style_warning
  Description: no_style_warning

  Domain: true|false

  Default: false

clean
  Description: clean

  Domain: valid system name

  Default: empty string

exit_code_variable
  Description: Name of variable holding the compiler process's return code after it's run

  Domain: Integer (usually 0 for OK, and any other number for not OK)

  Default: `Void' (no variable is set if attribute is not specified)

## RNG Specification

      <define name="se">
        <element name="se">
          <ref name="dir_if_unless"/>
          <choice>
            <attribute name="clean"/>
            <attribute name="ace"/>
            <group>
              <attribute name="root_class"/>
              <attribute name="executable"/>
              <optional>
                <attribute name="creation_procedure"/>
              </optional>
              <optional>
                <attribute name="case_insensitive"/>
              </optional>
              <optional>
                <attribute name="no_style_warning"/>
              </optional>
            </group>
          </choice>
        </element>
      </define>

## Examples

      <se ace="compile_se.ace"/>

      <se clean="main"/>

      <se clean="${system}"/>