NEW
PREFIX
AUTO 4,1
				.LIST OFF	
*--------------------------------------
CSH.OPChars		.AS "!~+-*/%=&|^&<>"
CSH.OPChars.Cnt	.EQ *-CSH.OPChars
*--------------------------------------
* Pre Operators:  + - ! ~ ++ --
*--------------------------------------
CSH.PREOOPS		>PSTR "+"
				>PSTR "-"
				>PSTR "!"
				>PSTR "~"
*--------------------------------------
* Post Operators: ++ -- 
*--------------------------------------
CSH.POSTOPS		>PSTR "++"
				>PSTR "--"
				.HS 00				
*--------------------------------------
* Assignment Operators: = += -= *= /= %= <<= >>= &= ^= |=
*--------------------------------------
CSH.AOPS		>PSTR "="
				>PSTR "+="
				>PSTR "-="
				>PSTR "*="
				>PSTR "/="
				>PSTR "%="
				>PSTR "<<="
				>PSTR ">>="
				>PSTR "&="
				>PSTR "^="
				>PSTR "!="
				.HS 00
*-- Binary ---- H to L prececence -----
* Arithmetic Operators: * / %
* Arithmetic Operators: + -
* Shift Operators: << >>
* Relational Operators: < > >= < >= == !=
* Bitwise Operators: & | ^ ~
* Logical Operators: && ||
*--------------------------------------
CSH.BOPS		>PSTR "+"
				>PSTR "-"
				>PSTR "*"
				>PSTR "/"
				>PSTR "%"
				>PSTR "<<"
				>PSTR ">>"
				>PSTR "<"
				>PSTR ">"
				>PSTR "<="
				>PSTR ">="
				>PSTR "=="
				>PSTR "!="
				>PSTR "&"
				>PSTR "|"
				>PSTR "^"
				>PSTR "&&"
				>PSTR "||"
				.HS 00
*--------------------------------------
* Reserved Keywords:
*--------------------------------------
CSH.KW			>PSTR "if"
				>PSTR "while"
				>PSTR "else"
				>PSTR "do"
				>PSTR "for"
				>PSTR "switch"
				>PSTR "case"
				>PSTR "break"
				>PSTR "continue"		
				>PSTR "float"
				>PSTR "signed"			char,int,long
				>PSTR "unsigned"		char,int,long
CSH.STYPES		>PSTR "char"
				>PSTR "int"
				>PSTR "long"
				.HS 00
CSH.TSIZE		.HS 0001020401020405	00,CHAR,INT,LONG,UCHAR,UINT,ULONG,FLOAT....
*--------------------------------------
* int printf ( const char * format, ... );
CSH.FN			>PSTR "printf"
				.DA #CSH.T.INT			returned value
				.DA #CSH.Q.CONST
				.DA #CSH.T.CHAR
				.DA #CSH.Q.POINTER
				.DA #CSH.T.VARIADIC
				.DA #0
* int puts ( const char * str );
				>PSTR "puts"
				.DA #CSH.T.INT			returned value
				.DA #CSH.Q.CONST
				.DA #CSH.T.CHAR
				.DA #CSH.Q.POINTER
				.DA #0
* float cos ( float x );
				>PSTR "cos"
				.DA #CSH.T.FLOAT		returned value
				.DA #CSH.T.FLOAT
				.DA #0
* int getchar ( void );
				>PSTR "getchar"
				.DA #CSH.T.INT			returned value
				.DA #0
*--------------------------------------
MAN
SAVE USR/SRC/BIN/CSH.I
LOAD USR/SRC/BIN/CSH.S
ASM
