<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Syntax Diagrams for APEXlang	</title>
	<atom:link href="https://www.salvis.com/blog/2026/06/19/syntax-diagrams-for-apexlang/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.salvis.com/blog/2026/06/19/syntax-diagrams-for-apexlang/</link>
	<description>Database-centric development</description>
	<lastBuildDate>Fri, 19 Jun 2026 19:33:50 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://www.salvis.com/blog/2026/06/19/syntax-diagrams-for-apexlang/feed/"/>
	<item>
		<title>
		By: Friedhold Matz		</title>
		<link>https://www.salvis.com/blog/2026/06/19/syntax-diagrams-for-apexlang/#comment-286887</link>

		<dc:creator><![CDATA[Friedhold Matz]]></dc:creator>
		<pubDate>Fri, 19 Jun 2026 19:33:50 +0000</pubDate>
		<guid isPermaLink="false">https://www.salvis.com/blog/?p=19515#comment-286887</guid>

					<description><![CDATA[Here is Prof. Niklaus Wirth&#039;s Modula-2 language definition incl. the EBNF of Modula-2:
https://www.research-collection.ethz.ch/bitstreams/289cc859-94e5-4758-8786-ac05437780a2/download
and about the syntax notation: https://grokipedia.com/page/Wirth_syntax_notation
A good paper about EBNF: https://www.cs.cmu.edu/~pattis/misc/ebnf2.pdf .]]></description>
			<content:encoded><![CDATA[<p>Here is Prof. Niklaus Wirth&#8217;s Modula-2 language definition incl. the EBNF of Modula-2:<br />
<a href="https://www.research-collection.ethz.ch/bitstreams/289cc859-94e5-4758-8786-ac05437780a2/download" rel="nofollow ugc">https://www.research-collection.ethz.ch/bitstreams/289cc859-94e5-4758-8786-ac05437780a2/download</a><br />
and about the syntax notation: <a href="https://grokipedia.com/page/Wirth_syntax_notation" rel="nofollow ugc">https://grokipedia.com/page/Wirth_syntax_notation</a><br />
A good paper about EBNF: <a href="https://www.cs.cmu.edu/~pattis/misc/ebnf2.pdf" rel="nofollow ugc">https://www.cs.cmu.edu/~pattis/misc/ebnf2.pdf</a> .</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Philipp Salvisberg		</title>
		<link>https://www.salvis.com/blog/2026/06/19/syntax-diagrams-for-apexlang/#comment-286886</link>

		<dc:creator><![CDATA[Philipp Salvisberg]]></dc:creator>
		<pubDate>Fri, 19 Jun 2026 16:53:01 +0000</pubDate>
		<guid isPermaLink="false">https://www.salvis.com/blog/?p=19515#comment-286886</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.salvis.com/blog/2026/06/19/syntax-diagrams-for-apexlang/#comment-286885&quot;&gt;Friedhold Matz&lt;/a&gt;.

&lt;blockquote&gt;
Perhaps a good approach would be to provide EBNF converters as Python libraries for various use cases.
&lt;/blockquote&gt;

To do this, we need a complete list of EBNFs with full specifications. 
I tried to find the Wirth EBNF specification, but was unsuccessful. 
In my opinion, a parser is required for each EBNF to produce reliable transpiler results.
The approach I took in this case is somewhat hacky, but it works for the current version of apexlang.ebnf.

Please let me know once you have found (provided?) such a library. ;-)]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.salvis.com/blog/2026/06/19/syntax-diagrams-for-apexlang/#comment-286885">Friedhold Matz</a>.</p>
<blockquote><p>
Perhaps a good approach would be to provide EBNF converters as Python libraries for various use cases.
</p></blockquote>
<p>To do this, we need a complete list of EBNFs with full specifications.<br />
I tried to find the Wirth EBNF specification, but was unsuccessful.<br />
In my opinion, a parser is required for each EBNF to produce reliable transpiler results.<br />
The approach I took in this case is somewhat hacky, but it works for the current version of apexlang.ebnf.</p>
<p>Please let me know once you have found (provided?) such a library. ;-)</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Friedhold Matz		</title>
		<link>https://www.salvis.com/blog/2026/06/19/syntax-diagrams-for-apexlang/#comment-286885</link>

		<dc:creator><![CDATA[Friedhold Matz]]></dc:creator>
		<pubDate>Fri, 19 Jun 2026 16:17:01 +0000</pubDate>
		<guid isPermaLink="false">https://www.salvis.com/blog/?p=19515#comment-286885</guid>

					<description><![CDATA[I still remember when Prof. Niklaus Wirth defined Modula-2 using EBNF; that marked a significant breakthrough and an attempt to standardise language specifications. Nowadays, there are many representation formats for EBNF—for verifiers, compiler generators, parser tools, railroad diagrams, and so on—as well as an ISO standard for EBNF: https://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf. 
Perhaps a good approach would be to provide EBNF converters as Python libraries for various use cases. 
In any case, Oracle has taken a promising path with EBNF for APEXlang—much like they did for PGQL (https://pgql-lang.org/).]]></description>
			<content:encoded><![CDATA[<p>I still remember when Prof. Niklaus Wirth defined Modula-2 using EBNF; that marked a significant breakthrough and an attempt to standardise language specifications. Nowadays, there are many representation formats for EBNF—for verifiers, compiler generators, parser tools, railroad diagrams, and so on—as well as an ISO standard for EBNF: <a href="https://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf" rel="nofollow ugc">https://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf</a>.<br />
Perhaps a good approach would be to provide EBNF converters as Python libraries for various use cases.<br />
In any case, Oracle has taken a promising path with EBNF for APEXlang—much like they did for PGQL (<a href="https://pgql-lang.org/" rel="nofollow ugc">https://pgql-lang.org/</a>).</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
