lang: make Markers debuggable

This commit is contained in:
Schrottkatze 2024-04-24 19:55:16 +02:00
parent 2bea3994c2
commit e62b50a51a
Signed by: schrottkatze
SSH key fingerprint: SHA256:hXb3t1vINBFCiDCmhRABHX5ocdbLiKyCdKI4HK2Rbbc
7 changed files with 18 additions and 18 deletions

View file

@ -5,7 +5,7 @@ use super::Parser;
mod expression;
pub fn source_file(p: &mut Parser) {
let root = p.start();
let root = p.start("root");
expression::expression(p);
p.eat_succeeding_ws();

View file

@ -47,7 +47,7 @@ mod collection {
}
pub fn expression(p: &mut Parser) -> Option<CompletedMarker> {
let expr = p.start();
let expr = p.start("expr");
if atom(p).or_else(|| instr(p)).is_none() {
expr.abandon(p);

View file

@ -6,7 +6,7 @@ use crate::parser::{
};
pub fn matrix(p: &mut Parser) -> CompletedMarker {
let matrix = p.start();
let matrix = p.start("matrix");
p.eat(MAT_KW);
if !p.eat(PAT_DIMENSIONS) {
@ -20,7 +20,7 @@ pub fn matrix(p: &mut Parser) -> CompletedMarker {
}
fn matrix_body(p: &mut Parser) {
let mat_body = p.start();
let mat_body = p.start("mat_body");
if !p.eat(L_BRACK) {
mat_body.complete_err(p, SyntaxError::Expected(vec![MAT_BODY]));
return ();
@ -28,10 +28,10 @@ fn matrix_body(p: &mut Parser) {
let mut going = true;
let mut mat_row = p.start();
let mut mat_row = p.start("mat_row");
let mut row_items = 0;
while going {
let mat_item = p.start();
let mat_item = p.start("mat_item");
if expression(p).is_some() {
mat_item.complete(p, MAT_ITEM);
row_items += 1;
@ -39,13 +39,13 @@ fn matrix_body(p: &mut Parser) {
COMMA => p.do_bump(),
SEMICOLON => {
mat_row.complete(p, MAT_ROW);
mat_row = p.start();
mat_row = p.start("mat_row");
p.do_bump();
row_items = 0;
}
R_BRACK => going = false,
_ => {
let err = p.start();
let err = p.start("err");
p.do_bump();
err.complete_err(p, SyntaxError::Expected(vec![COMMA, SEMICOLON, R_BRACK]));
@ -54,7 +54,7 @@ fn matrix_body(p: &mut Parser) {
} else if p.at(R_BRACK) {
going = false;
} else {
let err = p.start();
let err = p.start("err");
p.do_bump();
err.complete_err(p, SyntaxError::Expected(vec![EXPR, R_BRACK]));
}

View file

@ -7,7 +7,7 @@ pub fn instr(p: &mut Parser) -> Option<CompletedMarker> {
return None;
}
let instr = p.start();
let instr = p.start("instr");
instr_name(p);
instr_params(p);
@ -16,7 +16,7 @@ pub fn instr(p: &mut Parser) -> Option<CompletedMarker> {
}
fn instr_name(p: &mut Parser) {
let instr_name = p.start();
let instr_name = p.start("instr_name");
while p.at(IDENT) {
p.do_bump();

View file

@ -12,7 +12,7 @@ pub fn literal(p: &mut Parser) -> Option<CompletedMarker> {
return None;
}
let lit = p.start();
let lit = p.start("lit");
p.do_bump();