parseBlocks

fun parseBlocks(tokens: List<Token>): List<Block>

Block parser: converts a list of block-level Tokens into Block AST nodes.

Phase 2 handles leaf blocks only. Paragraphs and headings produce stub inline content (Inline.Text) that will be replaced in the inline pass.