Language ======== 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. .. toctree:: :maxdepth: 1 scanning source-file include type-definition functions statements/index types expression