This file is indexed.

/usr/include/dparser/dparse_tables.h is in mcrl2 201210.1-1ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
/*
  Copyright 2002-2004 John Plevyak, All Rights Reserved
*/
#ifndef _dparse_tables_H_
#define _dparse_tables_H_

#define SCANNER_BLOCKS_POW2		2
#define SCANNER_BLOCKS			(1 << SCANNER_BLOCKS_POW2)
#define SCANNER_BLOCK_SHIFT		(8 - SCANNER_BLOCKS_POW2)
#define SCANNER_BLOCK_MASK		((1 << SCANNER_BLOCK_SHIFT) - 1)
#define SCANNER_BLOCK_SIZE		(256 / SCANNER_BLOCKS)

struct D_Parser;
struct D_ShiftTable;

#define D_PN(_x, _o) ((D_ParseNode*)((char*)(_x) + _o))

typedef struct d_loc_t {
  char *s, *pathname, *ws;
  int col, line;
} d_loc_t;

typedef void (*D_WhiteSpaceFn)(struct D_Parser *p, 
			      d_loc_t *loc, void **p_globals);
typedef int (*D_ScanCode)(
  d_loc_t *loc, unsigned short *symbol, 
  int *term_priority, unsigned char *op_assoc, int *op_priority);
typedef int (*D_ReductionCode)(
  void *new_ps, void **children, int n_children, int pn_offset,
  struct D_Parser *parser);

typedef struct D_Reduction {
  unsigned short	nelements;
  unsigned short	symbol;
  D_ReductionCode	speculative_code;
  D_ReductionCode	final_code;
  unsigned short	op_assoc;
  unsigned short	rule_assoc;
  int 			op_priority;
  int 			rule_priority;
  int			action_index;
  int			npass_code;
  D_ReductionCode	*pass_code;
} D_Reduction;

typedef struct D_RightEpsilonHint {
  unsigned short	depth;
  unsigned short	preceeding_state;
  D_Reduction		*reduction;
} D_RightEpsilonHint;

typedef struct D_ErrorRecoveryHint {
  unsigned short	depth;
  unsigned short	symbol;
  const char		*string;
} D_ErrorRecoveryHint;

typedef struct D_Shift {
  unsigned short	symbol;
  unsigned char		shift_kind;
  unsigned char		op_assoc;
  int			op_priority;
  int			term_priority;
  int			action_index;
  D_ReductionCode	speculative_code;
} D_Shift;

typedef struct SB_uint8 {
  D_Shift 		**shift;
  unsigned char		*scanner_block[SCANNER_BLOCKS];
} SB_uint8;

typedef struct SB_uint16 {
  D_Shift 		**shift;
  unsigned short 	*scanner_block[SCANNER_BLOCKS];
} SB_uint16;

typedef struct SB_uint32 {
  D_Shift 		**shift;
  unsigned int		*scanner_block[SCANNER_BLOCKS];
} SB_uint32;

typedef struct SB_trans_uint8 {
  unsigned char		*scanner_block[SCANNER_BLOCKS];
} SB_trans_uint8;

typedef struct SB_trans_uint16 {
  unsigned short 	*scanner_block[SCANNER_BLOCKS];
} SB_trans_uint16;

typedef struct SB_trans_uint32 {
  unsigned int		*scanner_block[SCANNER_BLOCKS];
} SB_trans_uint32;

#define D_SCAN_ALL	0
#define D_SCAN_LONGEST	1
#define D_SCAN_MIXED	2
#define D_SCAN_TRAILING	3
#define D_SCAN_RESERVED	4
#define D_SCAN_DEFAULT	D_SCAN_ALL

typedef struct D_State {
  unsigned char			*goto_valid;
  int				goto_table_offset;
  struct {
    unsigned int n;
    D_Reduction **v;
  } 				reductions;
  struct {
    unsigned int n;
    D_RightEpsilonHint *v;
  } 				right_epsilon_hints;
  struct {
    unsigned int n;
    D_ErrorRecoveryHint *v;
  } 				error_recovery_hints;
  int				shifts;
  D_ScanCode			scanner_code;
  void*				scanner_table;
  unsigned char			scanner_size;
  unsigned char			accept;
  unsigned char			scan_kind;
  void*				transition_table;
  D_Shift			***accepts_diff;
  int				reduces_to;
} D_State;

#define D_SHIFTS_CODE		((D_Shift**)-1)

#define D_SYMBOL_NTERM		1
#define D_SYMBOL_INTERNAL	2
#define D_SYMBOL_EBNF		3
#define D_SYMBOL_STRING		4
#define D_SYMBOL_REGEX		5
#define D_SYMBOL_CODE		6
#define D_SYMBOL_TOKEN		7
typedef struct D_Symbol {
  unsigned int		kind;
  const char	        *name;
  int			name_len;
  int			start_symbol;
} D_Symbol;

#define D_PASS_PRE_ORDER	0x0001
#define D_PASS_POST_ORDER	0x0002
#define D_PASS_MANUAL		0x0004
#define D_PASS_FOR_ALL		0x0008
#define D_PASS_FOR_UNDEFINED	0x0010
typedef struct D_Pass {
  char	        *name;
  unsigned int	name_len;
  unsigned int  kind;
  unsigned int	index;
} D_Pass;

typedef struct D_ParserTables {
  unsigned int		nstates;
  D_State		*state;
  unsigned short	*goto_table;
  unsigned int		whitespace_state;
  unsigned int		nsymbols;
  D_Symbol		*symbols;
  D_WhiteSpaceFn	default_white_space;
  unsigned int		npasses;
  D_Pass		*passes;
  unsigned int		save_parse_tree;
} D_ParserTables;

void parse_whitespace(struct D_Parser *p, d_loc_t *loc, void **p_globals);

#endif