Graphviz
12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
parse.h
Go to the documentation of this file.
1
/*************************************************************************
2
* Copyright (c) 2011 AT&T Intellectual Property
3
* All rights reserved. This program and the accompanying materials
4
* are made available under the terms of the Eclipse Public License v1.0
5
* which accompanies this distribution, and is available at
6
* https://www.eclipse.org/legal/epl-v10.html
7
*
8
* Contributors: Details at https://graphviz.org
9
*************************************************************************/
10
11
#pragma once
12
13
#include <stddef.h>
14
15
#ifdef __cplusplus
16
extern
"C"
{
17
#endif
18
19
typedef
enum
{
Begin
=
20
0,
End
,
BeginG
,
EndG
,
Node
,
Edge
,
Eof
,
Error
}
case_t
;
21
22
typedef
struct
_case_info
{
23
int
gstart
;
24
char
*
guard
;
25
int
astart
;
26
char
*
action
;
27
struct
_case_info
*
next
;
28
}
case_info
;
29
30
typedef
struct
_parse_block
{
31
int
l_beging
;
32
char
*
begg_stmt
;
33
size_t
n_nstmts
;
34
size_t
n_estmts
;
35
case_info
*
node_stmts
;
36
case_info
*
edge_stmts
;
37
struct
_parse_block
*
next
;
38
}
parse_block
;
39
40
typedef
struct
{
41
char
*
source
;
42
int
l_begin
, l_end, l_endg;
43
char
*
begin_stmt
;
44
size_t
n_blocks
;
45
parse_block
*
blocks
;
46
char
*
endg_stmt
;
47
char
*
end_stmt
;
48
}
parse_prog
;
49
50
extern
parse_prog
*
parseProg
(
char
*,
int
);
51
extern
void
freeParseProg
(
parse_prog
*);
52
53
#ifdef __cplusplus
54
}
55
#endif
parseProg
parse_prog * parseProg(char *, int)
Definition
parse.c:444
case_info
struct _case_info case_info
freeParseProg
void freeParseProg(parse_prog *)
Definition
parse.c:590
parse_block
struct _parse_block parse_block
case_t
case_t
Definition
parse.h:19
Error
@ Error
Definition
parse.h:20
Node
@ Node
Definition
parse.h:20
End
@ End
Definition
parse.h:20
Edge
@ Edge
Definition
parse.h:20
Eof
@ Eof
Definition
parse.h:20
Begin
@ Begin
Definition
parse.h:19
BeginG
@ BeginG
Definition
parse.h:20
EndG
@ EndG
Definition
parse.h:20
_case_info
Definition
parse.h:22
_case_info::astart
int astart
Definition
parse.h:25
_case_info::gstart
int gstart
Definition
parse.h:23
_case_info::guard
char * guard
Definition
parse.h:24
_case_info::action
char * action
Definition
parse.h:26
_case_info::next
struct _case_info * next
Definition
parse.h:27
_parse_block
Definition
parse.h:30
_parse_block::n_nstmts
size_t n_nstmts
Definition
parse.h:33
_parse_block::next
struct _parse_block * next
Definition
parse.h:37
_parse_block::edge_stmts
case_info * edge_stmts
Definition
parse.h:36
_parse_block::l_beging
int l_beging
Definition
parse.h:31
_parse_block::n_estmts
size_t n_estmts
Definition
parse.h:34
_parse_block::node_stmts
case_info * node_stmts
Definition
parse.h:35
_parse_block::begg_stmt
char * begg_stmt
Definition
parse.h:32
parse_prog
Definition
parse.h:40
parse_prog::l_begin
int l_begin
Definition
parse.h:42
parse_prog::n_blocks
size_t n_blocks
Definition
parse.h:44
parse_prog::end_stmt
char * end_stmt
Definition
parse.h:47
parse_prog::endg_stmt
char * endg_stmt
Definition
parse.h:46
parse_prog::blocks
parse_block * blocks
Definition
parse.h:45
parse_prog::begin_stmt
char * begin_stmt
Definition
parse.h:43
parse_prog::source
char * source
Definition
parse.h:41
lib
gvpr
parse.h
Generated by
1.9.8