Replace Dy by %Dy and move input arguments checking.
[scilab.git] / scilab / modules / scicos / src / xml2modelica / linenum.ml
1 # 23 "linenum.mll"
2  
3
4 let linenum = ref 0
5 let linebeg = ref 0
6
7
8 # 9 "linenum.ml"
9 let __ocaml_lex_tables = {
10   Lexing.lex_base = 
11    "\000\000\254\255\001\000\255\255";
12   Lexing.lex_backtrk = 
13    "\255\255\255\255\000\000\255\255";
14   Lexing.lex_default = 
15    "\000\000\000\000\255\255\000\000";
16   Lexing.lex_trans = 
17    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
18     \000\000\000\000\003\000\003\000\000\000\002\000\000\000\000\000\
19     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
20     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
21     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
22     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
23     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
24     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
25     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
26     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
27     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
28     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
29     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
30     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
31     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
32     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
33     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
34     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
35     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
36     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
37     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
38     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
39     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
40     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
41     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
42     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
43     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
44     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
45     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
46     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
47     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
48     \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
49     \001\000\000\000";
50   Lexing.lex_check = 
51    "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
52     \255\255\255\255\000\000\002\000\255\255\000\000\255\255\255\255\
53     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
54     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
55     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
56     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
57     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
58     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
59     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
60     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
61     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
62     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
63     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
64     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
65     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
66     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
67     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
68     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
69     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
70     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
71     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
72     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
73     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
74     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
75     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
76     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
77     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
78     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
79     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
80     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
81     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
82     \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
83     \000\000\255\255";
84   Lexing.lex_base_code = 
85    "";
86   Lexing.lex_backtrk_code = 
87    "";
88   Lexing.lex_default_code = 
89    "";
90   Lexing.lex_trans_code = 
91    "";
92   Lexing.lex_check_code = 
93    "";
94   Lexing.lex_code = 
95    "";
96 }
97
98 let rec skip_line lexbuf =
99     __ocaml_lex_skip_line_rec lexbuf 0
100 and __ocaml_lex_skip_line_rec lexbuf __ocaml_lex_state =
101   match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with
102       | 0 ->
103 # 32 "linenum.mll"
104       ( incr linenum;
105         linebeg := Lexing.lexeme_start lexbuf;
106         Lexing.lexeme_end lexbuf )
107 # 108 "linenum.ml"
108
109   | 1 ->
110 # 36 "linenum.mll"
111       ( incr linenum;
112         linebeg := Lexing.lexeme_start lexbuf;
113         raise End_of_file )
114 # 115 "linenum.ml"
115
116   | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_skip_line_rec lexbuf __ocaml_lex_state
117
118 ;;
119
120 # 40 "linenum.mll"
121  
122
123 let for_position file loc =
124   let ic = open_in_bin file in
125   let lb = Lexing.from_channel ic in
126   linenum := 1;
127   linebeg := 0;
128   begin try
129     while skip_line lb <= loc do () done
130   with End_of_file -> ()
131   end;
132   close_in ic;
133   (!linenum - 1, !linebeg)
134
135
136 # 137 "linenum.ml"