Mercurial > repo
view src/ploki/op.h @ 7638:25b838ae35f6
<boily> le/rn wat/\xe1\x8a\xa2\xe1\x89\xb5\xe1\x8b\xae\xe1\x8c\xb5\xe1\x8b\xab \xe1\x8b\x8d\xe1\x88\xb5\xe1\x8c\xa5 \xe1\x8b\xa8\xe1\x88\x9a\xe1\x88\xb0\xe1\x88\xab \xe1\x8b\xa8\xe1\x88\x9d\xe1\x8c\x8d\xe1\x89\xa5 \xe1\x8a\xa0\xe1\x8b\xad\xe1\x8a\x90\xe1\x89\xb5 \xe1\x88\xb2\xe1\x88\x86\xe1\x8a\x95\xe1\x8d\xa3 \xe1\x8b\xa8\xe1\x88\x9a\xe1\x88\xb0\xe1\x88\xab\xe1\x8b\x8d\xe1\x88\x9d \xe1\x8a\xa8\xe1\x8c\xa4\xe1\x8d\x8d \xe1\x8a\x90\xe1\x8b\x8d\xe1\x8d\xa2
author | HackBot |
---|---|
date | Sun, 01 May 2016 22:44:03 +0000 |
parents | ac0403686959 |
children |
line wrap: on
line source
#ifndef OP_H_ #define OP_H_ #include "IO.h" #include "Str.h" #include "expr.h" #include <stddef.h> enum t_op { OP_NOP, OP_ASSIGN, OP_CALL, OP_CALL_BACK, OP_CALL_DYN, OP_CLOSE, OP_ELSE, OP_EXIT, OP_FI, OP_FLUSH, OP_GOBACK, OP_GOTO, OP_HANG, OP_IF, OP_MODIFY, OP_PRINT, OP_PUTC, OP_RESET, OP_RETURN, OP_SET_VAL, OP_SYSTEM, OP_TEMP, OP_THROW }; struct op { enum t_op type; struct expr *arg; union { struct expr *expr; struct op *op; } arh; struct op *next; String txt; size_t line; }; void op_init(struct op *); void op_end(struct op *); void op_getop(struct op *); #define OP_1ARG_P(op) \ ( \ (op) == OP_CALL || (op) == OP_CALL_DYN || (op) == OP_CLOSE || \ (op) == OP_EXIT || (op) == OP_FLUSH || (op) == OP_GOTO || \ (op) == OP_IF || (op) == OP_RESET || (op) == OP_RETURN || \ (op) == OP_SYSTEM || (op) == OP_THROW \ ) #define OP_2ARG_P(op) \ ( \ (op) == OP_ASSIGN || (op) == OP_CALL_BACK || (op) == OP_MODIFY || \ (op) == OP_PRINT || (op) == OP_PUTC || (op) == OP_SET_VAL || \ (op) == OP_TEMP \ ) #endif /* OP_H_ */