lexer

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package lexer is a hand-written, state-function lexer (Pike style) for the Runefile language. It emits a flat token stream with byte/line/col spans on every token, including the layout tokens INDENT, DEDENT and NEWLINE that drive the significant-indentation grammar.

Indentation model: the only indented construct is a task body. The lexer scans structural lines at column 0; the first more-indented line opens a body (INDENT), every following line that stays more indented than the header is captured as raw body text, and the first line that returns to the header's indentation closes the body (DEDENT). Body text is NOT tokenized — it is kept verbatim (including {{ ... }} interpolation) for the evaluator.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Lex

func Lex(file, src string) ([]token.Token, diag.List)

Lex tokenizes src (named file for diagnostics) and returns the token stream and any lexical diagnostics. The stream always ends with an EOF token.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL