---input--- module toplevel(clock,reset); input clock; input reset; reg flop1; reg flop2; always @ (posedge reset or posedge clock) if (reset) begin flop1 <= 0; flop2 <= 1; end else begin flop1 <= flop2; flop2 <= flop1; end endmodule ---tokens--- 'module' Keyword ' ' Text 'toplevel' Name '(' Punctuation 'clock' Name ',' Punctuation 'reset' Name ')' Punctuation ';' Punctuation '\n' Text ' ' Text 'input' Keyword ' ' Text 'clock' Name ';' Punctuation '\n' Text ' ' Text 'input' Keyword ' ' Text 'reset' Name ';' Punctuation '\n' Text ' \n ' Text 'reg' Keyword.Type ' ' Text 'flop1' Name ';' Punctuation '\n' Text ' ' Text 'reg' Keyword.Type ' ' Text 'flop2' Name ';' Punctuation '\n' Text ' \n ' Text 'always' Keyword ' ' Text '@' Punctuation ' ' Text '(' Punctuation 'posedge' Keyword ' ' Text 'reset' Name ' ' Text 'or' Keyword ' ' Text 'posedge' Keyword ' ' Text 'clock' Name ')' Punctuation '\n' Text ' ' Text 'if' Keyword ' ' Text '(' Punctuation 'reset' Name ')' Punctuation '\n' Text ' ' Text 'begin' Keyword '\n' Text ' ' Text 'flop1' Name ' ' Text '<' Operator '=' Operator ' ' Text '0' Literal.Number.Integer ';' Punctuation '\n' Text ' ' Text 'flop2' Name ' ' Text '<' Operator '=' Operator ' ' Text '1' Literal.Number.Integer ';' Punctuation '\n' Text ' ' Text 'end' Keyword '\n' Text ' ' Text 'else' Keyword '\n' Text ' ' Text 'begin' Keyword '\n' Text ' ' Text 'flop1' Name ' ' Text '<' Operator '=' Operator ' ' Text 'flop2' Name ';' Punctuation '\n' Text ' ' Text 'flop2' Name ' ' Text '<' Operator '=' Operator ' ' Text 'flop1' Name ';' Punctuation '\n' Text ' ' Text 'end' Keyword '\n' Text 'endmodule' Keyword '\n' Text