YSTest: NPL::SContext 命名空间参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

函数
NPL::SContext 命名空间参考

S 表达式上下文：处理 S 表达式。 更多...

## 函数

template<typename _tIn >
YB_ATTR_nodiscard _tIn | Validate (_tIn first, _tIn last)
| 遍历记号列表，验证基本合法性：圆括号是否对应。 更多...
template<typename _tIn , typename _fTokenize >
YB_ATTR_nodiscard _tIn | Reduce (TermNode &term, _tIn first, _tIn last, _fTokenize tokenize)
| 遍历规约记号列表，取抽象语法树储存至指定值类型节点。 更多...
template<typename _tIn >
YB_ATTR_nodiscard _tIn | Reduce (TermNode &term, _tIn first, _tIn last)
template<class _tParseResult >
void | Analyze (TermNode &root, const _tParseResult &parse_result)
| 分析指定源，取抽象语法树储存至指定值类型节点。 更多...
template<typename _fParse >
void | Analyze (TermNode &root, const Session &sess, const _fParse &parse)
template<class _tParseResult , typename _fTokenize >
void | Analyze (TermNode &root, _fTokenize tokenize, const _tParseResult &parse_result)
template<typename _fParse , typename _fTokenize >
void | Analyze (TermNode &root, _fTokenize tokenize, const Session &sess, const _fParse &parse)
template<typename _tParam , typename... _tParams, yimpl(ystdex::exclude_self_t< TermNode, _tParam, int >=0) >
YB_ATTR_nodiscard | yimpl (ystdex::exclude_self_t)< std
template<typename... _tParams>
YB_ATTR_nodiscard TermNode | Analyze (std::allocator_arg_t, TermNode::allocator_type a, _tParams &&... args)

## 详细描述

S 表达式上下文：处理 S 表达式。

自从
  build 330

## 函数说明

## ◆ Analyze() [1/5]

template<typename... _tParams>

YB_ATTR_nodiscard TermNode NPL::SContext::Analyze | ( | std::allocator_arg_t | ,
|  | TermNode::allocator_type | a,
|  | _tParams &&... | args
| ) |  |

自从
  build 891

在文件 SContext.h 第 1173 行定义.

引用了 YSLib::a, CHRLib::args , 以及 yforward.

被这些函数引用 Analyze() , 以及 yimpl().

这是这个函数的调用关系图:

## ◆ Analyze() [2/5]

template<class _tParseResult , typename _fTokenize >

void NPL::SContext::Analyze | ( | TermNode & | root,
|  | _fTokenize | tokenize,
|  | const _tParseResult & | parse_result
| ) |  |

在文件 SContext.h 第 1142 行定义.

引用了 platform::Descriptions::Alert , 以及 Reduce().

函数调用图:

## ◆ Analyze() [3/5]

template<typename _fParse , typename _fTokenize >

void NPL::SContext::Analyze | ( | TermNode & | root,
|  | _fTokenize | tokenize,
|  | const Session & | sess,
|  | const _fParse & | parse
| ) |  |

inline

在文件 SContext.h 第 1150 行定义.

引用了 Analyze() , 以及 NPL::Session::GetResult().

函数调用图:

## ◆ Analyze() [4/5]

template<class _tParseResult >

void NPL::SContext::Analyze | ( | TermNode & | root,
|  | const _tParseResult & | parse_result
| ) |  |

分析指定源，取抽象语法树储存至指定值类型节点。

异常

  LoggedEvent | 警报：找到冗余的 ')' 。

在文件 SContext.h 第 1127 行定义.

引用了 platform::Descriptions::Alert , 以及 Reduce().

被这些函数引用 YSLib::FetchMIMEBiMapping(), YSLib::UI::WidgetLoader::LoadUILayout(), NPL::operator>>() , 以及 NPL::A1::REPLContext::std::move().

函数调用图:
这是这个函数的调用关系图:

## ◆ Analyze() [5/5]

template<typename _fParse >

void NPL::SContext::Analyze | ( | TermNode & | root,
|  | const Session & | sess,
|  | const _fParse & | parse
| ) |  |

inline

自从
  build 890

在文件 SContext.h 第 1136 行定义.

引用了 Analyze() , 以及 NPL::Session::GetResult().

函数调用图:

## ◆ Reduce() [1/2]

template<typename _tIn >

YB_ATTR_nodiscard _tIn NPL::SContext::Reduce | ( | TermNode & | term,
|  | _tIn | first,
|  | _tIn | last
| ) |  |

inline

在文件 SContext.h 第 1111 行定义.

引用了 Reduce() , 以及 NPL::A1::Internals::term.

函数调用图:

## ◆ Reduce() [2/2]

template<typename _tIn , typename _fTokenize >

YB_ATTR_nodiscard _tIn NPL::SContext::Reduce | ( | TermNode & | term,
|  | _tIn | first,
|  | _tIn | last,
|  | _fTokenize | tokenize
| ) |  |

遍历规约记号列表，取抽象语法树储存至指定值类型节点。

参数

  term | 项节点。
  tokenize | 标记器。

在文件 SContext.h 第 1077 行定义.

引用了 YSLib::a, platform::Descriptions::Alert, NPL::AsTermNode(), ystdex::make_guard(), NPL::A1::Internals::term, NPL::tm, NPL::ToLexeme(), NPL::YAssert() , 以及 ynothrowv.

被这些函数引用 Analyze() , 以及 Reduce().

函数调用图:
这是这个函数的调用关系图:

## ◆ Validate()

template<typename _tIn >

YB_ATTR_nodiscard _tIn NPL::SContext::Validate | ( | _tIn | first,
|  | _tIn | last
| ) |  |

遍历记号列表，验证基本合法性：圆括号是否对应。

参数

  first | 起始迭代器。
  last | 终止迭代器。

前置条件
  `[first, last)` 是可访问的记号值范围。

返回
  last 或对应冗余的 ')' 的迭代器。

异常

  LoggedEvent | 警报：找到冗余的 '(' 。

注解
  使用 ADL ToLexeme 转换访问的迭代器值为词素值。

参见
  ToLexeme

在文件 SContext.h 第 1050 行定义.

引用了 platform::Descriptions::Alert , 以及 NPL::ToLexeme().

函数调用图:

## ◆ yimpl()

template<typename _tParam , typename... _tParams, yimpl(ystdex::exclude_self_t< TermNode, _tParam, int >=0) >

YB_ATTR_nodiscard NPL::SContext::yimpl | ( | ystdex::exclude_self_t |  | ) |

注解
  调用 ADL Analyze 分析节点。

自从
  build 889

在文件 SContext.h 第 1162 行定义.

引用了 Analyze(), CHRLib::args , 以及 yforward.

函数调用图: