ℙ𝕖𝕡 🙴 ℕ𝕠𝕞

home | documentation | examples | translators | download | blog | all blog posts

Traveller, there is no path. You make the path as you walk. Traveller, there is no path. Your tracks are the path, and when you look behind, you will see the road that never again you will traverse. Traveller, there is no path, just the wake that is left in the sea. Antonio Machado

comments in the ℕ𝕠𝕞 language syntax

Including comments in ℕ𝕠𝕞 scripts.

Both single line comments (line starting with “#"), or multi-line” comments (#* .... #) are available.

multi-line comments

how to write multi-line comments


   read; 
   #*
     The nom code below uses the [:punct:] character class,
     which hopefully, when translated to a nice modern 
     Unicode sort of language (java, dart, go etc) will recognise
     punctuation is all different exotic scripts
   *#
   [:punct:] { clear; add "Too much punctuation."; print; quit;}
   clear;  
 

Multi-line comments start with “#*” and end with “*#”, but they cannot be nested.

Multi-line comments are useful for disabling blocks of code during script development, as well as for long comments at the beginning of a script.

Using multi-line comments to disable blocks of code is very much as “last resort” type of debugging technique. Better debugging techniques are to use the parse-stack watch lines just after the parse> label or use the state command which shows the state of the pep machine at the time that the state command is issued.

See the document /doc/howto/nom.debug.html for more (and better) debugging techniques.

single line comments

These are the classic BASH PERL unixy comments where the all text after the hash # character is ignored until the end of the line (i.e \\n). There is not much more to say about them. The translation scripts actually translate ℕ𝕠𝕞 comments into the target language, but this is not terribly useful.

notes

There are certain places in a nom script where comments cannot appear, for example between tests in a list of tests before a block. This may change in the future

currently (2025) an error


   read;
   [:space:],
   # or punctuation. No, error, comments cannot go here.
   [:punct:] {
     nop; # do nothing. This comment is ok. 
   }