'// Repetition code syndrome measurement' Token.Comment.Single
'\n'                Token.Text.Whitespace
'OPENQASM'          Token.Comment.Preproc
' '                 Token.Text.Whitespace
'3'                 Token.Literal
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'include'           Token.Keyword.Namespace
' '                 Token.Text.Whitespace
'"stdgates.inc"'    Token.Literal.String
';'                 Token.Punctuation
'\n\n'              Token.Text.Whitespace
'qubit'             Token.Keyword.Type
'['                 Token.Punctuation
'3'                 Token.Literal.Number
']'                 Token.Punctuation
' '                 Token.Text.Whitespace
'q'                 Token.Name
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'qubit'             Token.Keyword.Type
'['                 Token.Punctuation
'2'                 Token.Literal.Number
']'                 Token.Punctuation
' '                 Token.Text.Whitespace
'a'                 Token.Name
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'bit'               Token.Keyword.Type
'['                 Token.Punctuation
'3'                 Token.Literal.Number
']'                 Token.Punctuation
' '                 Token.Text.Whitespace
'c'                 Token.Name
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'bit'               Token.Keyword.Type
'['                 Token.Punctuation
'2'                 Token.Literal.Number
']'                 Token.Punctuation
' '                 Token.Text.Whitespace
'syn'               Token.Name
';'                 Token.Punctuation
'\n\n'              Token.Text.Whitespace
'def'               Token.Keyword.Declaration
' '                 Token.Text.Whitespace
'syndrome'          Token.Name.Function
'('                 Token.Punctuation
'qubit'             Token.Keyword.Type
'['                 Token.Punctuation
'3'                 Token.Literal.Number
']'                 Token.Punctuation
' '                 Token.Text.Whitespace
'd'                 Token.Name
','                 Token.Punctuation
' '                 Token.Text.Whitespace
'qubit'             Token.Keyword.Type
'['                 Token.Punctuation
'2'                 Token.Literal.Number
']'                 Token.Punctuation
' '                 Token.Text.Whitespace
'a'                 Token.Name
')'                 Token.Punctuation
' '                 Token.Text.Whitespace
'->'                Token.Operator
' '                 Token.Text.Whitespace
'bit'               Token.Keyword.Type
'['                 Token.Punctuation
'2'                 Token.Literal.Number
']'                 Token.Punctuation
' '                 Token.Text.Whitespace
'{'                 Token.Punctuation
'\n  '              Token.Text.Whitespace
'bit'               Token.Keyword.Type
'['                 Token.Punctuation
'2'                 Token.Literal.Number
']'                 Token.Punctuation
' '                 Token.Text.Whitespace
'b'                 Token.Name
';'                 Token.Punctuation
'\n  '              Token.Text.Whitespace
'cx'                Token.Name.Function
' '                 Token.Text.Whitespace
'd'                 Token.Name
'['                 Token.Punctuation
'0'                 Token.Literal.Number
']'                 Token.Punctuation
','                 Token.Punctuation
' '                 Token.Text.Whitespace
'a'                 Token.Name
'['                 Token.Punctuation
'0'                 Token.Literal.Number
']'                 Token.Punctuation
';'                 Token.Punctuation
'\n  '              Token.Text.Whitespace
'cx'                Token.Name.Function
' '                 Token.Text.Whitespace
'd'                 Token.Name
'['                 Token.Punctuation
'1'                 Token.Literal.Number
']'                 Token.Punctuation
','                 Token.Punctuation
' '                 Token.Text.Whitespace
'a'                 Token.Name
'['                 Token.Punctuation
'0'                 Token.Literal.Number
']'                 Token.Punctuation
';'                 Token.Punctuation
'\n  '              Token.Text.Whitespace
'cx'                Token.Name.Function
' '                 Token.Text.Whitespace
'd'                 Token.Name
'['                 Token.Punctuation
'1'                 Token.Literal.Number
']'                 Token.Punctuation
','                 Token.Punctuation
' '                 Token.Text.Whitespace
'a'                 Token.Name
'['                 Token.Punctuation
'1'                 Token.Literal.Number
']'                 Token.Punctuation
';'                 Token.Punctuation
'\n  '              Token.Text.Whitespace
'cx'                Token.Name.Function
' '                 Token.Text.Whitespace
'd'                 Token.Name
'['                 Token.Punctuation
'2'                 Token.Literal.Number
']'                 Token.Punctuation
','                 Token.Punctuation
' '                 Token.Text.Whitespace
'a'                 Token.Name
'['                 Token.Punctuation
'1'                 Token.Literal.Number
']'                 Token.Punctuation
';'                 Token.Punctuation
'\n  '              Token.Text.Whitespace
'measure'           Token.Operator.Word
' '                 Token.Text.Whitespace
'a'                 Token.Name
' '                 Token.Text.Whitespace
'->'                Token.Operator
' '                 Token.Text.Whitespace
'b'                 Token.Name
';'                 Token.Punctuation
'\n  '              Token.Text.Whitespace
'return'            Token.Keyword
' '                 Token.Text.Whitespace
'b'                 Token.Name
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'}'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'reset'             Token.Operator.Word
' '                 Token.Text.Whitespace
'q'                 Token.Name
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'reset'             Token.Operator.Word
' '                 Token.Text.Whitespace
'a'                 Token.Name
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'x'                 Token.Name.Function
' '                 Token.Text.Whitespace
'q'                 Token.Name
'['                 Token.Punctuation
'0'                 Token.Literal.Number
']'                 Token.Punctuation
';'                 Token.Punctuation
' '                 Token.Text.Whitespace
'// insert an error' Token.Comment.Single
'\n'                Token.Text.Whitespace
'barrier'           Token.Operator.Word
' '                 Token.Text.Whitespace
'q'                 Token.Name
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'syn'               Token.Name
' '                 Token.Text.Whitespace
'='                 Token.Operator
' '                 Token.Text.Whitespace
'syndrome'          Token.Name.Function
'('                 Token.Punctuation
'q'                 Token.Name
','                 Token.Punctuation
' '                 Token.Text.Whitespace
'a'                 Token.Name
')'                 Token.Punctuation
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'if'                Token.Keyword
'('                 Token.Punctuation
'int'               Token.Keyword.Type
'['                 Token.Punctuation
'2'                 Token.Literal.Number
']'                 Token.Punctuation
'('                 Token.Punctuation
'syn'               Token.Name
')'                 Token.Punctuation
'=='                Token.Operator
'1'                 Token.Literal.Number
')'                 Token.Punctuation
' '                 Token.Text.Whitespace
'x'                 Token.Name.Function
' '                 Token.Text.Whitespace
'q'                 Token.Name
'['                 Token.Punctuation
'0'                 Token.Literal.Number
']'                 Token.Punctuation
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'if'                Token.Keyword
'('                 Token.Punctuation
'int'               Token.Keyword.Type
'['                 Token.Punctuation
'2'                 Token.Literal.Number
']'                 Token.Punctuation
'('                 Token.Punctuation
'syn'               Token.Name
')'                 Token.Punctuation
'=='                Token.Operator
'2'                 Token.Literal.Number
')'                 Token.Punctuation
' '                 Token.Text.Whitespace
'x'                 Token.Name.Function
' '                 Token.Text.Whitespace
'q'                 Token.Name
'['                 Token.Punctuation
'2'                 Token.Literal.Number
']'                 Token.Punctuation
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'if'                Token.Keyword
'('                 Token.Punctuation
'int'               Token.Keyword.Type
'['                 Token.Punctuation
'2'                 Token.Literal.Number
']'                 Token.Punctuation
'('                 Token.Punctuation
'syn'               Token.Name
')'                 Token.Punctuation
'=='                Token.Operator
'3'                 Token.Literal.Number
')'                 Token.Punctuation
' '                 Token.Text.Whitespace
'x'                 Token.Name.Function
' '                 Token.Text.Whitespace
'q'                 Token.Name
'['                 Token.Punctuation
'1'                 Token.Literal.Number
']'                 Token.Punctuation
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
'c'                 Token.Name
' '                 Token.Text.Whitespace
'='                 Token.Operator
' '                 Token.Text.Whitespace
'measure'           Token.Operator.Word
' '                 Token.Text.Whitespace
'q'                 Token.Name
';'                 Token.Punctuation
'\n'                Token.Text.Whitespace
