# HG changeset patch # User William Astle # Date 1720846977 21600 # Node ID 40edb7de3857d78e58bf325b5b7990763c6d5674 # Parent d562ecd3ffd8d5aefd247a066814f12d0712ac97 Add 0b and 0B as a prefix for binary constants diff -r d562ecd3ffd8 -r 40edb7de3857 lwasm/lwasm.c --- a/lwasm/lwasm.c Wed Jun 05 11:40:38 2024 -0600 +++ b/lwasm/lwasm.c Fri Jul 12 23:02:57 2024 -0600 @@ -641,6 +641,25 @@ } return lw_expr_build(lw_expr_type_int, val * neg); } + if (**p == '0' && (*((*p)+1) == 'b' || *((*p)+1) == 'B')) + { + val = 0; + // binary constant + (*p) += 2; + + if (**p != '0' && **p != '1') + { + (*p)-2; + return NULL; + } + + while (**p && (**p == '0' || **p == '1')) + { + val = val * 2 + (**p - '0'); + (*p)++; + } + return lw_expr_build(lw_expr_type_int, val); + } if (**p == '$') {