-
Notifications
You must be signed in to change notification settings - Fork 1
/
table.h
64 lines (57 loc) · 1.87 KB
/
table.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*+@@file@@----------------------------------------------------------------*//*!
\file table.h
\par Description
Code for processing tables in the LEMON parser generator.
\par Status:
\par Project:
Lemon parser
\date Created on Sat Sep 1 22:36:47 2018
\date Modified on Sat Sep 1 22:36:47 2018
\author
\*//*-@@file@@----------------------------------------------------------------*/
#ifndef TABLE_H__
#define TABLE_H__
#pragma once
/*
* All code in this file has been automatically generated
* from a specification in the file
* "table.q"
* by the associative array code building program "aagen".
* Do not edit this file! Instead, edit the specification
* file, then rerun aagen.
*/
/*
* String handling routines.
*/
const char *Strsafe(const char *);
void Strsafe_init(void);
int Strsafe_insert(const char *);
const char *Strsafe_find(const char *);
/*
* Grammar symbols handling routines.
*/
struct symbol *Symbol_new(const char *);
int Symbolcmpp(const void *, const void *);
void Symbol_init(void);
int Symbol_insert(struct symbol *, const char *);
struct symbol *Symbol_find(const char *);
struct symbol *Symbol_Nth(int);
int Symbol_count(void);
struct symbol **Symbol_arrayof(void);
/*
* State tables managing routines.
*/
int Configcmp(const char *, const char *);
struct state *State_new(void);
void State_init(void);
int State_insert(struct state *, struct config *);
struct state *State_find(struct config *);
struct state **State_arrayof(void);
/*
* Routines used for efficiency in Configlist_add
*/
void Configtable_init(void);
int Configtable_insert(struct config *);
struct config *Configtable_find(struct config *);
void Configtable_clear(int(*)(struct config *));
#endif //TABLE_H__