rascal 0.3.4

A parser and compiler for Flash ActionScript 2 files into SWFs
Documentation
---
source: crates/rascal/src/program.rs
expression: parsed
input_file: samples/as2/legacy_operators.as
---
Ok:
  initial_script:
    - Expr:
        span:
          start: 0
          end: 13
          file: 0
        value:
          Trace:
            span:
              start: 6
              end: 12
              file: 0
            value:
              BinaryOperator:
                - StringEqual
                - span:
                    start: 6
                    end: 7
                    file: 0
                  value:
                    Constant:
                      Identifier: a
                - span:
                    start: 11
                    end: 12
                    file: 0
                  value:
                    Constant:
                      Identifier: b
    - Expr:
        span:
          start: 15
          end: 28
          file: 0
        value:
          Trace:
            span:
              start: 21
              end: 27
              file: 0
            value:
              BinaryOperator:
                - StringGreaterThan
                - span:
                    start: 21
                    end: 22
                    file: 0
                  value:
                    Constant:
                      Identifier: a
                - span:
                    start: 26
                    end: 27
                    file: 0
                  value:
                    Constant:
                      Identifier: b
    - Expr:
        span:
          start: 30
          end: 43
          file: 0
        value:
          Trace:
            span:
              start: 36
              end: 42
              file: 0
            value:
              BinaryOperator:
                - StringGreaterThanEqual
                - span:
                    start: 36
                    end: 37
                    file: 0
                  value:
                    Constant:
                      Identifier: a
                - span:
                    start: 41
                    end: 42
                    file: 0
                  value:
                    Constant:
                      Identifier: b
    - Expr:
        span:
          start: 45
          end: 58
          file: 0
        value:
          Trace:
            span:
              start: 51
              end: 57
              file: 0
            value:
              BinaryOperator:
                - StringLessThan
                - span:
                    start: 51
                    end: 52
                    file: 0
                  value:
                    Constant:
                      Identifier: a
                - span:
                    start: 56
                    end: 57
                    file: 0
                  value:
                    Constant:
                      Identifier: b
    - Expr:
        span:
          start: 60
          end: 73
          file: 0
        value:
          Trace:
            span:
              start: 66
              end: 72
              file: 0
            value:
              BinaryOperator:
                - StringLessThanEqual
                - span:
                    start: 66
                    end: 67
                    file: 0
                  value:
                    Constant:
                      Identifier: a
                - span:
                    start: 71
                    end: 72
                    file: 0
                  value:
                    Constant:
                      Identifier: b
    - Expr:
        span:
          start: 75
          end: 88
          file: 0
        value:
          Trace:
            span:
              start: 81
              end: 87
              file: 0
            value:
              BinaryOperator:
                - StringNotEqual
                - span:
                    start: 81
                    end: 82
                    file: 0
                  value:
                    Constant:
                      Identifier: a
                - span:
                    start: 86
                    end: 87
                    file: 0
                  value:
                    Constant:
                      Identifier: b
    - Expr:
        span:
          start: 90
          end: 104
          file: 0
        value:
          Trace:
            span:
              start: 96
              end: 103
              file: 0
            value:
              BinaryOperator:
                - BooleanAnd
                - span:
                    start: 96
                    end: 97
                    file: 0
                  value:
                    Constant:
                      Identifier: a
                - span:
                    start: 102
                    end: 103
                    file: 0
                  value:
                    Constant:
                      Identifier: b
    - Expr:
        span:
          start: 106
          end: 118
          file: 0
        value:
          Trace:
            span:
              start: 112
              end: 117
              file: 0
            value:
              UnaryOperator:
                - LogicalNot
                - span:
                    start: 116
                    end: 117
                    file: 0
                  value:
                    Constant:
                      Identifier: a
    - Expr:
        span:
          start: 120
          end: 133
          file: 0
        value:
          Trace:
            span:
              start: 126
              end: 132
              file: 0
            value:
              BinaryOperator:
                - BooleanOr
                - span:
                    start: 126
                    end: 127
                    file: 0
                  value:
                    Constant:
                      Identifier: a
                - span:
                    start: 131
                    end: 132
                    file: 0
                  value:
                    Constant:
                      Identifier: b
  interfaces: []
  classes: []
  custom_pcodes: []
  compile_options:
    swf_version: 15
    optimizations:
      fold_constants: true
      promote_variables_to_registers: true