rascal 0.2.5

A parser and compiler for Flash ActionScript 2 files into SWFs
Documentation
---
source: crates/rascal/src/program.rs
expression: parsed
input_file: samples/as2/regular_imports.as
---
Ok:
  initial_script:
    - Block: []
    - Block: []
    - Expr:
        span:
          start: 59
          end: 76
        value:
          Trace:
            span:
              start: 65
              end: 75
            value:
              Field:
                - span:
                    start: 65
                    end: 75
                  value:
                    Field:
                      - span:
                          start: 65
                          end: 75
                        value:
                          Constant:
                            Identifier: flash
                      - span:
                          start: 65
                          end: 75
                        value:
                          Constant:
                            String: display
                - span:
                    start: 65
                    end: 75
                  value:
                    Constant:
                      String: BitmapData
    - Expr:
        span:
          start: 78
          end: 90
        value:
          Trace:
            span:
              start: 84
              end: 89
            value:
              Field:
                - span:
                    start: 84
                    end: 89
                  value:
                    Field:
                      - span:
                          start: 84
                          end: 89
                        value:
                          Constant:
                            Identifier: flash
                      - span:
                          start: 84
                          end: 89
                        value:
                          Constant:
                            String: geom
                - span:
                    start: 84
                    end: 89
                  value:
                    Constant:
                      String: Point
    - Declare:
        name:
          span:
            start: 97
            end: 105
          value: myBitmap
        value:
          span:
            start: 108
            end: 131
          value:
            New:
              name:
                span:
                  start: 112
                  end: 122
                value:
                  Field:
                    - span:
                        start: 112
                        end: 122
                      value:
                        Field:
                          - span:
                              start: 112
                              end: 122
                            value:
                              Constant:
                                Identifier: flash
                          - span:
                              start: 112
                              end: 122
                            value:
                              Constant:
                                String: display
                    - span:
                        start: 112
                        end: 122
                      value:
                        Constant:
                          String: BitmapData
              args:
                - span:
                    start: 123
                    end: 126
                  value:
                    Constant:
                      Integer: 100
                - span:
                    start: 128
                    end: 131
                  value:
                    Constant:
                      Integer: 100
        type_name: ~
    - Expr:
        span:
          start: 134
          end: 149
        value:
          Trace:
            span:
              start: 140
              end: 148
            value:
              Constant:
                Identifier: myBitmap
    - Declare:
        name:
          span:
            start: 156
            end: 163
          value: myPoint
        value:
          span:
            start: 166
            end: 182
          value:
            New:
              name:
                span:
                  start: 170
                  end: 175
                value:
                  Field:
                    - span:
                        start: 170
                        end: 175
                      value:
                        Field:
                          - span:
                              start: 170
                              end: 175
                            value:
                              Constant:
                                Identifier: flash
                          - span:
                              start: 170
                              end: 175
                            value:
                              Constant:
                                String: geom
                    - span:
                        start: 170
                        end: 175
                      value:
                        Constant:
                          String: Point
              args:
                - span:
                    start: 176
                    end: 178
                  value:
                    Constant:
                      Integer: 10
                - span:
                    start: 180
                    end: 182
                  value:
                    Constant:
                      Integer: 20
        type_name: ~
    - Expr:
        span:
          start: 185
          end: 199
        value:
          Trace:
            span:
              start: 191
              end: 198
            value:
              Constant:
                Identifier: myPoint
    - Expr:
        span:
          start: 202
          end: 247
        value:
          Trace:
            span:
              start: 208
              end: 246
            value:
              BinaryOperator:
                - Equal
                - span:
                    start: 208
                    end: 218
                  value:
                    Field:
                      - span:
                          start: 208
                          end: 218
                        value:
                          Field:
                            - span:
                                start: 208
                                end: 218
                              value:
                                Constant:
                                  Identifier: flash
                            - span:
                                start: 208
                                end: 218
                              value:
                                Constant:
                                  String: display
                      - span:
                          start: 208
                          end: 218
                        value:
                          Constant:
                            String: BitmapData
                - span:
                    start: 235
                    end: 246
                  value:
                    Field:
                      - span:
                          start: 227
                          end: 235
                        value:
                          Field:
                            - span:
                                start: 222
                                end: 227
                              value:
                                Constant:
                                  Identifier: flash
                            - span:
                                start: 228
                                end: 235
                              value:
                                Constant:
                                  String: display
                      - span:
                          start: 236
                          end: 246
                        value:
                          Constant:
                            String: BitmapData
    - Expr:
        span:
          start: 250
          end: 304
        value:
          Function:
            signature:
              name:
                span:
                  start: 259
                  end: 270
                value: createPoint
              args: []
              return_type: ~
            body:
              - Return:
                  - span:
                      start: 286
                      end: 300
                    value:
                      New:
                        name:
                          span:
                            start: 290
                            end: 295
                          value:
                            Field:
                              - span:
                                  start: 290
                                  end: 295
                                value:
                                  Field:
                                    - span:
                                        start: 290
                                        end: 295
                                      value:
                                        Constant:
                                          Identifier: flash
                                    - span:
                                        start: 290
                                        end: 295
                                      value:
                                        Constant:
                                          String: geom
                              - span:
                                  start: 290
                                  end: 295
                                value:
                                  Constant:
                                    String: Point
                        args:
                          - span:
                              start: 296
                              end: 297
                            value:
                              Constant:
                                Integer: 5
                          - span:
                              start: 299
                              end: 300
                            value:
                              Constant:
                                Integer: 5
            scope:
              defined_variables:
                this:
                  used: false
                  used_in_inner_scope: false
                arguments:
                  used: false
                  used_in_inner_scope: false
                super:
                  used: false
                  used_in_inner_scope: false
                _root:
                  used: false
                  used_in_inner_scope: false
                _parent:
                  used: false
                  used_in_inner_scope: false
                _global:
                  used: false
                  used_in_inner_scope: false
              referenced_variables:
                - flash
              could_reference_anything: false
            register_count: 1
            preload_this: false
            suppress_this: true
            preload_arguments: false
            suppress_arguments: true
            preload_super: false
            suppress_super: true
            preload_root: false
            preload_parent: false
            preload_global: false
    - Expr:
        span:
          start: 305
          end: 325
        value:
          Trace:
            span:
              start: 311
              end: 324
            value:
              Call:
                name:
                  span:
                    start: 311
                    end: 322
                  value:
                    Constant:
                      Identifier: createPoint
                args: []
  interfaces: []
  classes: []
  custom_pcodes: []