From ae3fa0f2e668d3ce274a247518b3b9acbc34f3e8 Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Tue, 21 Oct 2025 15:39:08 -0500 Subject: [PATCH] assembler/lexer: add support for double hypen comments --- drm/shadertoy_circle.fs.asm | 16 ++++++++-------- regs/assembler/lexer.py | 4 ++++ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/drm/shadertoy_circle.fs.asm b/drm/shadertoy_circle.fs.asm index 68324ac..0211224 100644 --- a/drm/shadertoy_circle.fs.asm +++ b/drm/shadertoy_circle.fs.asm @@ -1,4 +1,4 @@ -# d = length(uv) +-- d = length(uv) src0.rgb = temp[0] : temp[0].r = DP3 src0.rg0 src0.rg0 ; src0.rgb = temp[0] : @@ -7,15 +7,15 @@ NOP src0.a = temp[0] : temp[0].a = RCP src0.a ; -# d = abs(d - 0.5) * 1 + -0.1 -src0.a = float(48), # 0.5 -src1.a = temp[0], # d -src2.a = float(29), # 0.1015625 -srcp.a = sub : # (src1.a - src0.a) +-- d = abs(d - 0.5) * 1 + -0.1 +src0.a = float(48), -- 0.5 +src1.a = temp[0], -- d +src2.a = float(29), -- 0.1015625 +srcp.a = sub : -- (src1.a - src0.a) temp[0].a = MAD |srcp.a| src0.1 -src2.a ; -# d = (d >= 0.0) ? 1.0 : 0.0 -# out.rgba = vec4(d, 0, 0, 1) +-- d = (d >= 0.0) ? 1.0 : 0.0 +-- out.rgba = vec4(d, 0, 0, 1) OUT TEX_SEM_WAIT src0.a = temp[0] : out[0].a = MAX src0.1 src0.1 , diff --git a/regs/assembler/lexer.py b/regs/assembler/lexer.py index a7cd4b0..dfdd64b 100644 --- a/regs/assembler/lexer.py +++ b/regs/assembler/lexer.py @@ -112,6 +112,10 @@ class Lexer: return Token(*self.pos(), TT.semicolon, self.lexeme()) elif c == ord(','): return Token(*self.pos(), TT.comma, self.lexeme()) + elif c == ord('-') and self.peek() == ord('-'): + self.advance() + while not self.at_end_p() and self.peek() != ord('\n'): + self.advance() elif self.minus_is_token and c == ord('-'): return Token(*self.pos(), TT.minus, self.lexeme()) elif c == ord('#'):