Pep and Nom

home | documentation | download | blog | all blog posts

index.html
This folder contains information about the Nom language as it is defined in compile.pss
nom.syntax.begin.html
The begin block: nom code that is executed once at the beginning of the script.
nom.syntax.block.html
Nom blocks : grouping statements together to create grammar rule reductions.
nom.syntax.classes.html
Character classes are written [:space:] [:alnum:] etc. The pep the c language implementation of the parse machine and language uses plain ctype.h character classes as a way of grouping characters.
nom.syntax.comments.html
Including comments in NOM scripts.
nom.syntax.errorcheck.html
This document outlines or sketches how to error check the nom syntax. It will try to use new state-of-the-art error checking techniques that I have discovered (like pushing an error* token to reduce the verbosity of the script) and it will be a “green-fields” NOM parser meaning that I will not base the code on previous translators or compilers. This will allow me to use things that I have learnt since about 2019 when I first managed to code a decent implementation of the PEP engine and the NOM language.
nom.syntax.negation.html
About the nom negation operator !
nom.syntax.parselabel.html
This label is used to mark the start of the parsing and “compiling” phase of the nom script. The section before the parse> label is the en.wikipedia.org/wiki/lexical_analysis phase of the script where text patterns are turned into grammar tokens.
nom.syntax.quotes.html
Both single and double quotes may be used in scripts and they have exactly the same role in the syntax of the nom language. But quoted text which starts with a double quote (") must end with a double quote, and the same rules applies to single quotes.
nom.syntax.regex.html
This could be the shortest document here: There are no regular expressions in the nom language and the pep virtual machine . This may seems a strange and self-defeating design decision, but I believe it is not.
nom.syntax.semicolon.html
The role of the semicolon ; in syntax of the NOM language.
nom.syntax.statement.html
A statement is a command followed by one or more parameters (quoted text) and a semi-colon. The parameters are not separated by commas.
nom.syntax.tests.html
Information about block 'tests' in the nom language.
nom.syntax.token.html
Grammar parse tokens in the NOM language.
nom.syntax.html
An overview of the syntax of the NOM parsing language.
nom.syntax.whitespace.html
The role of whitespace in the syntax of the NOM language.
test.pss
read; [:alnum:] { while [:alnum:]; put; clear; add “word*"; push; .reparse” } parse> !"" { put; clear; add “! Incorrect character :” ; get; add “\n";” add “! (only alpha-numeric allowed) \n” ; print; quit; }