One of the most distinctive structural principles in AZRA is the Dash Block Separator, or DBS. Its purpose is to enforce organization, improve readability, and let the compiler verify the structural integrity of every code block at compile time.


  •  The Core Rule


After every multi-line block, AZRA requires a separator line made up entirely of dash (-) characters. The number of dashes must exactly match the number of lines in the block that came before it. This line acts as a "block signature" — proof that the section is structurally complete and untampered.


  •  What Counts as a Block?


A block is any sequence of consecutive lines forming one logical unit — a group of variable definitions, a set of Extract instructions, the body of a method or function, or a full conditional chain. Every one of these must be closed with a correct DBS line.


  • Examples


A two-line block closes with two dashes:

-0x = Hello World-
Extract(:Hello World)

---

A three-line block closes with three:

-1y = 1Hello World-
-2z = Hello 1 World-
-3b = Hello World3-

-----

DBS also applies to structural definitions:

- A Class definition is treated as a single line, so it closes with exactly one dash.

- A Method or Function body closes with a dash count equal to its internal lines.

- A full **is / reply / shoot / wall()** conditional chain closes with a dash count matching its total logical lines.


  • Why It Matters


Because dash count and block length are locked together, the compiler can catch problems instantly:


- File structure integrity — if a line is added, removed, or moved within a block, the dash count no longer matches, and the error surfaces immediately.

- Block order validation — it becomes practically impossible to forge or partially define a block without detection.

- Completeness checks — classes, methods, functions, and conditional chains all must close correctly, or the file is considered incomplete.


  • DBS Error Types


The compiler must detect and report three distinct DBS errors:


1. DBS-Mismatch — the dash count doesn't match the number of lines in the preceding block.

2. DBS-Missing — the block ends but no DBS line follows it.

3. DBS-Invalid — the separator line contains characters other than dashes.


  • Summary


The DBS rule isn't just a stylistic separator — it gives AZRA deterministic, self-checking structure. Every block carries its own proof of integrity, so editing mistakes, dropped lines, and tampered code are caught the moment the compiler reads them.


Watch the video above for a full walkthrough of the DBS rule in action, including live examples of all three error types.