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