mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-15 08:32:22 -07:00
216 lines
4.0 KiB
C
216 lines
4.0 KiB
C
// Copyright (c) 2024 Epic Games Tools
|
|
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
|
|
|
//- GENERATED CODE
|
|
|
|
#ifndef EVAL_META_H
|
|
#define EVAL_META_H
|
|
|
|
typedef enum EVAL_ResultCode
|
|
{
|
|
EVAL_ResultCode_Good,
|
|
EVAL_ResultCode_DivideByZero,
|
|
EVAL_ResultCode_BadOp,
|
|
EVAL_ResultCode_BadOpTypes,
|
|
EVAL_ResultCode_BadMemRead,
|
|
EVAL_ResultCode_BadRegRead,
|
|
EVAL_ResultCode_BadFrameBase,
|
|
EVAL_ResultCode_BadModuleBase,
|
|
EVAL_ResultCode_BadTLSBase,
|
|
EVAL_ResultCode_InsufficientStackSpace,
|
|
EVAL_ResultCode_MalformedBytecode,
|
|
EVAL_ResultCode_COUNT,
|
|
} EVAL_ResultCode;
|
|
|
|
typedef U32 EVAL_ExprKind;
|
|
enum
|
|
{
|
|
EVAL_ExprKind_ArrayIndex,
|
|
EVAL_ExprKind_MemberAccess,
|
|
EVAL_ExprKind_Deref,
|
|
EVAL_ExprKind_Address,
|
|
EVAL_ExprKind_Cast,
|
|
EVAL_ExprKind_Sizeof,
|
|
EVAL_ExprKind_Neg,
|
|
EVAL_ExprKind_LogNot,
|
|
EVAL_ExprKind_BitNot,
|
|
EVAL_ExprKind_Mul,
|
|
EVAL_ExprKind_Div,
|
|
EVAL_ExprKind_Mod,
|
|
EVAL_ExprKind_Add,
|
|
EVAL_ExprKind_Sub,
|
|
EVAL_ExprKind_LShift,
|
|
EVAL_ExprKind_RShift,
|
|
EVAL_ExprKind_Less,
|
|
EVAL_ExprKind_LsEq,
|
|
EVAL_ExprKind_Grtr,
|
|
EVAL_ExprKind_GrEq,
|
|
EVAL_ExprKind_EqEq,
|
|
EVAL_ExprKind_NtEq,
|
|
EVAL_ExprKind_BitAnd,
|
|
EVAL_ExprKind_BitXor,
|
|
EVAL_ExprKind_BitOr,
|
|
EVAL_ExprKind_LogAnd,
|
|
EVAL_ExprKind_LogOr,
|
|
EVAL_ExprKind_Ternary,
|
|
EVAL_ExprKind_LeafBytecode,
|
|
EVAL_ExprKind_LeafMember,
|
|
EVAL_ExprKind_LeafU64,
|
|
EVAL_ExprKind_LeafF64,
|
|
EVAL_ExprKind_LeafF32,
|
|
EVAL_ExprKind_TypeIdent,
|
|
EVAL_ExprKind_Ptr,
|
|
EVAL_ExprKind_Array,
|
|
EVAL_ExprKind_Func,
|
|
EVAL_ExprKind_Define,
|
|
EVAL_ExprKind_LeafIdent,
|
|
EVAL_ExprKind_COUNT
|
|
};
|
|
|
|
U8 eval_expr_kind_child_counts[] =
|
|
{
|
|
2,
|
|
2,
|
|
1,
|
|
1,
|
|
2,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
3,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
2,
|
|
1,
|
|
2,
|
|
0,
|
|
};
|
|
|
|
String8 eval_expr_kind_strings[] =
|
|
{
|
|
str8_lit_comp("ArrayIndex"),
|
|
str8_lit_comp("MemberAccess"),
|
|
str8_lit_comp("Deref"),
|
|
str8_lit_comp("Address"),
|
|
str8_lit_comp("Cast"),
|
|
str8_lit_comp("Sizeof"),
|
|
str8_lit_comp("Neg"),
|
|
str8_lit_comp("LogNot"),
|
|
str8_lit_comp("BitNot"),
|
|
str8_lit_comp("Mul"),
|
|
str8_lit_comp("Div"),
|
|
str8_lit_comp("Mod"),
|
|
str8_lit_comp("Add"),
|
|
str8_lit_comp("Sub"),
|
|
str8_lit_comp("LShift"),
|
|
str8_lit_comp("RShift"),
|
|
str8_lit_comp("Less"),
|
|
str8_lit_comp("LsEq"),
|
|
str8_lit_comp("Grtr"),
|
|
str8_lit_comp("GrEq"),
|
|
str8_lit_comp("EqEq"),
|
|
str8_lit_comp("NtEq"),
|
|
str8_lit_comp("BitAnd"),
|
|
str8_lit_comp("BitXor"),
|
|
str8_lit_comp("BitOr"),
|
|
str8_lit_comp("LogAnd"),
|
|
str8_lit_comp("LogOr"),
|
|
str8_lit_comp("Ternary"),
|
|
str8_lit_comp("LeafBytecode"),
|
|
str8_lit_comp("LeafMember"),
|
|
str8_lit_comp("LeafU64"),
|
|
str8_lit_comp("LeafF64"),
|
|
str8_lit_comp("LeafF32"),
|
|
str8_lit_comp("TypeIdent"),
|
|
str8_lit_comp("Ptr"),
|
|
str8_lit_comp("Array"),
|
|
str8_lit_comp("Func"),
|
|
str8_lit_comp("Define"),
|
|
str8_lit_comp("LeafIdent"),
|
|
};
|
|
|
|
String8 eval_result_code_display_strings[] =
|
|
{
|
|
str8_lit_comp(""),
|
|
str8_lit_comp("Cannot divide by zero."),
|
|
str8_lit_comp("Invalid operation."),
|
|
str8_lit_comp("Invalid operation types."),
|
|
str8_lit_comp("Failed memory read."),
|
|
str8_lit_comp("Failed register read."),
|
|
str8_lit_comp("Invalid frame base address."),
|
|
str8_lit_comp("Invalid module base address."),
|
|
str8_lit_comp("Invalid thread-local storage base address."),
|
|
str8_lit_comp("Insufficient evaluation machine stack space."),
|
|
str8_lit_comp("Malformed bytecode."),
|
|
};
|
|
|
|
String8 eval_expr_op_strings[] =
|
|
{
|
|
str8_lit_comp("[]"),
|
|
str8_lit_comp("."),
|
|
str8_lit_comp("*"),
|
|
str8_lit_comp("&"),
|
|
str8_lit_comp("cast"),
|
|
str8_lit_comp("sizeof"),
|
|
str8_lit_comp("-"),
|
|
str8_lit_comp("!"),
|
|
str8_lit_comp("~"),
|
|
str8_lit_comp("*"),
|
|
str8_lit_comp("/"),
|
|
str8_lit_comp("%"),
|
|
str8_lit_comp("+"),
|
|
str8_lit_comp("-"),
|
|
str8_lit_comp("<<"),
|
|
str8_lit_comp(">>"),
|
|
str8_lit_comp("<"),
|
|
str8_lit_comp("<="),
|
|
str8_lit_comp(">"),
|
|
str8_lit_comp(">="),
|
|
str8_lit_comp("=="),
|
|
str8_lit_comp("!="),
|
|
str8_lit_comp("&"),
|
|
str8_lit_comp("^"),
|
|
str8_lit_comp("|"),
|
|
str8_lit_comp("&&"),
|
|
str8_lit_comp("||"),
|
|
str8_lit_comp("? "),
|
|
str8_lit_comp("bytecode"),
|
|
str8_lit_comp("member"),
|
|
str8_lit_comp("U64"),
|
|
str8_lit_comp("F64"),
|
|
str8_lit_comp("F32"),
|
|
str8_lit_comp("type_ident"),
|
|
str8_lit_comp("ptr"),
|
|
str8_lit_comp("array"),
|
|
str8_lit_comp("function"),
|
|
str8_lit_comp("="),
|
|
str8_lit_comp("leaf_ident"),
|
|
};
|
|
|
|
|
|
#endif // EVAL_META_H
|