Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Parsing
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Implementation === A simple parser implementation reads the entire input file, performs an intermediate computation or translation, and then writes the entire output file, such as in-memory [[multi-pass compiler]]s. Alternative parser implementation approaches: * '''push parsers''' call registered handlers ([[Callback (computer programming)|callbacks]]) as soon as the parser detects relevant tokens in the input stream. A push parser may skip parts of the input that are irrelevant (an example is [[Expat (software)|Expat]]). * '''pull parsers''', such as parsers that are typically used by [[compilers]] front-ends by "pulling" input text. * '''incremental parsers''' (such as incremental [[chart parser]]s) that, as the text of the file is edited by a user, does not need to completely re-parse the entire file. * '''Active''' versus '''passive parsers'''<ref> Patrick Blackburn and Kristina Striegnitz. [https://cs.union.edu/~striegnk/courses/nlp-with-prolog/html/ "Natural Language Processing Techniques in Prolog"]. </ref><ref> Song-Chun Zhu. [http://www.stat.ucla.edu/~sczhu/Courses/UCLA/Stat_232B/Handouts/Ch4_chart_parsing.pdf "Classic Parsing Algorithms"]. </ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)