ACT Library
Loading...
Searching...
No Matches
inline.h
Go to the documentation of this file.
1/*************************************************************************
2 *
3 * Copyright (c) 2021 Rajit Manohar
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
19 *
20 **************************************************************************
21 */
22#ifndef __ACT_INLINE_H__
23#define __ACT_INLINE_H__
24
25#include <act/expr.h>
26#include <act/act_id.h>
27
28struct act_inline_table;
29
47act_inline_table *act_inline_new (Scope *sc, act_inline_table *parent);
48
52void act_inline_free (act_inline_table *);
53
64void act_inline_setval (act_inline_table *Hs, ActId *id, Expr **e);
65
71Expr **act_inline_getval (act_inline_table *Hs, const char *s);
72
78int act_inline_isbound (act_inline_table *, const char *s);
79
85Expr **act_inline_expr (act_inline_table *, Expr *, int recurse_fn = 1);
86
92Expr *act_inline_expr_simple (act_inline_table *, Expr *, int recurse_fn = 1);
93
99act_inline_table *act_inline_merge_tables (int nT, act_inline_table **T, Expr **cond);
100
101#endif /* __ACT_INLINE_H__ */
This class is used to store Act identifiers that correspond to instances. Identifiers have an optiona...
Definition: act_id.h:56
This is the data structure that holds all instances and their associated types within a scope....
Definition: namespaces.h:77
int act_inline_isbound(act_inline_table *, const char *s)
void act_inline_setval(act_inline_table *Hs, ActId *id, Expr **e)
Expr ** act_inline_expr(act_inline_table *, Expr *, int recurse_fn=1)
Expr * act_inline_expr_simple(act_inline_table *, Expr *, int recurse_fn=1)
act_inline_table * act_inline_merge_tables(int nT, act_inline_table **T, Expr **cond)
Expr ** act_inline_getval(act_inline_table *Hs, const char *s)
act_inline_table * act_inline_new(Scope *sc, act_inline_table *parent)
void act_inline_free(act_inline_table *)
Definition: expr.h:79