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