#define ULAS_INCPATHSMAX 256
-const char *incpaths[ULAS_INCPATHSMAX];
+char *incpaths[ULAS_INCPATHSMAX];
long incpathslen = 0;
void ulas_help(void) {
if (*buf == '=') {
tok.type = ULAS_LTEQ;
buf++;
+ } else if (*buf == '<') {
+ tok.type = ULAS_LSHIFT;
}
break;
case '>':
if (*buf == '=') {
tok.type = ULAS_GTEQ;
buf++;
+ } else if (*buf == '>') {
+ tok.type = ULAS_RSHIFT;
+ buf++;
}
break;
default:
return 0;
}
return left % right;
+ case ULAS_RSHIFT:
+ return left >> right;
+ case ULAS_LSHIFT:
+ return left << right;
+ case '|':
+ return left | right;
+ case '&':
+ return left & right;
+ case '^':
+ return left ^ right;
default:
ULASPANIC("Unhandeled binary operator\n");
break;
return !right;
case '-':
return -right;
+ case '~':
+ return ~right;
default:
ULASPANIC("Unhandeled unary operation\n");
break;