DevBooststLogotudLogorewerseLogo modelplexLogo
crimsonBG
EMFText
The fastest way to refinable, durable and evolution-resistant textual syntaxes for EMF models!

PL/0: A minimalistic programming language

PL/0 is an educational language invented by Niklaus Wirth in his book "Compiler Construction". Therein PL/0 is presented as a subset of Pascal. There are some restrictions namely that procedures aren't parameterizable and the variable's and constant's type are implicitely and only int. The syntax used here has two small extensions to the original one presented in EBNF on Wikipedia.

Those extensions are:

  • addition of a head in every program containing its name
 program = "program" ident block "." .
  • addition of an else part
 ifStatement = "if" condition "then" statement "else" statement

Besides those structural additions, every keyword here can be typed in both all uppercase or all lowercase letters.

This language was contributed by Jan Reimann.

Contents

Screenshot

EMFText Language PL0.gif

CS Specification

pl0.cs

Metamodel

pl0.ecore

pl0.genmodel

Plugins

org.emftext.language.pl0

org.emftext.language.pl0.resource.pl0

SK