(** This module contains the basic operators used in the QSP syntax. *) type boperator = | Eq | Neq | Plus | Minus | Product | Div | Gt | Lt | Gte | Lte | And | Or | Mod [@@deriving eq, show] and uoperator = No | Neg | Add [@@deriving eq, show] and assignation_operator = Eq' | Inc (** += *) | Decr (** -= *) | Mult [@@deriving eq, show] type function_ = | Arrcomp | Arrpos | Arrsize | Countobj | Desc | Desc' | Dyneval | Dyneval' | Func | Func' | Getobj | Getobj' | Iif | Iif' | Input | Input' | Instr | Isnum | Isplay | Lcase | Lcase' | Len | Loc | Max | Max' | Mid | Mid' | Min | Min' | Msecscount | Qspver | Qspver' | Rand | Replace | Replace' | Rgb | Rnd | Selact | Stattxt | Stattxt' | Str | Str' | Strcomp | Strfind | Strfind' | Strpos | Trim | Trim' | Ucase | Ucase' | Val [@@deriving eq, show] type keywords = | Inclib | Addobj | Cla | Clear | Clear' | Close | CloseAll | Cls | CmdClear | CopyArr | CurActs | CurActs' | CurLoc | CurLoc' | DelAct | FreeLib | DelObj | Dynamic | Exec | Exit | Gosub | Goto | IncLib | Jump | KillAll | KillObj | KillVar | MainTxt | MainTxt' | Menu | Msg | Nl | Nl' | P | P' | Play | Play' | RefInt | SaveGame | SelAct' | SelObj | SelObj' | SetTimer | ShowActs | ShowInput | ShowObjs | ShowStat | Unselect | UseHTML | UserCom' | UserText | UserText' | View | Wait | XGoto