Commands defined in /qx/qx/lib

FILE.hzt    	| KIND	|  DEFINED COMMANDS
----------------+-------+-----------------------------------------------
arg_type    	| stat	|  $arg_type
		| stat	|  $value_type		
		| stat	|  $arg_array
array		| stat	|  $array
		| stat	|  multindex in
array_check	| stat	|  $check_array
bool		| num_e |  $newlabel
	        | stat	|  /braif
		| stat	|  /braifnot
		| stat	|  $put_th_label
		| rel_op|  ==,!=,>,<,>=,=>,=<,<=
		| global_cond | ()
		| and_e	|  &&,||,!(),&& !,|| !
		| or_e	|  &&,||,!(),&& !,|| !
complex		| fun	|  (,)
		| fun 	|  complex()
		| fun	|  complex_0
		| fun	|  complex_1
		| fun	|  complex_i
		| fun	|  complex_minus_1
		| fun	|  complex_minus_i
		| term	|  /
		| fun	|  | |
		| term	|  *
const		| stat	|  constant
		| stat	|  $new const
		| float	|  cast_to_real()
flow		| stat	|  if
		| stat	|  while
		| stat	|  orrorenot
		| stat	|  for (tk_for)
		| stat	|  repeat  as long as
loc_bool 	| stat	|  /braif ALL
		| stat	|  /braif NONE
		| stat	|  /braif ANY
		| stat	|  /braifnot ALL
		| stat	|  /braifnot NONE
		| stat	|  /braifnot ANY
		| expr	|  ||
		| term	|  &&
		| fact	|  !,(),!()
		| stat	|  /put
loc_flow	| stat	|  where  elsewhere  endwhere
		| stat	|  $push_local
		| stat	|  $localmatch
		| local_cond | [ ..,..,.., ]
		| local_cond | [ ..,..,.., ] [ ..,..,.., ]
math		| stat	|  constant block    end block
		| fun	|  isqrt()
		| fun	|  sqrt()
		| fun	|  exp()
		| fun	|  log()
		| fun	|  fint()
		| fun	|  mod()
		| fun	|  sin_1oct()
		| fun	|  cos_1oct()
		| fun	|  sin()
		| fun	|  cos()
matrix		| stat	|  matrix  ..  ..  .[ .. ]
		| stat	|  matrix  ..  ..  .[ ..,.. ]
qcd		| stat	|  clear
		|	|  SPINOR is a 1by4 complex matrix
		| fact	|  - spinor
		| fun	|  spinor~
		| expr	|  spinor + spinor     $multiadd !!!
		| expr	|  spinor - spinor     $multisub !!!
		| fact	|  dirac * spinor
		| fun	|  spin_zero
		|	|  SPINSPIN is a 4by4 complex matrix
 		| fact	|  -spinspin
		| fun	|  spinspin~
		| fun	|  spinspin dag
		| term	|  spinspin * spinspin
		| expr	|  spinspin + spinspin   
		| expr	|  spinspin - spinspin   
		| fact	|  dirac * spinspin
		| fun	|  spinspin_zero
		|	|  COLORSPIN is a 3by4 complex matrix
		| fact	|  -colorspin		  $multichs !!!
		| fun	|  colorspin~		  $multictilde !!!
		| expr	|  colorspin + colorspin
		| expr 	|  colorspin - colorspin
		| fact 	|  dirac * colorspin
		| fun 	|  colorspin_zero
		| 	|  SU3 is a 3by3 matrix with complex elements
		| fact	|  -su3
		| fun	|  su3~			  $multitrasp !!!
		| expr	|  su3 + su3
		| expr	|  su3 - su3
		| term	|  su3 * su3		  $multicmult !!!
		| fun	|  su3_zero
		| fun	|  su3_uno
		| fact	|  diag
		| fact	|  tr
		| 	|  gamma0,gamma1,....
		| stat	|  #diracdef
		| fun	|  colorspin_saturate(,)
		| fun	|  complete()
		| fun	|  normalize
		| term	|  su3 * colorspin   	  $multicmult !!!
		| term	|  colorspin * complex
		| term	|  complex * colorspin
		| term	|  spinor * complex
		| term	|  spinor / complex
		| term	|  complex * spinor
		| term	|  spinspin * complex
		| term	|  complex * spinspin
		| term	|  su3 * complex
		| term	|  complex * su3
		| term	|  su3 / complex
		| term	|  spinor * spinor
rand16		| expr	|  r_ran
		| expr	|  i_ran
random		| stat	|  random seed is
		| stat	|  random
		| stat	|  random board
		| stat	|  random broadcast
realvar		| fun	|  1.0
		| fun	|  0.0
		| term	|  real/real
record	!!	| stat	|  record  endrecord (including "=","+" and "-")
		| stat	|  $add_record_item
stack		| var	|  $stack[]
stack_type 	| string_e |  $stack_declaration
		| stat	|  $stack_type
		| stat	|  $stack_array
stdio		| io_slice |  [ ..,..,.. ]
		| io_slice |  [ ..,..,.. ] [ ..,..,.. ]
		| io_qual  |  binary
		| io_qual  |  multidata
		| wr_unit  |  on
		| wr_item  |  :
		| wr_end   |  &
		| stat  |  write
		| rd_unit  |  from
		| rd_item  |  :
		| stat  |  read
		| stat	|  open for reading   as
		| stat	|  open for writing   as
		| stat	|  close
		| stat	|  broadcast
		| stat	|  dsum
