mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
50 lines
1.1 KiB
C++
50 lines
1.1 KiB
C++
// See the file "COPYING" in the main distribution directory for copyright.
|
|
|
|
#pragma once
|
|
|
|
namespace zeek::detail
|
|
{
|
|
|
|
// These are in a separate file to break circular dependences
|
|
enum StmtTag
|
|
{
|
|
STMT_ANY = -1,
|
|
STMT_ALARM, // Does no longer exist but kept to create enums consistent.
|
|
STMT_PRINT,
|
|
STMT_EVENT,
|
|
STMT_EXPR,
|
|
STMT_IF,
|
|
STMT_WHEN,
|
|
STMT_SWITCH,
|
|
STMT_FOR,
|
|
STMT_NEXT,
|
|
STMT_BREAK,
|
|
STMT_RETURN,
|
|
STMT_ADD,
|
|
STMT_DELETE,
|
|
STMT_LIST,
|
|
STMT_EVENT_BODY_LIST,
|
|
STMT_INIT,
|
|
STMT_FALLTHROUGH,
|
|
STMT_WHILE,
|
|
STMT_CATCH_RETURN, // for reduced InlineExpr's
|
|
STMT_CHECK_ANY_LEN, // internal reduced statement
|
|
STMT_CPP, // compiled C++
|
|
STMT_ZAM, // a ZAM function body
|
|
STMT_ZAM_RESUMPTION, // resumes ZAM execution for "when" statements
|
|
STMT_NULL
|
|
#define NUM_STMTS (int(STMT_NULL) + 1)
|
|
};
|
|
|
|
enum StmtFlowType
|
|
{
|
|
FLOW_NEXT, // continue on to next statement
|
|
FLOW_LOOP, // go to top of loop
|
|
FLOW_BREAK, // break out of loop
|
|
FLOW_RETURN, // return from function
|
|
FLOW_FALLTHROUGH // fall through to next switch case
|
|
};
|
|
|
|
extern const char* stmt_name(StmtTag t);
|
|
|
|
} // namespace zeek::detail
|