1 /*1413:*/
2 #line 13600 "./marpa.w"
3 
4 /*
5  * Copyright 2012 Jeffrey Kegler
6  * This file is part of Marpa::XS.  Marpa::XS is free software: you can
7  * redistribute it and/or modify it under the terms of the GNU Lesser
8  * General Public License as published by the Free Software Foundation,
9  * either version 3 of the License, or (at your option) any later version.
10  *
11  * Marpa::XS is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser
17  * General Public License along with Marpa::XS.  If not, see
18  * http://www.gnu.org/licenses/.
19  */
20 /*
21  * DO NOT EDIT DIRECTLY
22  * This file is written by ctangle
23  * It is not intended to be modified directly
24  */
25 
26 /*:1413*//*1414:*/
27 #line 13624 "./marpa.w"
28 
29 #ifndef __MARPA_H__
30 #define __MARPA_H__
31 #include <stdio.h>
32 #include <glib.h>
33 /*39:*/
34 #line 651 "./marpa.w"
35 
36 GLIB_VAR const guint marpa_major_version;
37 GLIB_VAR const guint marpa_minor_version;
38 GLIB_VAR const guint marpa_micro_version;
39 GLIB_VAR const guint marpa_interface_age;
40 GLIB_VAR const guint marpa_binary_age;
41 #define MARPA_CHECK_VERSION(major,minor,micro)  \
42      (MARPA_MAJOR_VERSION >  (major) \
43          || (MARPA_MAJOR_VERSION == (major) && MARPA_MINOR_VERSION >  (minor)) \
44          || (MARPA_MAJOR_VERSION == (major) && MARPA_MINOR_VERSION == (minor) \
45           && MARPA_MICRO_VERSION >= (micro)))
46 
47 #define MARPA_CAT(a, b)  a ## b
48 /*113:*/
49 #line 981 "./marpa.w"
50 
51 #define MARPA_CONTEXT_INT 1
52 #define MARPA_CONTEXT_CONST 2
53 #define MARPA_IS_CONTEXT_INT(v)   ((v)->t_type == MARPA_CONTEXT_INT)
54 #define MARPA_CONTEXT_INT_VALUE(v)  \
55  ((v)->t_type == MARPA_CONTEXT_INT \
56     ? ((struct marpa_context_int_value*)v)->t_data \
57     : G_MININT)
58 #define MARPA_CONTEXT_STRING_VALUE(v)  \
59  ((v)->t_type == MARPA_CONTEXT_CONST \
60     ? ((struct marpa_context_const_value*)v)->t_data \
61     : NULL)
62 /*:113*//*260:*/
63 #line 1988 "./marpa.w"
64 
65 #define MARPA_KEEP_SEPARATION  0x1
66 /*:260*//*265:*/
67 #line 2021 "./marpa.w"
68 
69 #define MARPA_PROPER_SEPARATION  0x2
70 
71 /*:265*/
72 #line 664 "./marpa.w"
73 
74 /*40:*/
75 #line 672 "./marpa.w"
76 struct marpa_g;
77 /*:40*//*602:*/
78 #line 5358 "./marpa.w"
79 
80 struct marpa_r;
81 /*:602*/
82 #line 665 "./marpa.w"
83 
84 /*49:*/
85 #line 711 "./marpa.w"
86 typedef gint Marpa_Grammar_ID;
87 /*:49*//*128:*/
88 #line 1095 "./marpa.w"
89 
90 typedef const gchar*Marpa_Error_ID;
91 /*:128*//*134:*/
92 #line 1114 "./marpa.w"
93 
94 typedef gint Marpa_Symbol_ID;
95 /*:134*//*211:*/
96 #line 1500 "./marpa.w"
97 
98 typedef gint Marpa_Rule_ID;
99 /*:211*//*445:*/
100 #line 3536 "./marpa.w"
101 
102 typedef gint Marpa_AHFA_Item_ID;
103 /*:445*//*491:*/
104 #line 3924 "./marpa.w"
105 
106 typedef gint Marpa_AHFA_State_ID;
107 
108 /*:491*//*611:*/
109 #line 5418 "./marpa.w"
110 typedef gint Marpa_Recognizer_ID;
111 /*:611*//*619:*/
112 #line 5450 "./marpa.w"
113 
114 enum marpa_phase{
115 no_such_phase= 0,
116 initial_phase,
117 input_phase,
118 evaluation_phase,
119 error_phase
120 };
121 typedef enum marpa_phase Marpa_Phase;
122 /*:619*//*702:*/
123 #line 5889 "./marpa.w"
124 typedef gint Marpa_Earleme;
125 /*:702*//*704:*/
126 #line 5893 "./marpa.w"
127 typedef gint Marpa_Earley_Set_ID;
128 /*:704*//*734:*/
129 #line 6113 "./marpa.w"
130 typedef gint Marpa_Earley_Item_ID;
131 /*:734*//*1007:*/
132 #line 9288 "./marpa.w"
133 
134 typedef gint Marpa_Or_Node_ID;
135 /*:1007*//*1071:*/
136 #line 10211 "./marpa.w"
137 
138 typedef gint Marpa_And_Node_ID;
139 /*:1071*//*1181:*/
140 #line 11480 "./marpa.w"
141 
142 typedef gint Marpa_Fork_ID;
143 /*:1181*//*1380:*/
144 #line 13301 "./marpa.w"
145 
146 typedef const gchar*Marpa_Message_ID;
147 
148 /*:1380*/
149 #line 666 "./marpa.w"
150 
151 /*204:*/
152 #line 1468 "./marpa.w"
153 
154 typedef void(Marpa_Symbol_Callback)(struct marpa_g*g,Marpa_Symbol_ID id);
155 /*:204*//*312:*/
156 #line 2244 "./marpa.w"
157 
158 typedef void(Marpa_Rule_Callback)(struct marpa_g*g,Marpa_Rule_ID id);
159 /*:312*//*1382:*/
160 #line 13308 "./marpa.w"
161 
162 typedef void(Marpa_G_Message_Callback)(struct marpa_g*g,Marpa_Message_ID id);
163 /*:1382*//*1390:*/
164 #line 13343 "./marpa.w"
165 
166 typedef void(Marpa_R_Message_Callback)(struct marpa_r*r,Marpa_Message_ID id);
167 /*:1390*/
168 #line 667 "./marpa.w"
169 
170 /*114:*/
171 #line 993 "./marpa.w"
172 
173 struct marpa_context_int_value{
174 gint t_type;
175 gint t_data;
176 };
177 /*:114*//*115:*/
178 #line 998 "./marpa.w"
179 
180 struct marpa_context_const_value{
181 gint t_type;
182 const gchar*t_data;
183 };
184 /*:115*//*116:*/
185 #line 1003 "./marpa.w"
186 
187 union marpa_context_value{
188 gint t_type;
189 struct marpa_context_int_value t_int_value;
190 struct marpa_context_const_value t_const_value;
191 };
192 
193 /*:116*//*1202:*/
194 #line 11640 "./marpa.w"
195 
196 struct marpa_event{
197 Marpa_Symbol_ID marpa_token_id;
198 gpointer marpa_value;
199 Marpa_Rule_ID marpa_rule_id;
200 gint marpa_arg_0;
201 gint marpa_arg_n;
202 };
203 typedef struct marpa_event Marpa_Event;
204 /*:1202*/
205 #line 668 "./marpa.w"
206 
207 /*38:*/
208 #line 643 "./marpa.w"
209 
210 void marpa_version(int*version);
211 
212 /*:38*//*44:*/
213 #line 688 "./marpa.w"
214 
215 struct marpa_g*marpa_g_new(void);
216 
217 /*:44*//*46:*/
218 #line 696 "./marpa.w"
219 
220 void marpa_g_free(struct marpa_g*g);
221 
222 /*:46*//*53:*/
223 #line 717 "./marpa.w"
224 
225 gint marpa_grammar_id(struct marpa_g*g);
226 
227 /*:53*//*58:*/
228 #line 739 "./marpa.w"
229 
230 GArray*marpa_g_symbols_peek(struct marpa_g*g);
231 
232 /*:58*//*68:*/
233 #line 786 "./marpa.w"
234 
235 GArray*marpa_g_rules_peek(struct marpa_g*g);
236 
237 /*:68*//*74:*/
238 #line 815 "./marpa.w"
239 
240 gpointer marpa_default_value(struct marpa_g*g);
241 /*:74*//*76:*/
242 #line 820 "./marpa.w"
243 
244 gboolean marpa_default_value_set(struct marpa_g*g,gpointer default_value);
245 /*:76*//*81:*/
246 #line 838 "./marpa.w"
247 
248 Marpa_Symbol_ID marpa_start_symbol(struct marpa_g*g);
249 /*:81*//*83:*/
250 #line 851 "./marpa.w"
251 
252 gboolean marpa_start_symbol_set(struct marpa_g*g,Marpa_Symbol_ID id);
253 
254 /*:83*//*93:*/
255 #line 902 "./marpa.w"
256 
257 gboolean marpa_is_precomputed(const struct marpa_g*const g);
258 /*:93*//*100:*/
259 #line 920 "./marpa.w"
260 
261 gboolean marpa_has_loop(struct marpa_g*g);
262 
263 /*:100*//*104:*/
264 #line 935 "./marpa.w"
265 
266 gboolean marpa_is_lhs_terminal_ok(struct marpa_g*g);
267 /*:104*//*106:*/
268 #line 950 "./marpa.w"
269 
270 gboolean marpa_is_lhs_terminal_ok_set(struct marpa_g*g,gboolean value);
271 
272 /*:106*//*124:*/
273 #line 1060 "./marpa.w"
274 
275 union marpa_context_value*marpa_g_context_value(struct marpa_g*g,const gchar*key);
276 
277 /*:124*//*133:*/
278 #line 1109 "./marpa.w"
279 
280 Marpa_Error_ID marpa_g_error(const struct marpa_g*g);
281 
282 /*:133*//*140:*/
283 #line 1149 "./marpa.w"
284 
285 Marpa_Symbol_ID marpa_symbol_new(struct marpa_g*g);
286 /*:140*//*150:*/
287 #line 1191 "./marpa.w"
288 
289 GArray*marpa_symbol_lhs_peek(struct marpa_g*g,Marpa_Symbol_ID symid);
290 /*:150*//*157:*/
291 #line 1221 "./marpa.w"
292 
293 GArray*marpa_symbol_rhs_peek(struct marpa_g*g,Marpa_Symbol_ID symid);
294 /*:157*//*163:*/
295 #line 1244 "./marpa.w"
296 
297 gboolean marpa_symbol_is_accessible(struct marpa_g*g,Marpa_Symbol_ID id);
298 
299 /*:163*//*167:*/
300 #line 1262 "./marpa.w"
301 
302 gboolean marpa_symbol_is_counted(struct marpa_g*g,Marpa_Symbol_ID id);
303 
304 /*:167*//*171:*/
305 #line 1280 "./marpa.w"
306 
307 gboolean marpa_symbol_is_nullable(struct marpa_g*g,Marpa_Symbol_ID id);
308 
309 /*:171*//*175:*/
310 #line 1301 "./marpa.w"
311 
312 gint marpa_symbol_is_nulling(struct marpa_g*g,Marpa_Symbol_ID id);
313 
314 /*:175*//*179:*/
315 #line 1321 "./marpa.w"
316 
317 gboolean marpa_symbol_is_terminal(struct marpa_g*g,Marpa_Symbol_ID id);
318 /*:179*//*181:*/
319 #line 1327 "./marpa.w"
320 
321 void marpa_symbol_is_terminal_set(struct marpa_g*g,Marpa_Symbol_ID id,gboolean value);
322 
323 /*:181*//*185:*/
324 #line 1345 "./marpa.w"
325 
326 gboolean marpa_symbol_is_productive(struct marpa_g*g,Marpa_Symbol_ID id);
327 
328 /*:185*//*190:*/
329 #line 1365 "./marpa.w"
330 
331 gint marpa_symbol_is_start(struct marpa_g*g,Marpa_Symbol_ID id);
332 
333 /*:190*//*196:*/
334 #line 1405 "./marpa.w"
335 
336 Marpa_Symbol_ID marpa_symbol_proper_alias(struct marpa_g*g,Marpa_Symbol_ID symid);
337 
338 /*:196*//*199:*/
339 #line 1433 "./marpa.w"
340 
341 Marpa_Symbol_ID marpa_symbol_null_alias(struct marpa_g*g,Marpa_Symbol_ID symid);
342 
343 /*:199*//*208:*/
344 #line 1483 "./marpa.w"
345 
346 void marpa_symbol_callback_set(struct marpa_g*g,Marpa_Symbol_Callback*cb);
347 void marpa_symbol_callback_arg_set(struct marpa_g*g,gpointer cb_arg);
348 gpointer marpa_symbol_callback_arg(struct marpa_g*g);
349 /*:208*//*218:*/
350 #line 1545 "./marpa.w"
351 
352 Marpa_Rule_ID marpa_rule_new(struct marpa_g*g,
353 Marpa_Symbol_ID lhs,Marpa_Symbol_ID*rhs,gint length);
354 /*:218*//*220:*/
355 #line 1569 "./marpa.w"
356 
357 Marpa_Rule_ID marpa_sequence_new(struct marpa_g*g,
358 Marpa_Symbol_ID lhs_id,Marpa_Symbol_ID rhs_id,Marpa_Symbol_ID separator_id,
359 gint min,gint flags);
360 /*:220*//*248:*/
361 #line 1938 "./marpa.w"
362 
363 Marpa_Symbol_ID marpa_rule_lhs(struct marpa_g*g,Marpa_Rule_ID rule_id);
364 /*:248*//*251:*/
365 #line 1945 "./marpa.w"
366 
367 Marpa_Symbol_ID marpa_rule_rh_symbol(struct marpa_g*g,Marpa_Rule_ID rule_id,gint ix);
368 /*:251*//*256:*/
369 #line 1966 "./marpa.w"
370 
371 gint marpa_rule_length(struct marpa_g*g,Marpa_Rule_ID rule_id);
372 
373 /*:256*//*264:*/
374 #line 1996 "./marpa.w"
375 
376 gboolean marpa_rule_is_discard_separation(struct marpa_g*g,Marpa_Rule_ID id);
377 
378 /*:264*//*269:*/
379 #line 2041 "./marpa.w"
380 
381 gint marpa_rule_is_accessible(struct marpa_g*g,Marpa_Rule_ID id);
382 
383 /*:269*//*273:*/
384 #line 2065 "./marpa.w"
385 
386 gint marpa_rule_is_productive(struct marpa_g*g,Marpa_Rule_ID id);
387 
388 /*:273*//*278:*/
389 #line 2085 "./marpa.w"
390 
391 gint marpa_rule_is_loop(struct marpa_g*g,Marpa_Rule_ID rule_id);
392 
393 /*:278*//*283:*/
394 #line 2106 "./marpa.w"
395 
396 gint marpa_rule_is_virtual_loop(struct marpa_g*g,Marpa_Rule_ID rule_id);
397 
398 /*:283*//*290:*/
399 #line 2141 "./marpa.w"
400 
401 gint marpa_rule_is_used(struct marpa_g*g,Marpa_Rule_ID rule_id);
402 
403 /*:290*//*294:*/
404 #line 2157 "./marpa.w"
405 
406 gint marpa_rule_is_start(struct marpa_g*g,Marpa_Rule_ID rule_id);
407 
408 /*:294*//*298:*/
409 #line 2187 "./marpa.w"
410 
411 gboolean marpa_rule_is_virtual_lhs(struct marpa_g*g,Marpa_Rule_ID rule_id);
412 
413 /*:298*//*302:*/
414 #line 2202 "./marpa.w"
415 
416 gboolean marpa_rule_is_virtual_rhs(struct marpa_g*g,Marpa_Rule_ID rule_id);
417 
418 /*:302*//*306:*/
419 #line 2218 "./marpa.w"
420 
421 guint marpa_virtual_start(struct marpa_g*g,Marpa_Rule_ID rule_id);
422 
423 /*:306*//*310:*/
424 #line 2234 "./marpa.w"
425 
426 guint marpa_virtual_end(struct marpa_g*g,Marpa_Rule_ID rule_id);
427 
428 /*:310*//*316:*/
429 #line 2255 "./marpa.w"
430 
431 void marpa_rule_callback_set(struct marpa_g*g,Marpa_Rule_Callback*cb);
432 /*:316*//*318:*/
433 #line 2260 "./marpa.w"
434 
435 void marpa_rule_callback_arg_set(struct marpa_g*g,gpointer cb_arg);
436 /*:318*//*320:*/
437 #line 2265 "./marpa.w"
438 
439 gpointer marpa_rule_callback_arg(struct marpa_g*g);
440 /*:320*//*327:*/
441 #line 2291 "./marpa.w"
442 
443 Marpa_Rule_ID marpa_rule_original(struct marpa_g*g,Marpa_Rule_ID rule_id);
444 
445 /*:327*//*331:*/
446 #line 2303 "./marpa.w"
447 
448 gint marpa_real_symbol_count(struct marpa_g*g,Marpa_Rule_ID rule_id);
449 /*:331*//*336:*/
450 #line 2326 "./marpa.w"
451 
452 Marpa_Rule_ID marpa_rule_semantic_equivalent(struct marpa_g*g,Marpa_Rule_ID id);
453 /*:336*//*346:*/
454 #line 2412 "./marpa.w"
455 
456 struct marpa_g*marpa_precompute(struct marpa_g*g);
457 
458 /*:346*//*461:*/
459 #line 3629 "./marpa.w"
460 
461 guint marpa_AHFA_item_count(struct marpa_g*g);
462 
463 /*:461*//*463:*/
464 #line 3640 "./marpa.w"
465 
466 Marpa_Rule_ID marpa_AHFA_item_rule(struct marpa_g*g,Marpa_AHFA_Item_ID item_id);
467 
468 /*:463*//*464:*/
469 #line 3644 "./marpa.w"
470 
471 gint marpa_AHFA_item_position(struct marpa_g*g,Marpa_AHFA_Item_ID item_id);
472 /*:464*//*466:*/
473 #line 3656 "./marpa.w"
474 
475 Marpa_Symbol_ID marpa_AHFA_item_postdot(struct marpa_g*g,Marpa_AHFA_Item_ID item_id);
476 /*:466*//*468:*/
477 #line 3667 "./marpa.w"
478 
479 gint marpa_AHFA_item_sort_key(struct marpa_g*g,Marpa_AHFA_Item_ID item_id);
480 /*:468*//*516:*/
481 #line 4093 "./marpa.w"
482 
483 guint marpa_AHFA_state_count(struct marpa_g*g);
484 
485 /*:516*//*518:*/
486 #line 4106 "./marpa.w"
487 
488 gint marpa_AHFA_state_item_count(struct marpa_g*g,Marpa_AHFA_State_ID AHFA_state_id);
489 
490 /*:518*//*519:*/
491 #line 4109 "./marpa.w"
492 
493 Marpa_AHFA_Item_ID marpa_AHFA_state_item(struct marpa_g*g,
494 Marpa_AHFA_State_ID AHFA_state_id,
495 guint item_ix);
496 /*:519*//*522:*/
497 #line 4144 "./marpa.w"
498 
499 gint marpa_AHFA_state_is_predict(struct marpa_g*g,
500 Marpa_AHFA_State_ID AHFA_state_id);
501 
502 /*:522*//*524:*/
503 #line 4154 "./marpa.w"
504 
505 Marpa_Rule_ID marpa_AHFA_completed_start_rule(struct marpa_g*g,
506 Marpa_AHFA_State_ID AHFA_state_id);
507 /*:524*//*529:*/
508 #line 4218 "./marpa.w"
509 
510 Marpa_Symbol_ID marpa_AHFA_state_leo_lhs_symbol(struct marpa_g*g,
511 Marpa_AHFA_State_ID AHFA_state_id);
512 /*:529*//*595:*/
513 #line 5289 "./marpa.w"
514 
515 gint marpa_AHFA_state_transitions(struct marpa_g*g,
516 Marpa_AHFA_State_ID AHFA_state_id,
517 GArray*result);
518 /*:595*//*598:*/
519 #line 5323 "./marpa.w"
520 
521 /*:598*//*599:*/
522 #line 5324 "./marpa.w"
523 
524 Marpa_AHFA_State_ID marpa_AHFA_state_empty_transition(struct marpa_g*g,
525 Marpa_AHFA_State_ID AHFA_state_id);
526 /*:599*//*605:*/
527 #line 5369 "./marpa.w"
528 
529 struct marpa_r*marpa_r_new(struct marpa_g*g);
530 /*:605*//*608:*/
531 #line 5403 "./marpa.w"
532 
533 void marpa_r_free(struct marpa_r*r);
534 
535 /*:608*//*615:*/
536 #line 5424 "./marpa.w"
537 
538 gint marpa_r_id(struct marpa_r*r);
539 
540 /*:615*//*622:*/
541 #line 5464 "./marpa.w"
542 
543 Marpa_Phase marpa_phase(struct marpa_r*r);
544 /*:622*//*627:*/
545 #line 5487 "./marpa.w"
546 
547 guint marpa_current_earleme(struct marpa_r*r);
548 /*:627*//*633:*/
549 #line 5509 "./marpa.w"
550 
551 guint marpa_earley_item_warning_threshold(struct marpa_r*r);
552 /*:633*//*635:*/
553 #line 5515 "./marpa.w"
554 
555 gboolean marpa_earley_item_warning_threshold_set(struct marpa_r*r,guint threshold);
556 /*:635*//*639:*/
557 #line 5536 "./marpa.w"
558 
559 guint marpa_furthest_earleme(struct marpa_r*r);
560 /*:639*//*658:*/
561 #line 5629 "./marpa.w"
562 
563 gint marpa_terminals_expected(struct marpa_r*r,GArray*result);
564 /*:658*//*671:*/
565 #line 5718 "./marpa.w"
566 
567 gboolean marpa_is_use_leo(struct marpa_r*r);
568 /*:671*//*674:*/
569 #line 5739 "./marpa.w"
570 
571 gboolean marpa_is_use_leo_set(struct marpa_r*r,gboolean value);
572 
573 /*:674*//*677:*/
574 #line 5758 "./marpa.w"
575 
576 gboolean marpa_is_exhausted(struct marpa_r*r);
577 /*:677*//*689:*/
578 #line 5827 "./marpa.w"
579 
580 union marpa_context_value*marpa_r_context_value(struct marpa_r*r,const gchar*key);
581 
582 /*:689*//*698:*/
583 #line 5863 "./marpa.w"
584 
585 Marpa_Error_ID marpa_r_error(const struct marpa_r*r);
586 
587 /*:698*//*720:*/
588 #line 5995 "./marpa.w"
589 
590 Marpa_Earley_Set_ID marpa_trace_earley_set(struct marpa_r*r);
591 /*:720*//*722:*/
592 #line 6010 "./marpa.w"
593 
594 Marpa_Earley_Set_ID marpa_latest_earley_set(struct marpa_r*r);
595 /*:722*//*724:*/
596 #line 6028 "./marpa.w"
597 
598 Marpa_Earleme marpa_earleme(struct marpa_r*r,Marpa_Earley_Set_ID set_id);
599 /*:724*//*727:*/
600 #line 6053 "./marpa.w"
601 
602 gint marpa_earley_set_size(struct marpa_r*r,Marpa_Earley_Set_ID set_id);
603 /*:727*//*752:*/
604 #line 6314 "./marpa.w"
605 
606 Marpa_Earleme
607 marpa_earley_set_trace(struct marpa_r*r,Marpa_Earley_Set_ID set_id);
608 /*:752*//*755:*/
609 #line 6353 "./marpa.w"
610 
611 Marpa_AHFA_State_ID
612 marpa_earley_item_trace(struct marpa_r*r,
613 Marpa_Earley_Item_ID item_id);
614 /*:755*//*787:*/
615 #line 6698 "./marpa.w"
616 
617 Marpa_Symbol_ID
618 marpa_postdot_symbol_trace(struct marpa_r*r,
619 Marpa_Symbol_ID symid);
620 /*:787*//*790:*/
621 #line 6736 "./marpa.w"
622 
623 Marpa_Symbol_ID
624 marpa_first_postdot_item_trace(struct marpa_r*r);
625 /*:790*//*792:*/
626 #line 6769 "./marpa.w"
627 
628 Marpa_Symbol_ID
629 marpa_next_postdot_item_trace(struct marpa_r*r);
630 /*:792*//*831:*/
631 #line 7182 "./marpa.w"
632 
633 Marpa_Symbol_ID marpa_first_token_link_trace(struct marpa_r*r);
634 /*:831*//*835:*/
635 #line 7227 "./marpa.w"
636 
637 Marpa_Symbol_ID marpa_next_token_link_trace(struct marpa_r*r);
638 /*:835*//*838:*/
639 #line 7259 "./marpa.w"
640 
641 Marpa_Symbol_ID marpa_first_completion_link_trace(struct marpa_r*r);
642 /*:838*//*842:*/
643 #line 7303 "./marpa.w"
644 
645 Marpa_Symbol_ID marpa_next_completion_link_trace(struct marpa_r*r);
646 /*:842*//*845:*/
647 #line 7337 "./marpa.w"
648 
649 Marpa_Symbol_ID marpa_first_leo_link_trace(struct marpa_r*r);
650 /*:845*//*849:*/
651 #line 7384 "./marpa.w"
652 
653 Marpa_Symbol_ID marpa_next_leo_link_trace(struct marpa_r*r);
654 /*:849*//*855:*/
655 #line 7441 "./marpa.w"
656 
657 Marpa_AHFA_State_ID marpa_source_predecessor_state(struct marpa_r*r);
658 /*:855*//*857:*/
659 #line 7483 "./marpa.w"
660 
661 Marpa_Symbol_ID marpa_source_token(struct marpa_r*r,gpointer*value_p);
662 /*:857*//*860:*/
663 #line 7516 "./marpa.w"
664 
665 Marpa_Symbol_ID marpa_source_leo_transition_symbol(struct marpa_r*r);
666 /*:860*//*863:*/
667 #line 7558 "./marpa.w"
668 
669 Marpa_Earley_Set_ID marpa_source_middle(struct marpa_r*r);
670 /*:863*//*892:*/
671 #line 7864 "./marpa.w"
672 gboolean marpa_start_input(struct marpa_r*r);
673 /*:892*//*900:*/
674 #line 7948 "./marpa.w"
675 gboolean marpa_alternative(struct marpa_r*r,
676 Marpa_Symbol_ID token_id,gpointer value,gint length);
677 /*:900*//*918:*/
678 #line 8092 "./marpa.w"
679 
680 Marpa_Earleme marpa_earleme_complete(struct marpa_r*r);
681 /*:918*//*1089:*/
682 #line 10389 "./marpa.w"
683 
684 Marpa_Symbol_ID marpa_and_node_token(struct marpa_r*r,
685 Marpa_And_Node_ID and_node_id,gpointer*value_p);
686 /*:1089*//*1103:*/
687 #line 10465 "./marpa.w"
688 
689 gint marpa_bocage_new(struct marpa_r*r,Marpa_Rule_ID rule_id,Marpa_Earley_Set_ID ordinal);
690 /*:1103*//*1118:*/
691 #line 10708 "./marpa.w"
692 
693 gint marpa_bocage_free(struct marpa_r*r);
694 /*:1118*//*1144:*/
695 #line 10919 "./marpa.w"
696 
697 int marpa_tree_new(struct marpa_r*r);
698 /*:1144*//*1159:*/
699 #line 11171 "./marpa.w"
700 
701 gint marpa_parse_count(struct marpa_r*r);
702 /*:1159*//*1173:*/
703 #line 11292 "./marpa.w"
704 
705 gint marpa_and_order_set(struct marpa_r*r,
706 Marpa_Or_Node_ID or_node_id,
707 Marpa_And_Node_ID*and_node_ids,
708 gint length);
709 /*:1173*//*1179:*/
710 #line 11422 "./marpa.w"
711 
712 Marpa_And_Node_ID marpa_and_order_get(struct marpa_r*r,Marpa_Or_Node_ID or_node_id,gint ix);
713 /*:1179*//*1208:*/
714 #line 11707 "./marpa.w"
715 
716 int marpa_val_new(struct marpa_r*r);
717 /*:1208*//*1215:*/
718 #line 11805 "./marpa.w"
719 
720 gint marpa_val_trace(struct marpa_r*r,gint flag);
721 /*:1215*//*1217:*/
722 #line 11819 "./marpa.w"
723 
724 Marpa_Fork_ID marpa_val_fork(struct marpa_r*r);
725 /*:1217*//*1219:*/
726 #line 11832 "./marpa.w"
727 
728 Marpa_Fork_ID marpa_val_event(struct marpa_r*r,Marpa_Event*event);
729 /*:1219*//*1386:*/
730 #line 13323 "./marpa.w"
731 
732 void marpa_g_message_callback_set(struct marpa_g*g,Marpa_G_Message_Callback*cb);
733 void marpa_g_message_callback_arg_set(struct marpa_g*g,gpointer cb_arg);
734 gpointer marpa_g_message_callback_arg(struct marpa_g*g);
735 /*:1386*//*1394:*/
736 #line 13360 "./marpa.w"
737 
738 void marpa_r_message_callback_set(struct marpa_r*r,Marpa_R_Message_Callback*cb);
739 void marpa_r_message_callback_arg_set(struct marpa_r*r,gpointer cb_arg);
740 gpointer marpa_r_message_callback_arg(struct marpa_r*r);
741 /*:1394*/
742 #line 669 "./marpa.w"
743 
744 
745 /*:39*/
746 #line 13629 "./marpa.w"
747 
748 #endif __MARPA_H__
749 
750 /*:1414*/
751