Typy tokenów

Pierwszym etapem kompilacji jest tokenizacja.

Plezuro posiada następujące typy tokenów (kolejność ma znaczenie, kiedy regex lub warunek wielu tokenów pasuje, pierwszy z nich wygrywa):

Typ

Regex lub warunek

Przykład

komentarz jednoliniowy

\/\/.* //a comment

komentarz wieloliniowy

\/\*.* /*a comment*/
regex r((‘([^’]|(‘’))*’)|(“([^”]|(“”))*”)) r’[a-k]’

nawias

\[|\]|\(|\)|\{|\}|(#\()|(\$\()|(%\() {this + first}

liczba

‘^(0x[0-9a-f]+)|(0b[01]+)|(0[0-7]+)|([0-9]+(.[0-9]+)?(e[+-]?[0-9]+)?)$’ 23.45e56

deklaracja

\$[A-Za-z_]+[A-Za-z_0-9]* $aVariable

pole klasy

[A-Za-z_]+[A-Za-z_0-9]*::[A-Za-z_]+[A-Za-z_0-9]* Person::totalNr

pole obiektu

@[A-Za-z_]+[A-Za-z_0-9]* @name

biały znak

[ \t]+  
operator

jeden ze zdefiniowanych ciągów znaków

+
symbol [A-Za-z_]+[A-Za-z_0-9]* aVariable
string (‘’)|(‘.*?([^\\]|(\\\\))’)|(“”)|(”.*?([^\\]|(\\\\))”) ‘a text’