module Syntax: sig .. end
Abstract syntax of BulletML programs.
Abstract syntax of BulletML programs.
type op =
| |
Add |
| |
Sub |
| |
Mul |
| |
Div |
| |
Mod |
Binary operations
type expr =
| |
Num of float |
| |
Op of op * expr * expr |
| |
Param of int |
| |
Rand |
| |
Rank |
type speed =
type direction =
type 'a id = string
type 'a ind =
| |
Direct of 'a |
| |
Indirect of 'a id * expr list |
type subaction =
type action = subaction list
type bullet =
type fire = direction option * speed option * bullet ind
type hv =
| |
NoDir |
| |
Horizontal |
| |
Vertical |
type elem =
| |
EBullet of string * bullet |
| |
EAction of string * action |
| |
EFire of string * fire |
type t =
val (+@) : expr -> expr -> expr
val (-@) : expr -> expr -> expr
val ( *@ ) : expr -> expr -> expr
val (/@) : expr -> expr -> expr
val (~@) : expr -> expr
val bulletDefault : bullet