rascal 0.2.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/function.as
---
Ok:
  initial_script:
    - Expr:
        span:
          start: 0
          end: 63
        value:
          Function:
            signature:
              name:
                span:
                  start: 9
                  end: 13
                value: test
              args: []
              return_type: ~
            body:
              - Expr:
                  span:
                    start: 22
                    end: 43
                  value:
                    Trace:
                      span:
                        start: 28
                        end: 42
                      value:
                        Constant:
                          String: Test called!
              - Return:
                  - span:
                      start: 56
                      end: 60
                    value:
                      Constant:
                        String: ":)"
    - Declare:
        - name:
            span:
              start: 69
              end: 73
            value: anon
          value:
            span:
              start: 76
              end: 172
            value:
              Function:
                signature:
                  name: ~
                  args:
                    - name: a
                      type_name: ~
                    - name: b
                      type_name: ~
                  return_type: ~
                body:
                  - Expr:
                      span:
                        start: 96
                        end: 131
                      value:
                        Trace:
                          span:
                            start: 102
                            end: 130
                          value:
                            Constant:
                              String: Anonymous function called!
                  - Expr:
                      span:
                        start: 137
                        end: 169
                      value:
                        Trace:
                          span:
                            start: 143
                            end: 168
                          value:
                            BinaryOperator:
                              - Add
                              - span:
                                  start: 143
                                  end: 164
                                value:
                                  BinaryOperator:
                                    - Add
                                    - span:
                                        start: 143
                                        end: 153
                                      value:
                                        BinaryOperator:
                                          - Add
                                          - span:
                                              start: 143
                                              end: 149
                                            value:
                                              Constant:
                                                String: "a = "
                                          - span:
                                              start: 152
                                              end: 153
                                            value:
                                              Constant:
                                                Identifier: a
                                    - span:
                                        start: 156
                                        end: 164
                                      value:
                                        Constant:
                                          String: ", b = "
                              - span:
                                  start: 167
                                  end: 168
                                value:
                                  Constant:
                                    Identifier: b
          type_name: ~
    - Expr:
        span:
          start: 174
          end: 190
        value:
          Call:
            name:
              span:
                start: 174
                end: 178
              value:
                Constant:
                  Identifier: anon
            args:
              - span:
                  start: 179
                  end: 183
                value:
                  Constant:
                    String: aa
              - span:
                  start: 185
                  end: 189
                value:
                  Constant:
                    String: bb
    - Expr:
        span:
          start: 193
          end: 215
        value:
          Trace:
            span:
              start: 199
              end: 214
            value:
              BinaryOperator:
                - Add
                - span:
                    start: 199
                    end: 205
                  value:
                    Call:
                      name:
                        span:
                          start: 199
                          end: 203
                        value:
                          Constant:
                            Identifier: test
                      args: []
                - span:
                    start: 208
                    end: 214
                  value:
                    Call:
                      name:
                        span:
                          start: 208
                          end: 212
                        value:
                          Constant:
                            Identifier: test
                      args: []
    - Expr:
        span:
          start: 218
          end: 231
        value:
          Function:
            signature:
              name: ~
              args: []
              return_type: ~
            body: []
  interfaces: []
  classes: []
  custom_pcodes: []