## 11 Block Diagram Language Reference ¶

A block diagram consists of blocks and arrows. Blocks can contain other blocks - these has to be specified immediately after the containing blocks enclosed in braces. Blocks that contain other blocks are called container blocks or containers. Putting one block into another has two consequences. First, the container is resized to be able to cover all its content. If you want to place a block outside or overlapping with the contour of a container, add it outside. Second, the name of the container will become the name prefix of all its content blocks, see Block Name Resolution. The most common block is a rectangle (or box for short), but other shapes can be used (and defined), as well.

Arrows can be specified anywhere in the chart and their location has significance only in when they are drawn (in Z order) or if they contain coordinates referring to their parent. In the latter case the identity of the parent matters. Note also that blocks not defined at the time of defining an arrow may get auto-created if `pedantic=no;` chart option is specified (the default). So defining an arrow before or after the blocks it uses is different.