This file is indexed.

/usr/lib/falcon/parser/faldoc/generic.fal is in libfalcon-engine1 0.9.6.9-git20120606-2.

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
/*
   FALCON - Generic Parser

   FILE: generic.fal

   Read faldoc blocks inside generic files.
   -------------------------------------------------------------------
   Author: Giancarlo Niccolai
   Begin: Sat, 25 Sep 2010 14:53:06 +0200

   -------------------------------------------------------------------
   (C) Copyright 2010: the FALCON developers (see list in AUTHORS file)

   See LICENSE file for licensing details.
*/

import InfoNode from parser.genparser.node as InfoNode

import TagRule from parser.genparser.rules as TagRule
import ReRule from parser.genparser.rules as ReRule
import DummyRule from parser.genparser.rules as DummyRule

import Parser from parser.genparser
import PState from parser.genparser as PState

class Parser from parser.genparser.Parser
   states = [
      "start" => PState( .[
            ReRule( '/\*#[*#\s]?', "grab", {ctx=> ctx.pushNode( InfoNode( "faldoc_txt", ["line"=>ctx.row] )) })
            ReRule( '//#\s*(?:@)', "grab_eol", {ctx=> ctx.pushNode( InfoNode( "faldoc_txt", ["line"=>ctx.row] )) })

            TagRule( "/*", "comment" )
            ReRule( "//.*$", "#stay" )
         ],
         "*" // get all
      ),

      "grab" =>PState(.[
            TagRule( "\\*", "#stay", {ctx=> ctx.add("*")} )
            ReRule( '\s*\*+/', "#pop", {ctx=> ctx.popNode()})

            // Consumes useless * at begin of comment
            ReRule( '^\s*\*+', "#stay" )
         ],
         {ctx, data=>ctx.add( data )},
         "grab_continue"
      ),

      "grab_continue"=> PState(
         .[ DummyRule( "#pop", { ctx => ctx.add("\n")} ) ]
      ),

      "grab_eol" =>PState(
         .[],
         {ctx, data=>ctx.add( data )},
         "grab_eol_checker"
      ),

      "grab_eol_checker" =>PState(
         .[
            // if there is a //# on the next line, go on returning on the prev state
            TagRule( "//#", "#pop", {ctx=>ctx.add("\n")} )
            // Else, pop the node and return to top
            DummyRule( "#pop;#pop", {ctx=>ctx.popNode()} )
         ]
      ),

      "comment" =>PState(.[
            ReRule( '.*?\*/', "#pop" )
            ReRule( '.*', "#stay" )
         ]
      ),

      // Just to be able to add always "," at the end
      "*dummy" => nil
   ]

   function reset()
      self.initParser( "start" )
   end
end