rascal 0.2.2

A parser and compiler for Flash ActionScript 2 files into SWFs
Documentation
---
source: crates/rascal/src/program.rs
expression: parsed
input_file: samples/as2/assign_variable_many_ways.as
---
Ok:
  initial_script:
    - Declare:
        - name:
            span:
              start: 4
              end: 11
            value: message
          value:
            span:
              start: 14
              end: 27
            value:
              BinaryOperator:
                - Add
                - span:
                    start: 14
                    end: 21
                  value:
                    Constant:
                      String: Hello
                - span:
                    start: 24
                    end: 27
                  value:
                    Constant:
                      String: " "
          type_name: ~
    - Expr:
        span:
          start: 29
          end: 47
        value:
          BinaryOperator:
            - AddAssign
            - span:
                start: 29
                end: 36
              value:
                Constant:
                  Identifier: message
            - span:
                start: 40
                end: 47
              value:
                Constant:
                  String: World
    - Expr:
        span:
          start: 49
          end: 72
        value:
          BinaryOperator:
            - Assign
            - span:
                start: 49
                end: 56
              value:
                Constant:
                  Identifier: message
            - span:
                start: 59
                end: 72
              value:
                BinaryOperator:
                  - Add
                  - span:
                      start: 59
                      end: 66
                    value:
                      Constant:
                        Identifier: message
                  - span:
                      start: 69
                      end: 72
                    value:
                      Constant:
                        String: "!"
    - Expr:
        span:
          start: 74
          end: 88
        value:
          Trace:
            span:
              start: 80
              end: 87
            value:
              Constant:
                Identifier: message
    - Declare:
        - name:
            span:
              start: 95
              end: 96
            value: a
          value:
            span:
              start: 97
              end: 98
            value:
              Constant:
                Integer: 1
          type_name: ~
        - name:
            span:
              start: 100
              end: 101
            value: b
          value: ~
          type_name: ~
        - name:
            span:
              start: 103
              end: 104
            value: c
          value:
            span:
              start: 105
              end: 106
            value:
              Constant:
                Integer: 3
          type_name: ~
    - Expr:
        span:
          start: 108
          end: 124
        value:
          Trace:
            span:
              start: 114
              end: 123
            value:
              BinaryOperator:
                - Add
                - span:
                    start: 114
                    end: 119
                  value:
                    Constant:
                      String: "a: "
                - span:
                    start: 122
                    end: 123
                  value:
                    Constant:
                      Identifier: a
    - Expr:
        span:
          start: 131
          end: 147
        value:
          Trace:
            span:
              start: 137
              end: 146
            value:
              BinaryOperator:
                - Add
                - span:
                    start: 137
                    end: 142
                  value:
                    Constant:
                      String: "b: "
                - span:
                    start: 145
                    end: 146
                  value:
                    Constant:
                      Identifier: b
    - Expr:
        span:
          start: 162
          end: 178
        value:
          Trace:
            span:
              start: 168
              end: 177
            value:
              BinaryOperator:
                - Add
                - span:
                    start: 168
                    end: 173
                  value:
                    Constant:
                      String: "c: "
                - span:
                    start: 176
                    end: 177
                  value:
                    Constant:
                      Identifier: c
  interfaces: []
  classes: []
  custom_pcodes: []