Für die snytaktische Notation wird auf Abschnit elf verwiesenin der die vollständige Syntax von FirstStep aufgelistet ist; wir verwenden hier die gleiche Schreibweise, d.h. eine leicht veränderte Erweiterte Backus/Naur-Notation (EBNF).
In den folgenden Abschnitten werden die wichtigsten semantischen Eigenschaften von FirstStep beschrieben.
In FirstStep wird zwischen vordefinierten Schlüsselwörtern (keyword) und benutzerdefinierten Bezeichnern (identifier) unterschieden. Schlüsselwörter bestehen aus einem Kleinbuchstaben, gefolgt von kleinen Buchstaben "do", "done", "if"; einige Schlüsselwörter bestehen nur aus Großbuchstaben: "DEFINE". Im Prinzip sind auch Operatorsymbole wie "+" und "-" Schlüsselwörter, und es gibt Operatoren, wie div und mod, die nur mit Schlüsselwörtern beschrieben werden können.
Bezeichner beginnen mit einem Großbuchstaben, denen (nach evtl. weiteren Großbuchstaben) mindestens ein Kleinbuchstabe folgt; es sind auch Ziffern erlaubt: Anfang, Lauf, Wert1.
Kommentare (comment) werden durch ein "––" eingeleitet und mit dem Zeilenende abgeschlossen.
Um längere Bereiche zu kommentieren, kann das Schlüsselwort comment bzw. endcomment verwendet werden, wobei folgende Zusätze gelten:
Ist das erste Zeichen hinter dem comment keine runde Klammer: "(", so wird dieser Kommentar mit dem nächsten endcomment abgeschlossen. Ansonsten wird jeder Bezeichner (der mit einem Großbuchstaben beginnt) als Kommentarklammer verwendet:
Die letzte Darstellung wird als parametrisierter Kommentar bezeichnet. Textteile zwischen den Schlüsselwörtern ifComment(Name) und endComment(Name) können durch die Direktiven onComment(Name) ausgeblendet werden bzw. werden durch offComment(Name) unverändert übernommen; Textteile zwischen elseComment(Name) und endComment(Name) werden genau dann übernommen, wenn ifComment(Name) nicht übernommen wird. Dadurch ist es möglich, kommentierte Bereiche von einer zentralen Stelle aus zu schalten, so daß auf einfache Weise Kontrollinformation eingefügt bzw. entfernt werden kann. Man beachte jedoch, daß diese Steuerung während der lexikalischen Analyse durchgeführt wird, so daß die oben genannten Befehle nicht in (ausgeschalteten) Kommentaren stehen dürfen. Außerdem können Kommentare auf diese Weise verschachtelt werden, während die nicht parametrisierten Kommentare nicht verschachtelt werden können.
Weitere Informationen zu FirstStep finden Sie in dem Buch "System, Model, Programm".