Knowledge

Scannerless parsing

Source 📝

66: 168: 263: 25: 493:
Since the lexical scanning and syntactic parsing are combined, the resulting parser tends to be more complicated and thus harder to understand and debug. The same will hold for the associated grammar, if a grammar is used to generate the
428:
Dividing processing into a lexer followed by a parser is more modular; scannerless parsing is primarily used when a clear lexer–parser distinction is unneeded or unwanted. Examples of when this is appropriate include
586:
compiler for writing and implementing compilers. Has token rules as part of its language. Rules in CWIC were compiled into boolean functions returning success or failure.
401:) performs tokenization (breaking a stream of characters into words) and parsing (arranging the words into phrases) in a single step, rather than breaking it up into a 178: 287:
of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be
648: 83: 38: 711: 376: 358: 149: 52: 339: 236: 130: 929: 311: 208: 102: 934: 497:
The resulting parser tends to be significantly less efficient than a lexer-parser pipeline with regard to both time and memory.
418: 193: 87: 318: 215: 109: 554:
Laja is a two-phase scannerless parser generator with support for mapping the grammar rules into objects, written in Java.
284: 960: 939: 562: 508: 446: 325: 222: 116: 877: 779: 544: 525: 280: 296: 307: 204: 98: 774: 746: 477: 44: 604:. Some lexerless parsers handle the entire class of context-free languages, which is closed under composition. 512: 882: 825: 784: 538: 76: 676: 414: 623: 907: 887: 751: 704: 597: 919: 273: 596:
This is because parsing at the character level makes the language recognized by the parser a single
892: 830: 808: 681: 402: 856: 516: 442: 332: 292: 229: 123: 902: 846: 763: 644: 288: 468:"Token classification" is unneeded which removes the need for design accommodations such as " 798: 728: 697: 634: 601: 422: 406: 390: 548: 600:
defined on characters, as opposed to a context-free language of sequences of strings in
469: 954: 820: 736: 473: 851: 668: 583: 459: 639: 897: 803: 185: 167: 65: 914: 813: 558: 532: 793: 741: 577: 483:
Grammars can be compositional (can be merged without human intervention)
438: 720: 633:. Lecture Notes in Computer Science. Vol. 5501. pp. 126–141. 571: 689: 410: 16:
An algorithm that performs tokenization and parsing in a single step
421:
is scannerless if it uses a single formalism to express both the
279:
Please help to demonstrate the notability of the topic by citing
580:
Like META II also is scannerless having builtin lexer functions.
434: 693: 430: 256: 161: 59: 18: 522:
JSGLR, a pure Java implementation of SGLR, also based on SDF.
622:
Economopoulos, Giorgios; Klint, Paul; Vinju, Jurgen (2009).
568:
PyParsing is a scannerless parser written in pure Python.
425:(word level) and phrase level structure of the language. 551:(a superset of context-free grammars), written in Java. 189: 541:
allows for both scannerless and scanner-based parsing.
561:
feature of the general purpose programming language
870: 839: 762: 727: 90:. Unsourced material may be challenged and removed. 465:Non-regular lexical structure is handled easily 531:dparser generates ANSI C code for scannerless 705: 8: 675:. The Netherlands: University of Amsterdam. 194:introducing citations to additional sources 53:Learn how and when to remove these messages 712: 698: 690: 680: 638: 377:Learn how and when to remove this message 359:Learn how and when to remove this message 150:Learn how and when to remove this message 184:Relevant discussion may be found on the 614: 574:Has built in token parsers functions. 7: 88:adding citations to reliable sources 673:Scannerless Generalized-LR Parsing 14: 528:supports character-level parsing. 507:SGLR is a parser for the modular 34:This article has multiple issues. 930:History of compiler construction 624:"Faster Scannerless GLR Parsing" 261: 177:relies largely or entirely on a 166: 64: 23: 935:Comparison of parser generators 75:needs additional citations for 42:or discuss these issues on the 519:program transformation system. 441:, simple application-specific 1: 640:10.1007/978-3-642-00722-4_10 547:is a scannerless parser for 274:general notability guideline 940:Operator-precedence grammar 509:Syntax Definition Formalism 977: 511:(SDF), and is part of the 281:reliable secondary sources 270:The topic of this article 515:Meta-Environment and the 272:may not meet Knowledge's 883:Definite clause grammar 888:Deterministic parsing 631:Compiler Construction 598:context-free language 308:"Scannerless parsing" 205:"Scannerless parsing" 99:"Scannerless parsing" 476:(such as "while" in 190:improve this article 84:improve this article 925:Scannerless parsing 893:Dynamic programming 443:scripting languages 395:scannerless parsing 961:Parsing algorithms 721:Parsing algorithms 276: 948: 947: 747:Recursive descent 650:978-3-642-00721-7 602:regular languages 399:lexerless parsing 387: 386: 379: 369: 368: 361: 343: 271: 255: 254: 240: 160: 159: 152: 134: 57: 968: 903:Parser generator 826:Recursive ascent 714: 707: 700: 691: 686: 684: 655: 654: 642: 628: 619: 549:boolean grammars 419:language grammar 391:computer science 382: 375: 364: 357: 353: 350: 344: 342: 301: 265: 264: 257: 250: 247: 241: 239: 198: 170: 162: 155: 148: 144: 141: 135: 133: 92: 68: 60: 49: 27: 26: 19: 976: 975: 971: 970: 969: 967: 966: 965: 951: 950: 949: 944: 866: 835: 758: 723: 718: 671:(August 1997). 667: 664: 662:Further reading 659: 658: 651: 626: 621: 620: 616: 611: 593: 504: 502:Implementations 490: 472:" and language 455: 383: 372: 371: 370: 365: 354: 348: 345: 302: 300: 278: 266: 262: 251: 245: 242: 199: 197: 183: 171: 156: 145: 139: 136: 93: 91: 81: 69: 28: 24: 17: 12: 11: 5: 974: 972: 964: 963: 953: 952: 946: 945: 943: 942: 937: 932: 927: 922: 917: 912: 911: 910: 900: 895: 890: 885: 880: 874: 872: 871:Related topics 868: 867: 865: 864: 861: 860: 859: 849: 843: 841: 837: 836: 834: 833: 828: 823: 818: 817: 816: 811: 806: 801: 791: 790: 789: 788: 787: 777: 768: 766: 760: 759: 757: 756: 755: 754: 752:Tail recursive 744: 739: 733: 731: 725: 724: 719: 717: 716: 709: 702: 694: 688: 687: 682:10.1.1.37.7828 663: 660: 657: 656: 649: 613: 612: 610: 607: 606: 605: 592: 589: 588: 587: 581: 575: 569: 566: 555: 552: 542: 536: 529: 523: 520: 503: 500: 499: 498: 495: 489: 486: 485: 484: 481: 474:reserved words 470:the lexer hack 466: 463: 454: 451: 409:followed by a 385: 384: 367: 366: 269: 267: 260: 253: 252: 188:. Please help 174: 172: 165: 158: 157: 72: 70: 63: 58: 32: 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 973: 962: 959: 958: 956: 941: 938: 936: 933: 931: 928: 926: 923: 921: 918: 916: 913: 909: 906: 905: 904: 901: 899: 896: 894: 891: 889: 886: 884: 881: 879: 876: 875: 873: 869: 862: 858: 855: 854: 853: 850: 848: 845: 844: 842: 838: 832: 829: 827: 824: 822: 819: 815: 812: 810: 807: 805: 802: 800: 797: 796: 795: 792: 786: 785:Shunting-yard 783: 782: 781: 778: 776: 773: 772: 770: 769: 767: 765: 761: 753: 750: 749: 748: 745: 743: 740: 738: 735: 734: 732: 730: 726: 722: 715: 710: 708: 703: 701: 696: 695: 692: 683: 678: 674: 670: 666: 665: 661: 652: 646: 641: 636: 632: 625: 618: 615: 608: 603: 599: 595: 594: 590: 585: 582: 579: 576: 573: 570: 567: 564: 560: 559:Raku grammars 556: 553: 550: 546: 543: 540: 537: 534: 530: 527: 524: 521: 518: 514: 510: 506: 505: 501: 496: 492: 491: 488:Disadvantages 487: 482: 479: 475: 471: 467: 464: 461: 457: 456: 452: 450: 448: 444: 440: 436: 432: 426: 424: 420: 416: 412: 408: 404: 400: 397:(also called 396: 392: 381: 378: 363: 360: 352: 341: 338: 334: 331: 327: 324: 320: 317: 313: 310: –  309: 305: 304:Find sources: 298: 294: 290: 286: 282: 275: 268: 259: 258: 249: 246:December 2016 238: 235: 231: 228: 224: 221: 217: 214: 210: 207: –  206: 202: 201:Find sources: 195: 191: 187: 181: 180: 179:single source 175:This article 173: 169: 164: 163: 154: 151: 143: 140:December 2016 132: 129: 125: 122: 118: 115: 111: 108: 104: 101: –  100: 96: 95:Find sources: 89: 85: 79: 78: 73:This article 71: 67: 62: 61: 56: 54: 47: 46: 41: 40: 35: 30: 21: 20: 924: 840:Mixed, other 831:Shift-reduce 672: 630: 617: 460:metalanguage 427: 415:concurrently 413:, executing 398: 394: 388: 373: 355: 346: 336: 329: 322: 315: 303: 243: 233: 226: 219: 212: 200: 176: 146: 137: 127: 120: 113: 106: 94: 82:Please help 77:verification 74: 50: 43: 37: 36:Please help 33: 898:Memoization 863:Statistical 857:Left corner 814:Generalized 771:Precedence 533:GLR parsers 517:Stratego/XT 285:independent 915:Parse tree 847:Combinator 804:Look-ahead 669:Visser, E. 609:References 453:Advantages 437:grammars, 319:newspapers 293:redirected 216:newspapers 110:newspapers 39:improve it 809:Canonical 764:Bottom-up 677:CiteSeerX 578:TREE-META 462:is needed 458:Only one 439:makefiles 349:June 2023 283:that are 186:talk page 45:talk page 955:Category 780:Operator 729:Top-down 403:pipeline 572:META II 513:ASF+SDF 494:parser. 433:, most 423:lexical 333:scholar 297:deleted 230:scholar 124:scholar 799:Simple 775:Simple 737:Earley 679:  647:  539:Spirit 445:, and 411:parser 335:  328:  321:  314:  306:  289:merged 232:  225:  218:  211:  203:  126:  119:  112:  105:  97:  852:Chart 627:(PDF) 591:Notes 407:lexer 405:of a 340:JSTOR 326:books 295:, or 237:JSTOR 223:books 131:JSTOR 117:books 908:LALR 645:ISBN 584:CWIC 563:Raku 557:The 447:Raku 435:wiki 417:. A 312:news 209:news 103:news 920:AST 878:PEG 821:CYK 635:doi 545:SBP 526:TXL 431:TeX 389:In 192:by 86:by 957:: 794:LR 742:LL 643:. 629:. 449:. 393:, 291:, 48:. 713:e 706:t 699:v 685:. 653:. 637:: 565:. 535:. 480:) 478:C 380:) 374:( 362:) 356:( 351:) 347:( 337:· 330:· 323:· 316:· 299:. 277:. 248:) 244:( 234:· 227:· 220:· 213:· 196:. 182:. 153:) 147:( 142:) 138:( 128:· 121:· 114:· 107:· 80:. 55:) 51:(

Index

improve it
talk page
Learn how and when to remove these messages

verification
improve this article
adding citations to reliable sources
"Scannerless parsing"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message

single source
talk page
improve this article
introducing citations to additional sources
"Scannerless parsing"
news
newspapers
books
scholar
JSTOR
general notability guideline
reliable secondary sources
independent
merged
redirected

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.