From 00670619f3a9ac80683f1a1d751349e010c602dc Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Sat, 13 Sep 2025 02:34:14 +0800 Subject: feat: introduce new dice modifiers for grouping and merging, enhance variable references and instruction sequences in parser --- src/oneroll/grammar.pest | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/oneroll') diff --git a/src/oneroll/grammar.pest b/src/oneroll/grammar.pest index e5ce667..ac017b7 100644 --- a/src/oneroll/grammar.pest +++ b/src/oneroll/grammar.pest @@ -29,6 +29,8 @@ modifier = { | unique | sort | count + | merge + | group } explode = { "!" } explode_alias = { "e" } @@ -45,5 +47,15 @@ drop_low = { "dl" ~ number } unique = { "u" } sort = { "s" } count = { "c" ~ number } +merge = { "m" } +group = { "g" ~ ("s")? ~ number } + op = { "+" | "-" | "*" | "/" | "^" } -main = { SOI ~ dice_expr ~ EOI } \ No newline at end of file + +// Instruction sequences and variable references +var_ref = { "$" ~ number ~ modifiers? } + +instruction = { dice_expr | var_ref } +instruction_list = { instruction ~ (";" ~ instruction)* } + +main = { SOI ~ instruction_list ~ EOI } \ No newline at end of file -- cgit v1.2.3-70-g09d2