diff options
Diffstat (limited to '')
-rw-r--r-- | tests/snippets/systemverilog/test_basic.txt | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/tests/snippets/systemverilog/test_basic.txt b/tests/snippets/systemverilog/test_basic.txt new file mode 100644 index 0000000..1f86ed0 --- /dev/null +++ b/tests/snippets/systemverilog/test_basic.txt @@ -0,0 +1,157 @@ +# Examine tokens emitted by the SV lexer for a trivial module. +# Not intended to stress any particular corner of the language. + +---input--- +// Adder flops the sum of its inputs +module Adder #( + parameter int N = 42 +) ( + output logic [N-1:0] y, + output logic co, + + input logic [N-1:0] a, + input logic [N-1:0] b, + input logic ci, + + input logic clk +); + always_ff @(posedge clk) begin + {co, y} <= a + b + ci; + end +endmodule : Adder + +---tokens--- +'// Adder flops the sum of its inputs\n' Comment.Single + +'module' Keyword +' ' Text.Whitespace +'Adder' Name +' ' Text.Whitespace +'#' Punctuation +'(' Punctuation +'\n ' Text.Whitespace +'parameter' Keyword +' ' Text.Whitespace +'int' Keyword.Type +' ' Text.Whitespace +'N' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'42' Literal.Number.Integer +'\n' Text.Whitespace + +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'\n ' Text.Whitespace +'output' Keyword +' ' Text.Whitespace +'logic' Keyword.Type +' ' Text.Whitespace +'[' Punctuation +'N' Name +'-' Operator +'1' Literal.Number.Integer +':' Operator +'0' Literal.Number.Integer +']' Punctuation +' ' Text.Whitespace +'y' Name +',' Punctuation +'\n ' Text.Whitespace +'output' Keyword +' ' Text.Whitespace +'logic' Keyword.Type +' ' Text.Whitespace +'co' Name +',' Punctuation +'\n\n ' Text.Whitespace +'input' Keyword +' ' Text.Whitespace +'logic' Keyword.Type +' ' Text.Whitespace +'[' Punctuation +'N' Name +'-' Operator +'1' Literal.Number.Integer +':' Operator +'0' Literal.Number.Integer +']' Punctuation +' ' Text.Whitespace +'a' Name +',' Punctuation +'\n ' Text.Whitespace +'input' Keyword +' ' Text.Whitespace +'logic' Keyword.Type +' ' Text.Whitespace +'[' Punctuation +'N' Name +'-' Operator +'1' Literal.Number.Integer +':' Operator +'0' Literal.Number.Integer +']' Punctuation +' ' Text.Whitespace +'b' Name +',' Punctuation +'\n ' Text.Whitespace +'input' Keyword +' ' Text.Whitespace +'logic' Keyword.Type +' ' Text.Whitespace +'ci' Name +',' Punctuation +'\n\n ' Text.Whitespace +'input' Keyword +' ' Text.Whitespace +'logic' Keyword.Type +' ' Text.Whitespace +'clk' Name +'\n' Text.Whitespace + +')' Punctuation +';' Punctuation +'\n ' Text.Whitespace +'always_ff' Keyword +' ' Text.Whitespace +'@' Punctuation +'(' Punctuation +'posedge' Keyword +' ' Text.Whitespace +'clk' Name +')' Punctuation +' ' Text.Whitespace +'begin' Keyword +'\n ' Text.Whitespace +'{' Punctuation +'co' Name +',' Punctuation +' ' Text.Whitespace +'y' Name +'}' Punctuation +' ' Text.Whitespace +'<' Operator +'=' Operator +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'+' Operator +' ' Text.Whitespace +'b' Name +' ' Text.Whitespace +'+' Operator +' ' Text.Whitespace +'ci' Name +';' Punctuation +'\n ' Text.Whitespace +'end' Keyword +'\n' Text.Whitespace + +'endmodule' Keyword +' ' Text.Whitespace +':' Operator +' ' Text.Whitespace +'Adder' Name +'\n' Text.Whitespace |