# Believe it or not, SystemVerilog supports spaces before and after the base # specifier (ie 'b, 'd, 'h). See IEEE 1800-2017 Section 5.7.1 for examples. ---input--- 8'b10101010 8 'b10101010 8'b 10101010 8'sb10101010 8'Sb10101010 8'B10101010 8'b1010_1010 8'b10xXzZ?10 24'o01234567 24 'o01234567 24'o 01234567 24'so01234567 24'So01234567 24'O01234567 24'o0123_4567 24'o01xXzZ?7 32'd27182818 32 'd27182818 32'd 27182818 32'sd27182818 32'Sd27182818 32'D27182818 32'd2718_2818 32'd27xXzZ?8 32'hdeadbeef 32 'hdeadbeef 32'h deadbeef 32'shdeadbeef 32'Shdeadbeef 32'Hdeadbeef 32'hdead_beef 32'hdexXzZ?f '0 '1 'x 'X 'z 'Z 42 1234_5678 ---tokens--- "8'b10101010" Literal.Number.Bin '\n' Text.Whitespace "8 'b10101010" Literal.Number.Bin '\n' Text.Whitespace "8'b 10101010" Literal.Number.Bin '\n' Text.Whitespace "8'sb10101010" Literal.Number.Bin '\n' Text.Whitespace "8'Sb10101010" Literal.Number.Bin '\n' Text.Whitespace "8'B10101010" Literal.Number.Bin '\n' Text.Whitespace "8'b1010_1010" Literal.Number.Bin '\n' Text.Whitespace "8'b10xXzZ?10" Literal.Number.Bin '\n\n' Text.Whitespace "24'o01234567" Literal.Number.Oct '\n' Text.Whitespace "24 'o01234567" Literal.Number.Oct '\n' Text.Whitespace "24'o 01234567" Literal.Number.Oct '\n' Text.Whitespace "24'so01234567" Literal.Number.Oct '\n' Text.Whitespace "24'So01234567" Literal.Number.Oct '\n' Text.Whitespace "24'O01234567" Literal.Number.Oct '\n' Text.Whitespace "24'o0123_4567" Literal.Number.Oct '\n' Text.Whitespace "24'o01xXzZ?7" Literal.Number.Oct '\n\n' Text.Whitespace "32'd27182818" Literal.Number.Integer '\n' Text.Whitespace "32 'd27182818" Literal.Number.Integer '\n' Text.Whitespace "32'd 27182818" Literal.Number.Integer '\n' Text.Whitespace "32'sd27182818" Literal.Number.Integer '\n' Text.Whitespace "32'Sd27182818" Literal.Number.Integer '\n' Text.Whitespace "32'D27182818" Literal.Number.Integer '\n' Text.Whitespace "32'd2718_2818" Literal.Number.Integer '\n' Text.Whitespace "32'd27xXzZ?8" Literal.Number.Integer '\n\n' Text.Whitespace "32'hdeadbeef" Literal.Number.Hex '\n' Text.Whitespace "32 'hdeadbeef" Literal.Number.Hex '\n' Text.Whitespace "32'h deadbeef" Literal.Number.Hex '\n' Text.Whitespace "32'shdeadbeef" Literal.Number.Hex '\n' Text.Whitespace "32'Shdeadbeef" Literal.Number.Hex '\n' Text.Whitespace "32'Hdeadbeef" Literal.Number.Hex '\n' Text.Whitespace "32'hdead_beef" Literal.Number.Hex '\n' Text.Whitespace "32'hdexXzZ?f" Literal.Number.Hex '\n\n' Text.Whitespace "'0" Literal.Number ' ' Text.Whitespace "'1" Literal.Number ' ' Text.Whitespace "'x" Literal.Number ' ' Text.Whitespace "'X" Literal.Number ' ' Text.Whitespace "'z" Literal.Number ' ' Text.Whitespace "'Z" Literal.Number '\n\n' Text.Whitespace '42' Literal.Number.Integer ' ' Text.Whitespace '1234_5678' Literal.Number.Integer '\n' Text.Whitespace