"""
Auto-generated Python stub file from ast.tokens.py
Module: ast.tokens
"""


import t, c
from stdint import *
import memhub
import string

class TokenType(t.CEnum):
    EndMarker: t.State
    NewLine: t.State
    Indent: t.State
    Dedent: t.State
    Name: t.State
    Number: t.State
    String: t.State
    FStringStart: t.State
    FStringMiddle: t.State
    FStringEnd: t.State
    Op: t.State
    Nl: t.State
    Comment: t.State
    Encoding: t.State
class Keyword(t.CEnum):
    NotKeyword: t.State
    False_: t.State
    None_: t.State
    True_: t.State
    And: t.State
    As: t.State
    Assert: t.State
    Async: t.State
    Await: t.State
    Break: t.State
    Class: t.State
    Continue: t.State
    Def: t.State
    Del: t.State
    Elif: t.State
    Else: t.State
    Except: t.State
    Finally: t.State
    For: t.State
    From: t.State
    Global: t.State
    If: t.State
    Import: t.State
    In: t.State
    Is: t.State
    Lambda: t.State
    Nonlocal: t.State
    Not: t.State
    Or: t.State
    Pass: t.State
    Raise: t.State
    Return: t.State
    Try: t.State
    While: t.State
    With: t.State
    Yield: t.State
    Match: t.State
    Case: t.State
    Type: t.State
class TokOp(t.CEnum):
    LPar: t.State
    RPar: t.State
    Lsqb: t.State
    Rsqb: t.State
    LBrace: t.State
    RBrace: t.State
    Comma: t.State
    Colon: t.State
    Dot: t.State
    Semi: t.State
    At: t.State
    Equal: t.State
    RArrow: t.State
    PlusEq: t.State
    MinusEq: t.State
    StarEq: t.State
    SlashEq: t.State
    DSlashEq: t.State
    PercentEq: t.State
    AtEq: t.State
    AmpEq: t.State
    VBarEq: t.State
    CaretEq: t.State
    GtGtEq: t.State
    LtLtEq: t.State
    StarEqEq: t.State
    DSlash: t.State
    StarStar: t.State
    LtLt: t.State
    GtGt: t.State
    LessEq: t.State
    GreaterEq: t.State
    EqEq: t.State
    ExclaimEq: t.State
    Less: t.State
    Greater: t.State
    Plus: t.State
    Minus: t.State
    Star: t.State
    Slash: t.State
    Percent: t.State
    Amp: t.State
    VBar: t.State
    Caret: t.State
    Tilde: t.State
    ColonEq: t.State
    Ellipsis: t.State
    Bang: t.State
class Token:
    type: t.CInt
    op_subtype: t.CInt
    kw_subtype: t.CInt
    str_val: str
    int_val: t.CInt64T
    float_val: t.CDouble
    is_float: t.CInt
    is_complex: t.CInt
    lineno: t.CInt
    col_offset: t.CInt
    end_lineno: t.CInt
    end_col_offset: t.CInt
    next: Token | t.CPtr
    def __new__(self: Token, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass
class KwEntry:
    name: str
    kw_id: t.CInt
    next: KwEntry | t.CPtr
    def __new__(self: KwEntry, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass

_kw_head: t.CExtern | KwEntry | t.CPtr
_kw_pool: t.CExtern | memhub.MemManager | t.CPtr

def _kw_intern(pool: memhub.MemManager | t.CPtr, name: str, kw_id: t.CInt) -> t.CInt: pass

def _kw_lookup(name: str) -> t.CInt: pass

def _init_keywords(pool: memhub.MemManager | t.CPtr) -> t.CInt: pass


class OpEntry:
    name: str
    op_id: t.CInt
    length: t.CInt
    next: OpEntry | t.CPtr
    def __new__(self: OpEntry, pool: memhub.MemManager | t.CPtr) -> t.CInt: pass

_op_head: t.CExtern | OpEntry | t.CPtr

def _op_intern(pool: memhub.MemManager | t.CPtr, name: str, op_id: t.CInt) -> t.CInt: pass

def _init_operators(pool: memhub.MemManager | t.CPtr) -> t.CInt: pass

def _init_tables(pool: memhub.MemManager | t.CPtr) -> t.CInt: pass

def new_token(pool: memhub.MemManager | t.CPtr, ttype: t.CInt, lineno: t.CInt, col_offset: t.CInt) -> Token | t.CPtr: pass

def token_set_str(pool: memhub.MemManager | t.CPtr, tok: Token | t.CPtr, src: str, start: t.CSizeT, length: t.CSizeT) -> t.CInt: pass

def token_set_str_literal(pool: memhub.MemManager | t.CPtr, tok: Token | t.CPtr, text: str) -> t.CInt: pass
