2015-12-01 00:14:58 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2015 Andrew Kelley
|
|
|
|
*
|
|
|
|
* This file is part of zig, which is MIT licensed.
|
|
|
|
* See http://opensource.org/licenses/MIT
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef ZIG_ANALYZE_HPP
|
|
|
|
#define ZIG_ANALYZE_HPP
|
|
|
|
|
|
|
|
struct CodeGen;
|
2015-12-01 17:29:21 +08:00
|
|
|
struct AstNode;
|
|
|
|
struct Buf;
|
2015-12-01 00:14:58 +08:00
|
|
|
|
2015-12-02 05:41:03 +08:00
|
|
|
struct TypeTableEntry;
|
2015-12-04 01:56:17 +08:00
|
|
|
struct LocalVariableTableEntry;
|
|
|
|
struct BlockContext;
|
2015-12-02 05:41:03 +08:00
|
|
|
|
2015-12-01 13:53:37 +08:00
|
|
|
void semantic_analyze(CodeGen *g);
|
2015-12-01 17:29:21 +08:00
|
|
|
void add_node_error(CodeGen *g, AstNode *node, Buf *msg);
|
2015-12-07 23:29:19 +08:00
|
|
|
TypeTableEntry *new_type_table_entry();
|
2015-12-02 05:41:03 +08:00
|
|
|
TypeTableEntry *get_pointer_to_type(CodeGen *g, TypeTableEntry *child_type, bool is_const);
|
2015-12-04 01:56:17 +08:00
|
|
|
LocalVariableTableEntry *find_local_variable(BlockContext *context, Buf *name);
|
2015-12-01 00:14:58 +08:00
|
|
|
|
|
|
|
#endif
|