This file is indexed.

/usr/include/jaula/jaula_lexan.h is in libjaula-dev 1.4.0-5build1.

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
/*
 * jaula_lexan.h : JSON Analysis User Library Acronym Lexical analysis
 * definitions
 *
 * Copyright (C) 2007, 2008, 2009 Kombo Morongo <morongo666@gmail.com>
 *
 * This library is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 2.1 of the License, or (at
 * your option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
 * License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this library; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 *
 * svn info:
 * $Author: morongo $
 * $HeadURL: https://jaula.svn.sourceforge.net/svnroot/jaula/tags/jaula-1.4.0/jaula/jaula_lexan.h $
 * $Id: jaula_lexan.h 45 2009-01-11 16:17:03Z morongo $
 * $Revision: 45 $
 */

#ifndef _JAULA_LEXAN_H_
#define _JAULA_LEXAN_H_

/**
 * \addtogroup jaula_lex JAULA: JSON lexical analysis
 */

#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/**
 * \brief Lexical Analysis Value Tokens.
 *
 * \par Description
 * Tokens are definde into the symbol table, so that GDB and other debuggers
 * know about them.
 */
enum yytokentype
{
  NULL_VALUE = 258
  , FALSE_VALUE
  , TRUE_VALUE
  , NUMBER_VALUE
  , NUMBER_INT_VALUE
  , STRING_VALUE
};
#endif
#define NULL_VALUE 258
#define FALSE_VALUE 259
#define TRUE_VALUE 260
#define NUMBER_VALUE 261
#define NUMBER_INT_VALUE 262
#define STRING_VALUE 263

#ifndef __FLEX_LEXER_H
#undef yyFlexLexer
#define yyFlexLexer jaulaFlexLexer
#include <FlexLexer.h>
#endif

#include <jaula/jaula_lexan_error.h>

namespace JAULA
{                                // namespace JAULA
  /**
   * \brief Lexical Analysis implementation
   *
   * \ingroup jaula_lex
   *
   * \par
   * This class implements the lexical analysis for JSON as specified by
   * RFC 4627.
   *
   * \author Kombo Morongo <morongo666@gmail.com>
   */
  class Lexan : public ::jaulaFlexLexer
  {                              // class Lexan
    public:

      /**
       * \brief Constructor
       *
       * \param in_stream stream for the input data to analyze
       *
       * \param comments_allowed flag to extend basic format and allow for
       * hash symbol '#' starting comments in input.
       *
       * \par Description
       * Creates a lexical analysis instance for the specified input stream.
       */
      Lexan(std::istream &in_stream, bool comments_allowed = false);

      /**
       * \brief Destructor
       */
      virtual ~Lexan();

      /**
       * \brief Retrieves tokens from the input
       *
       * \returns the code for a token read or 0 if the end of data has been
       * reached.
       */
      virtual int yylex();

      /**
       * \brief Error report
       *
       * \param detail Text for the error received
       *
       * \par Description
       * This method is a callback used by the analysis routines to indicate
       * an error condition.
       *
       * \par
       * Its current implementation consists of generating the exception
       * instance to be retrieved by getErrorReport().
       */
      virtual void LexerError(const char *detail);

      /**
       * \brief Retrieves last token associated data
       *
       * \returns the data associated for the last token returned from yylex()
       * in case there is such kind of data (token corresponds to a property
       * name or a single value) or undefined otherwise.
       */
      std::string const &getTokenData(void) const;

      /**
       * \brief Retrieves details for the last error detected
       *
       * \returns a pointer to an instance containing the details for the last
       * error detected during the lexical analysis process or a null pointer
       * in case no error have ocurred during the lexical analysis so far.
       */
      Lexan_Error const *getErrorReport(void) const;

    private:

      /**
       * \brief Flag for extending language to accept # comments
       */
      bool    commented;

      /**
       * \brief Container for the token associated data
       */
      std::string tokenData;

      /**
       * \brief Pointer to the last exception detected
       */
      Lexan_Error   *pErrorReport;

  };                             // class Lexan
}                                // namespace JAULA
#endif

// EOF $Id: jaula_lexan.h 45 2009-01-11 16:17:03Z morongo $