def test_1(): t1 = KeywordToken('__attribute__', 1) t2 = SymbolToken('(', 1) t3 = SymbolToken('(', 1) t4 = IdentifierToken('device', 1) t5 = SymbolToken(')', 1) t6 = SymbolToken(')', 1) t7 = WhiteSpaceToken(' ', 1) buff = [] buff.append(t1) buff.append(t2) buff.append(t3) buff.append(t4) buff.append(t5) buff.append(t6) buff.append(t7) m = Match() d = m._match_device_decl(buff) print(d) assert d == 6 # device host buff.append(WhiteSpaceToken(' ', 1)) buff.append(WhiteSpaceToken(' ', 1)) buff.append(KeywordToken('__attribute__', 1)) buff.append(SymbolToken('(', 1)) buff.append(SymbolToken('(', 1)) buff.append(IdentifierToken('host', 1)) buff.append(SymbolToken(')', 1)) buff.append(SymbolToken(')', 1)) d_h = m._match_device_host_decl(buff) print(d_h) assert d_h == 15 # host device buff[3] = IdentifierToken('host', 1) buff[12] = IdentifierToken('device', 1) h_d = m._match_host_device_decl(buff) print(h_d) assert d_h == 15