Cicada ---> Online Help Docs ---> Reference ---> Bytecode operators

Define operator flags

Table 3 lists the common define/equate/equate-at operators and their associated bytecode flag words (the bytecode word following the define operator). Each flag word encodes the various binary properties of a define operator: it is the decimal representation of the columns in the table treated as binary digits (where a checkmark equals 1). The flags are: equate (0), update-members (1), add-members (2), new-target (3), relink-target (4), run-constructor (5), hidden (6), and unjammable (7). The last six operators that have asterisks in their names cannot be written into a script, but are generated automatically by the compiler in various situations.


name abbr symbol flags 7 6 5 4 3 2 1 0
define def :: 46     X   X X X  
member-define mdf *:: 6           X X  
variable-define vdf @:: 44     X   X X   
equate equ = 1               X
define-equate deq := 47     X   X X X X
equate-at eqa =@ 16       X       
define-equate-at dqa :=@ 22       X   X X  
~define def* N/A 172 X   X   X X   
~define-equate deq* N/A 173 X   X   X X   X
~define-equate-at dqa* N/A 148 X     X   X   
~define def** N/A 236 X X X   X X   
~define-equate deq** N/A 237 X X X   X X   X
~define def-c** N/A 204 X X     X X   

Table 3: The flags of all various define, assignment and aliasing operators


Prev: Bytecode operators    Next: Cicada built-in functions


Last update: May 8, 2024