<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Chart_parser</id>
	<title>Chart parser - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Chart_parser"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Chart_parser&amp;action=history"/>
	<updated>2026-05-05T20:51:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Chart_parser&amp;diff=3291227&amp;oldid=prev</id>
		<title>~2025-32570-03: /* Types of chart parsers */</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Chart_parser&amp;diff=3291227&amp;oldid=prev"/>
		<updated>2025-11-10T12:04:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Types of chart parsers&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:04, 10 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A common approach is to use a variant of the [[Viterbi algorithm]]. The [[Earley parser]] is a type of chart parser mainly used for parsing in [[computational linguistics]], named for its inventor. Another chart parsing algorithm is the [[Cocke-Younger-Kasami algorithm|Cocke-Younger-Kasami]] (CYK) algorithm.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A common approach is to use a variant of the [[Viterbi algorithm]]. The [[Earley parser]] is a type of chart parser mainly used for parsing in [[computational linguistics]], named for its inventor. Another chart parsing algorithm is the [[Cocke-Younger-Kasami algorithm|Cocke-Younger-Kasami]] (CYK) algorithm.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Chart parsers can also be used for parsing computer languages.  Earley parsers in particular have been used in [[compiler-compiler]]s where their ability to parse using arbitrary [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Context&lt;/del&gt;-free grammars]] eases the task of writing the grammar for a particular language.  However their lower efficiency has led to people avoiding them for most compiler work.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Chart parsers can also be used for parsing computer languages.  Earley parsers in particular have been used in [[compiler-compiler]]s where their ability to parse using arbitrary [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;context&lt;/ins&gt;-free grammars]] eases the task of writing the grammar for a particular language.  However their lower efficiency has led to people avoiding them for most compiler work.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In bidirectional chart parsing, edges of the chart are marked with a direction, either forwards or backwards, and rules are enforced on the direction in which edges must point in order to be combined into further edges.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In bidirectional chart parsing, edges of the chart are marked with a direction, either forwards or backwards, and rules are enforced on the direction in which edges must point in order to be combined into further edges.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>~2025-32570-03</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Chart_parser&amp;diff=71009&amp;oldid=prev</id>
		<title>imported&gt;Citation bot: Removed parameters. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Parsing algorithms | #UCB_Category 25/25</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Chart_parser&amp;diff=71009&amp;oldid=prev"/>
		<updated>2024-11-29T12:44:58Z</updated>

		<summary type="html">&lt;p&gt;Removed parameters. | &lt;a href=&quot;/wiki143/index.php?title=En:WP:UCB&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:UCB (page does not exist)&quot;&gt;Use this bot&lt;/a&gt;. &lt;a href=&quot;/wiki143/index.php?title=En:WP:DBUG&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:DBUG (page does not exist)&quot;&gt;Report bugs&lt;/a&gt;. | Suggested by Dominic3203 | &lt;a href=&quot;/wiki143/index.php?title=Category:Parsing_algorithms&quot; title=&quot;Category:Parsing algorithms&quot;&gt;Category:Parsing algorithms&lt;/a&gt; | #UCB_Category 25/25&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Type of parser for ambiguous grammars}}&lt;br /&gt;
{{More citations needed|date=December 2009}}&lt;br /&gt;
In [[computer science]], a &amp;#039;&amp;#039;&amp;#039;chart parser&amp;#039;&amp;#039;&amp;#039; is a type of [[parsing|parser]] suitable for [[ambiguous grammar]]s (including grammars of [[natural language]]s). It uses the [[dynamic programming]] approach—partial hypothesized results are stored in a structure called a chart and can be re-used. This eliminates [[backtracking]] and prevents a [[combinatorial explosion]].&lt;br /&gt;
&lt;br /&gt;
Chart parsing is generally credited to [[Martin Kay]].&amp;lt;ref&amp;gt;{{cite web |url=http://webdocs.cs.ualberta.ca/~lindek/650/papers/chartParsing.pdf |title=Chart Parsing |accessdate=20 November 2011 |url-status=dead |archiveurl=https://web.archive.org/web/20150221021038/http://webdocs.cs.ualberta.ca/~lindek/650/papers/chartParsing.pdf |archivedate=21 February 2015 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Types of chart parsers ==&lt;br /&gt;
A common approach is to use a variant of the [[Viterbi algorithm]]. The [[Earley parser]] is a type of chart parser mainly used for parsing in [[computational linguistics]], named for its inventor. Another chart parsing algorithm is the [[Cocke-Younger-Kasami algorithm|Cocke-Younger-Kasami]] (CYK) algorithm.&lt;br /&gt;
&lt;br /&gt;
Chart parsers can also be used for parsing computer languages.  Earley parsers in particular have been used in [[compiler-compiler]]s where their ability to parse using arbitrary [[Context-free grammars]] eases the task of writing the grammar for a particular language.  However their lower efficiency has led to people avoiding them for most compiler work.&lt;br /&gt;
&lt;br /&gt;
In bidirectional chart parsing, edges of the chart are marked with a direction, either forwards or backwards, and rules are enforced on the direction in which edges must point in order to be combined into further edges.&lt;br /&gt;
&lt;br /&gt;
In incremental chart parsing, the chart is constructed incrementally as the text is edited by the user, with each change to the text resulting in the minimal possible corresponding change to the chart.&lt;br /&gt;
&lt;br /&gt;
Chart parsers are distinguished between [[top-down parsing|top-down]] and [[bottom-up parsing|bottom-up]], as well as active and passive.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Brute-force search]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://bishoy.github.io/ArcExtensionAlgorithm/ Bottom-up Chart parsing Web Implementation]&lt;br /&gt;
&lt;br /&gt;
{{Parsers}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Chart Parser}}&lt;br /&gt;
[[Category:Natural language parsing]]&lt;br /&gt;
[[Category:Parsing algorithms]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Citation bot</name></author>
	</entry>
</feed>