2.0.2 • Published 3 years ago

jass-to-ast v2.0.2

Weekly downloads
12
License
ISC
Repository
github
Last release
3 years ago

jass-to-ast

Converts WC3 JASS to an abstract syntax tree

Usage

import parse from "jass-to-ast";

parse( `
globals
  boolean flipped = false
endglobals

function flip takes nothing returns nothing
  local boolean previousState = flipped
  set flipped = true
  return previousState
endfunction
`.trim() );

> Program [
    Globals {
      globals: Statements [
        Variable { type: 'boolean', name: 'flipped', value: false }
      ]
    },
    EmptyLine {},
    JASSFunction {
      name: 'flip',
      statements: Statements [
        Variable {
          type: 'boolean',
          name: 'previousState',
          value: [String (Name): 'flipped']
        },
        JASSSet { name: 'flipped', value: true },
        Return { data: [ [String (Name): 'previousState'] ] }
      ]
    }
  ]

CLI

> jass-to-ast example.j
Program [
  Globals {
    globals: Statements [
      Variable { type: 'boolean', name: 'flipped', value: false }
    ]
  },
  EmptyLine {},
  JASSFunction {
    name: 'flip',
    statements: Statements [
      Variable {
        type: 'boolean',
        name: 'previousState',
        value: [String (Name): 'flipped']
      },
      JASSSet { name: 'flipped', value: true },
      Return { data: [ [String (Name): 'previousState'] ] }
    ]
  }
]
2.0.2

3 years ago

2.0.1

4 years ago

1.5.0

4 years ago

2.0.0

4 years ago

1.4.1

4 years ago

1.4.0

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago