]> andersk Git - splint.git/blob - src/Headers/lltok.h
o Make lltok an abstract type, a pointer to structure instead of a plain
[splint.git] / src / Headers / lltok.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
4 **
5 */
6 /*
7 ** lltok.h
8 */
9
10 # ifndef LLTOK_H
11 # define LLTOK_H
12
13 typedef /*@abstract@*/ struct
14 {
15   int tok;
16   fileloc loc;
17 } *lltok;
18
19 extern lltok lltok_create  (int p_tok, /*@only@*/ fileloc p_loc) /*@modifies nothing@*/ ;
20 extern /*@observer@*/ cstring lltok_unparse (lltok p_tok) /*@*/ ;
21 extern void lltok_free (/*@only@*/ lltok p_t) ;
22
23 extern /*@dependent@*/ /*@exposed@*/ fileloc lltok_getLoc (lltok p_t) /*@*/ ;
24 extern int lltok_getTok (lltok p_t) /*@*/ ;
25
26 # define lltok_getTok(t)  ((t)->tok)
27 # define lltok_getLoc(t)  ((t)->loc)
28
29 extern bool lltok_isSemi (lltok p_tok);
30
31 /* DRL added 10/23/2000 for boolean stuff */
32 extern bool lltok_isEq_Op (lltok p_tok);
33
34 extern bool lltok_isMult (lltok p_tok);
35
36 extern bool lltok_isInc_Op (lltok p_tok);
37
38 extern bool lltok_isAnd_Op (lltok p_tok);
39
40 extern bool lltok_isOr_Op (lltok p_tok);
41
42 extern bool lltok_isNot_Op (lltok p_tok);
43
44 /*drl7x added this function 11/20/00 */
45
46 extern bool lltok_isLt_Op (lltok p_tok);
47 extern bool lltok_isGt_Op (lltok p_tok);
48 extern bool lltok_isGe_Op (lltok p_tok);
49 extern bool lltok_isLe_Op (lltok p_tok);
50
51 /* end drl7x added */
52
53
54 /*drl7x added 11 30 2000*/
55 bool lltok_isPlus_Op (lltok p_tok);
56
57 bool lltok_isMinus_Op (lltok p_tok);
58
59 /*end drl added */
60
61 /*drl
62   added 1/14/2001
63 */
64 bool lltok_isDec_Op  (lltok p_tok);
65 bool lltok_isAmpersand_Op (lltok p_tok);
66
67 extern bool lltok_isExcl_Op (lltok p_tok);
68 extern bool lltok_isTilde_Op (lltok p_tok);
69
70 extern bool lltok_isEnsures (lltok p_tok);
71 extern bool lltok_isRequires (lltok p_tok);
72
73 # else
74 # error "Multiple include"
75 # endif
This page took 0.058178 seconds and 5 git commands to generate.