diff --git a/src/expression/numberParser.test.ts b/src/expression/numberParser.test.ts index 5016103..87cc3e4 100644 --- a/src/expression/numberParser.test.ts +++ b/src/expression/numberParser.test.ts @@ -101,4 +101,24 @@ describe("parser", () => { expect(typeof v?.value).toBe("bigint"); expect(v?.value.toString()).toBe("1"); }); + + xit('parses single', () => { + var v = numberParser.parse('1s')?.value + expect(typeof v?.value).toBe("number"); + expect(v?.maxBitSize).toBe(16); + expect(v?.value.toString()).toBe("1"); + + var v2 = numberParser.parse('1i8')?.value + expect(v2).toEqual(v); + }); + + xit('parses byte', () => { + var v = numberParser.parse('1b')?.value + expect(typeof v?.value).toBe("number"); + expect(v?.maxBitSize).toBe(16); + expect(v?.value.toString()).toBe("1"); + + var v2 = numberParser.parse('1i16')?.value + expect(v2).toEqual(v); + }); }); \ No newline at end of file diff --git a/src/expression/numberParser.ts b/src/expression/numberParser.ts index e88b5c7..ed16998 100644 --- a/src/expression/numberParser.ts +++ b/src/expression/numberParser.ts @@ -5,9 +5,9 @@ import { BoundedNumber, asBoundedNumber } from "../core/types"; // byte -i8 or b // single - i16 or s -const decimalRegex = /^-?\d+[l,L,S,s,B,b]?$/; -const hexRegex = /^-?0x[0-9,a-f]+[l,L,S,s,B,b]?$/i; -const binRegex = /^-?0b[0-1]+[l,L,S,s,B,b]?$/i; +const decimalRegex = /^-?\d+[l,L]?$/; +const hexRegex = /^-?0x[0-9,a-f]+[l,L]?$/i; +const binRegex = /^-?0b[0-1]+[l,L]?$/i; interface ParserConfig { regex: RegExp,