Skip to content
Railroad / syntax diagram templates

Railroad — Lexer Tokens

Identifier, number, and string-literal token shapes for a language spec's lexical section.

Template previewRailroad / syntax diagram
identifier ::=letter_letterdigit_number ::=-digitdigit.digitdigitexponentexponent ::=eE+-digitdigitstring ::="characterescape"escape ::=\"\ntuhexhexhexhex

Make it your own.

identifier ::= ( letter | "_" ) { letter | digit | "_" }
number     ::= [ "-" ] digit { digit } [ "." digit { digit } ] [ exponent ]
exponent   ::= ( "e" | "E" ) [ "+" | "-" ] digit { digit }
string     ::= '"' { character | escape } '"'
escape     ::= "\\" ( '"' | "\\" | "n" | "t" | "u" hex hex hex hex )