The syntax of Crowbar is designed to be similar to the syntax of C.
A Crowbar source file is UTF-8. Unless otherwise specified, a character in this specification refers to a Unicode scalar value. Crowbar source files can come in two varieties:
A Crowbar source file is read into memory in two phases: scanning (which converts text into an unstructured sequence of tokens) and parsing (which converts an unstructured sequence of tokens into a parse tree).
Syntax elements in this document are given in the form of parsing expression grammar rules.