## リファレンス

### modulesモジュール

    module modules {
      rule peek ( module-name ? : variables + ) { }
      rule poke ( module-name ? : variables + : value * ) { }
    }

### osモジュール

    module os {
      rule environ ( variable-names + ) { }
      rule name ( ) { }
    }

### pathモジュール

    module path {
      rule glob ( dirs * : patterns + : exclude-patterns * ) { }
      rule glob-tree ( roots * : patterns + : exclude-patterns * ) { }
    }

### setモジュール

    module set {
      rule difference ( B * : A * ) { }
    }

### targetsモジュール

    class abstract-target { }
    class project-target { }
    class main-target { }
    class file-reference { }
    class basic-target { }
    class typed-target { }
    module targets {
      rule main-target-sources ( sources * : main-target-name : no-renaming ? ) { }
      rule main-target-requirements ( specification * : project ) { }
      rule main-target-usage-requirements ( specification * : project ) { }
      rule main-target-default-build ( specification * : project ) { }
      rule main-target-alternative ( target ) { }
      rule create-typed-target ( type : project : name : sources * : requirements * : default-build * : usage-requirements * ) { }
    }

### toolsetモジュール

    module toolset {
      rule using ( toolset-module : * ) { }
    }

### virtual-target モジュール

    class virtual-target { }
    class abstract-file-target { }
    class file-target { }
    class notfile-target { }
    class action { }
    class null-action { }
    class non-scanning-action { }
    module virtual-target {
      rule add-prefix-and-suffix ( specified-name : type ? : property-set ) { }
      rule from-file ( file : file-loc : project ) { }
      rule register ( target ) { }
      rule recent-targets ( ) { }
      rule clear-recent-targets ( ) { }
      rule all-targets ( ) { }
      rule select-by-type ( type : targets * ) { }
      rule register-actual-name ( actual-name : virtual-target ) { }
      rule traverse ( target : include-roots ? : include-sources ? ) { }
      rule clone-action ( action : new-project : new-action-name ? : new-properties ? ) { }
    }