operator
sym SYM_LBRACK
prec 8
print [

class
left C_VAR
right { C_LIT, C_VAR, C_DEFINE, C_EXPR }
output C_VAR

kind
left { K_ARRAY, K_DARRAY } use type = 1
left K_HASHED use type = 2
right { K_SCALAR, K_HASHEL, K_DARRAYEL }
output K_SCALAR if left = K_ARRAY
output K_DARRAYEL if left = K_DARRAY
output K_HASHEL if left = K_HASHED

type = 1, t_index = 17
left/right T_UNDEF T_INT T_SIZE_T T_FLOAT T_STRING T_POINT T_MATRIX T_FILE T_ATOM T_RESIDUE T_MOLECULE T_BOUNDS T_NULL T_ERROR
T_UNDEF













T_INT
T_INT T_INT










T_SIZE_T
T_SIZE_T T_SIZE_T










T_FLOAT
T_FLOAT T_FLOAT










T_STRING
T_STRING T_STRING










T_POINT
T_POINT T_POINT










T_MATRIX
T_MATRIX T_MATRIX










T_FILE
T_FILE T_FILE










T_ATOM
T_ATOM T_ATOM










T_RESIDUE
T_RESIDUE T_RESIDUE










T_MOLECULE
T_MOLECULE T_MOLECULE










T_BOUNDS
T_BOUNDS T_BOUNDS










T_NULL













T_ERROR














type = 2, t_index = 18
left/right T_UNDEF T_INT T_SIZE_T T_FLOAT T_STRING T_POINT T_MATRIX T_FILE T_ATOM T_RESIDUE T_MOLECULE T_BOUNDS T_NULL T_ERROR
T_UNDEF













T_INT



T_INT








T_SIZE_T



T_SIZE_T








T_FLOAT



T_FLOAT








T_STRING



T_STRING








T_POINT



T_POINT








T_MATRIX



T_MATRIX








T_FILE



T_FILE








T_ATOM



T_ATOM








T_RESIDUE



T_RESIDUE








T_MOLECULE



T_MOLECULE








T_BOUNDS



T_BOUNDS








T_NULL













T_ERROR