CBlueUI  
C++ 跨平台跨框架的数据可视化工具
载入中...
搜索中...
未找到
BUI::StateRow类 参考

状态转移表 更多...

Public 成员函数

 StateRow ()
 
 StateRow (const StateRow &other)
 
 ~StateRow ()
 
StateRowoperator= (const StateRow &other)
 
void Clear ()
 
void SetAccept (BOOL is_accept_state, int32_t accept_id_=-1)
 
void SetSplitSymbol (BOOL is_split_symbol_)
 将节点标记为拆分字符。例如{>,>=}这样
 
void AddNextStateMap (uint32_t input, int32_t state_next)
 添加映射关系:y=f(x)。x=input,y = state_next。
 
void AddNextStateMapWithChar (const TCHAR *str, int32_t state_next)
 添加状态映射关系
 
void AddepsilonState (int32_t state_next)
 添加非确定自动机(NFA)ε 状态
 
int32_t NextState (uint32_t input) const
 根据输入值,获取下一个状态
 

Public 属性

WCHAR ch [4]
 
int32_t accept_id
 
BOOL is_accept_state
 
BOOL is_split_symbol
 
std::vector< int32_t > state_epsilon
 
std::map< uint32_t, int32_t > state_map
 

详细描述

状态转移表

构造及析构函数说明

◆ StateRow() [1/2]

BUI::StateRow::StateRow ( )

◆ StateRow() [2/2]

BUI::StateRow::StateRow ( const StateRow other)

◆ ~StateRow()

BUI::StateRow::~StateRow ( )

成员函数说明

◆ AddepsilonState()

void BUI::StateRow::AddepsilonState ( int32_t  state_next)

添加非确定自动机(NFA)ε 状态

参数
state_next

◆ AddNextStateMap()

void BUI::StateRow::AddNextStateMap ( uint32_t  input,
int32_t  state_next 
)

添加映射关系:y=f(x)。x=input,y = state_next。

参数
input当为0时表示。任意字符跳转的状态
state_next

◆ AddNextStateMapWithChar()

void BUI::StateRow::AddNextStateMapWithChar ( const TCHAR str,
int32_t  state_next 
)

添加状态映射关系

参数
str
state_next

◆ Clear()

void BUI::StateRow::Clear ( )

◆ NextState()

int32_t BUI::StateRow::NextState ( uint32_t  input) const

根据输入值,获取下一个状态

参数
input
返回
int32_t

◆ operator=()

StateRow & BUI::StateRow::operator= ( const StateRow other)

◆ SetAccept()

void BUI::StateRow::SetAccept ( BOOL  is_accept_state,
int32_t  accept_id_ = -1 
)

◆ SetSplitSymbol()

void BUI::StateRow::SetSplitSymbol ( BOOL  is_split_symbol_)

将节点标记为拆分字符。例如{>,>=}这样

类成员变量说明

◆ accept_id

int32_t BUI::StateRow::accept_id

◆ ch

WCHAR BUI::StateRow::ch[4]

◆ is_accept_state

BOOL BUI::StateRow::is_accept_state

◆ is_split_symbol

BOOL BUI::StateRow::is_split_symbol

◆ state_epsilon

std::vector<int32_t> BUI::StateRow::state_epsilon

◆ state_map

std::map<uint32_t, int32_t> BUI::StateRow::state_map
鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2025 · CBlueStudio 版权所有