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