The monkey knows which tree it is climbing up. Colombian saying
This folder contains some example scripts in the ℕ𝕠𝕞 script language. Scripts have the file extension “.pss”. These examples can be run using the interpreter and debugger (the “pep” interpreter) or by translating to rust | dart | perl | lua | go | java | javascript | ruby | python | tcl | c and then (maybe compiling and) running.
/doc/doc.dir.index.html contains a list of scripts and documents
in this folder.
Documentation for the
ℕ𝕠𝕞 language and
ℙ𝕖𝕡 virtual machine is
in the /doc/ folder.
The scripts which begin with ro. are solutions (or attempted solutions) to problems on the www.rosettacode.org site. For example the script ro.balanced.brackets.pss solves the balanced_brackets problem .
pep -f eg/script.pss <inputfile>
# or
pep -f eg/script.pss -i <inputtext>
Examples can be translated into rust | dart | perl | lua | go | java | javascript | ruby | python | tcl | c by running the appropriate translation script.
pep -f tr/translate.go.pss eg/script.pss > script.go
go build script.go
echo "<input>" | ./script
Also the script /eg/nom.to.pss will translate a script with a simple
prompt.
pep -f nom.to.pss -i 'translate script.pss to rust'
Some scripts also have self-translation (for example /eg/json.check.pss
and /eg/maths.tolatex.pss and /eg/text.tohtml.pss)
/eg/xml.parse.pss is an
XML parser and error checker
/eg/nom.reference.syntax.pss is a syntax checker for the
ℕ𝕠𝕞
language which provides precise error messages.
/eg/json.check.pss checks the syntax of a
JSON text data file.
/eg/text.tohtml.pss transforms a “plain-text” (minimal mark-up) document
into html
/eg/sed.tojava.pss transpiles a gnu
SED script into the
JAVA language
(branch syntax with 't' etc is not supported because java has not [goto]
statement )
/eg/maths.parse.pss parses and error checks arithmetic infix
expressions.
/eg/maths.tolatex.pss transforms arithmetic, symbolic and logical
expressions into printable
LATEX formulas.
/eg/exp.tolisp.pss transforms an arithmetic infix expression into
LISP This is a simpler and older version of the 2 scripts above
/eg/toybnf.pss translates simple
BNF type grammar rules into
ℕ𝕠𝕞 scripts. This is the basis for a bnf style parsing
and compiling language
/eg/natural.language.pss implements a limited natural language (English)
parser. I plan to expand this with a better 'phrase grammar'
/eg/tocfoot.tohtml.pss demonstrates creating a table of contents
and a footer (for footnotes) and using markers in the source document
to place the table of contents and footers (this uses [toc] and [foot]
as markers.
.noself. in the filenames means that there is no self-translation or self-help or self-testing in the script.
The scripts are often named for the format or language that they translate
to such as text.tohtml.pss or nom.tolatex.pss
/eg/drawlang.pss which transpiles to python, but
I haven't continued.