sub		| stat	|  call
		| stat	|  subroutine()
		| stat	|  return
		| stat	|  zzend  !!!!!!!!!!!!!
		| stat	|  check declaration of
		| stat	|  $storecall
		| stat	|  $check_sub
		| num_f |  $label_of
sub_args	| 	|  probably here they forgot matrix and record
sysvar		| stat	|  sysreal   at
		| stat	|  sysint   at
type		| stat	|  $check
		| stat	|  $ali_integer
		| stat	|  $ali_real
		| stat	|  $start_local
		| stat	|  $type
		| stat	|  $registertype
		| stat	|  $temporarytype
		| stat	|  type
		|	|  SU3THIN is a 2by3 complex matrix
su3thin		| stat	|  su3thin = su3  
		| fun	|  su3thin_var
----------------+-------+----------------------------------------------

arg_type
--------
$arg_type
$value_type
$arg_array

array
-----
$array
multindex in

array_check
-----------
$check_array

bool
----
$newlabel
/braif
/braifnot
$put_th_label
rel_op         ==,!=,>,<,....
and_e          &&,||,!(),...
or_e          &&,||,!(),...

complex
-------
(,)		| (a,b):= a + i*b = c.re + i*c.im = c
complex()	| complex(a):= (a,0)
complex_0	| complex_0 := (0,0)
complex_1	| complex_1 := (1,0)
complex_i	| complex_i := (0,1)
complex_minus_1 | complex_minus_1 := (-1,0)
complex_minus_i	| complex_minus_i := (0,-1)
/		| a/b:=((a.re*b.re+a.im*b.im)+i*(a.im*b.re-a.re*b.im)) 
		|     /(b.re*b.re+b.im*b.im)
| |		| |a|:= a.re*a.re+a.im*a.im
*		| a*b:= a.re*b.re-a.im*b.im +i*(a.re*b.im+a.im*b.re)

const
-----
constant	| constant a=6,b=3 is reduced to:
		| /int -> a {/return 6}
		| /int -> b {/return 3}
		| Real constants can be defined in !two! ways, as
		| constant c=3.0, which is reduced to:
		| /float -> c {/return 3.0}
		| or as
		| cast_to_real(c), which has the action
		| {/return 0.0+c}
flow
----
if		| There are two kinds of if, long (with else) and short:
		| 1. short
		| /stat -> if global_cond^_lab optional_then^$ 
		|	      tk_begin
		|	      statlist^lst
		|	   tk_endif
		|          {$label _lab}
		|  
		| where
		|  /global_cond -> "(" and_e^x ")" {
		|       /_al = x.1
		|       /_tl = x.2
		|       /_tf = x.3
		|       $put_th_label _tl _tf
		|	/return _al } 
		| is defined in bool.hzt. 
		|
		| Here we also find
		|  /and_e -> fact_cond^_l {action}
		|  /and_e -> "!" fact_cond^_l {action}
		|  /and_e -> and_e^_l1 "&&" fact_cond^_l2 {action}
		|  /and_e -> and_e^_l1 "&&" "!" fact_cond^_l2 {action}
		|  /and_e -> or_e^_l1 "||" fact_cond^_l2 {action}
		|  /and_e -> or_e^_l1 "||" "!" fact_cond^_l2 {action}
		|
		| where e.g.
		|  /and_e -> fact_cond^_l {
		|	/_al = $newlabel
		|	/_tl = $newlabel
		|	/braifnot _l _al
		|	/return { _al _tl 0 } }
		| with
		|  /num_e -> $newlabel {
		|	/_a = _cur_label
		|	/_cur_label:=_cur_label+1
		|	/return _a }
		| and 
		|  /stat -> "/braifnot"...............
Hier demnaechst weiter.

while
orrorenot
for
repeat as long as

loc_bool
--------
/braif ALL
/braif NONE
/braif ANY
/braifnot ALL
/braifnot NONE
/braifnot ANY
/put

loc_flow
--------
where elsewhere
$push_local
$localmatch
local_cond [ ..,..,.. ]
local_cond [ ..,..,.. ] [ ..,..,.. ]

math
----
constant block   end block

matrix
------
matrix .. .. .[ .. ]
matrix .. .. .[ ..,.. ]

qcd
---

rand16
------

random
------
random seed is
random
random board
random broadcast

real_var
--------

record
------
record endrecord
$add_record_item

stack
-----
$stack[]

stack_type
----------
$stack_declaration
$stack_type
$stack_array

stdio
-----
io_slice [ ..,.. ]
io_slice [ ..,.. ] [ ..,.. ]
io_qual  binary
io_qual  multidata
wr_unit  on
wr_item  :
wr_end   &
write
rd_unit  from
rd_item  :
read
open for reading as
open for writing as
close
broadcast
dsum

sub
---
call
subroutine()
return
zzend
check declaration of
$storecall
$check_sub

sub_args
--------

sysvar
------
sysreal at
sysint  at

type
----
$check
$ali_integer
$ali_real
$start_local
$type
$registertype
$temporarytype
type

su3thin
-------
M.P.