#include <utility>
#include <stdint.h>
Go to the source code of this file.
|
| enum class | Verse::Grammar::prec : nat8 {
Verse::Grammar::Never
, Verse::Grammar::List
, Verse::Grammar::Commas
, Verse::Grammar::Expr
,
Verse::Grammar::Fun
, Verse::Grammar::Def
, Verse::Grammar::Or
, Verse::Grammar::And
,
Verse::Grammar::Not
, Verse::Grammar::Eq
, Verse::Grammar::NotEq
, Verse::Grammar::Less
,
Verse::Grammar::Greater
, Verse::Grammar::Choose
, Verse::Grammar::To
, Verse::Grammar::Add
,
Verse::Grammar::Mul
, Verse::Grammar::Prefix
, Verse::Grammar::Call
, Verse::Grammar::Base
,
Verse::Grammar::Nothing
} |
| |
| enum class | Verse::Grammar::assoc : nat8 { Verse::Grammar::None
, Verse::Grammar::Postfix
, Verse::Grammar::InfixLeft
, Verse::Grammar::InfixRight
} |
| |
| enum class | Verse::Grammar::form : nat8 { Verse::Grammar::List
, Verse::Grammar::Commas
} |
| |
| enum class | Verse::Grammar::punctuation : nat8 {
Verse::Grammar::None
, Verse::Grammar::Braces
, Verse::Grammar::Parens
, Verse::Grammar::Brackets
,
Verse::Grammar::AngleBrackets
, Verse::Grammar::Qualifier
, Verse::Grammar::Dot
, Verse::Grammar::Colon
,
Verse::Grammar::Ind
} |
| |
| enum class | Verse::Grammar::place : nat16 {
Verse::Grammar::UTF8
, Verse::Grammar::Printable
, Verse::Grammar::BlockCmt
, Verse::Grammar::LineCmt
,
Verse::Grammar::IndCmt
, Verse::Grammar::Space
, Verse::Grammar::String
, Verse::Grammar::Content
} |
| |
| enum class | Verse::Grammar::mode { Verse::Grammar::None
, Verse::Grammar::Open
, Verse::Grammar::Closed
, Verse::Grammar::With
} |
| |
|
| template<class t , nat n> |
| constexpr nat | Verse::Grammar::ArraySize (t(&)[n]) |
| |
| void | Verse::Grammar::Err () |
| |
| constexpr nat | Verse::Grammar::Length (const text &Text) |
| |
| bool | Verse::Grammar::operator== (const text &as, const text &bs) |
| |
| bool | Verse::Grammar::operator!= (const text &as, const text &bs) |
| |
| constexpr bool | Verse::Grammar::IsSpace (char8 c) |
| |
| constexpr bool | Verse::Grammar::IsNewLine (char8 c) |
| |
| constexpr bool | Verse::Grammar::IsEnding (char8 c) |
| |
| constexpr bool | Verse::Grammar::IsAlpha (char8 c) |
| |
| constexpr bool | Verse::Grammar::IsDigit (char8 c) |
| |
| constexpr bool | Verse::Grammar::IsAlnum (char8 c) |
| |
| constexpr bool | Verse::Grammar::IsHex (char8 c) |
| |
| constexpr nat8 | Verse::Grammar::DigitValue (char8 c) |
| |
| constexpr bool | Verse::Grammar::IsIdentifierQuotable (char8 c0, char8 c1) |
| |
| constexpr bool | Verse::Grammar::IsStringBackslashLiteral (char8 c0, char8 c1) |
| |
| char32 | Verse::Grammar::EncodedChar32 (const char8 *s, nat Count) |
| |
| template<place Place> |
| nat | Verse::Grammar::EncodedLength (const char8 *s) |
| |
| bool | Verse::Grammar::ParenthesizePrefix (const encoding &Encoding, prec StringPrec) |
| |
| bool | Verse::Grammar::ParenthesizePostfix (const encoding &Encoding, prec StringPrec) |
| |
| template<class gen_t > |
| result< typename gen_t::syntax_t, typename gen_t::error_t > | Verse::Grammar::File (gen_t &Gen, nat n, const char8 *s, nat Line=1) |
| |
|
| const struct token_set AllTokens AllowLess | Verse::Grammar::AllowNotEq = ~token_set{u8">",u8">=",u8"<",u8"<="} |
| |
| constexpr token_info | Verse::Grammar::Tokens [] |
| |
| const token_set | Verse::Grammar::AllTokens = ~token_set{} |
| |
| const token_set | Verse::Grammar::AllowLess = ~token_set{u8">",u8">="} |
| |
| const token_set | Verse::Grammar::InPrefixes = token_set{u8":",u8"in"} |
| |
| const token_set | Verse::Grammar::StopList = token_set{u8":)",u8")",u8"]",u8"}",token::NewLine(),token::End()} |
| |
| const token_set | Verse::Grammar::StopExpr = StopList | token_set{u8";",u8","} |
| |
| const token_set | Verse::Grammar::StopFun = StopExpr | token_set{u8"@"} |
| |
| const token_set | Verse::Grammar::StopDef = StopFun | token_set{u8"=>",u8"next",u8"over",u8"when",u8"while"} |
| |
| const token_set | Verse::Grammar::BracePostfixes = token_set{u8"{"} |
| |
| const token_set | Verse::Grammar::BlockPostfixes = token_set{u8"{",u8".",u8":"} |
| |
| const token_set | Verse::Grammar::ParenPostfixes = token_set{u8"("} |
| |
| const token_set | Verse::Grammar::WithPostfixes = token_set{u8"with",u8"<"} |
| |
| const token_set | Verse::Grammar::InvokePostfixes = BlockPostfixes | ParenPostfixes | WithPostfixes | token_set{u8"in",token::NewLine()} |
| |
| const token_set | Verse::Grammar::MarkupPostfixes = token_set{u8",",u8";",u8">",u8":>"} |
| |
| const token_set | Verse::Grammar::DefPostfixes = token_set{u8"=",u8":=",u8"+=",u8"-=",u8"*=",u8"/="} |
| |
◆ GRAMMAR_ASSERT
◆ GRAMMAR_LET
◆ GRAMMAR_RUN
◆ GRAMMAR_SET
◆ TIM
◆ VERSE_MAX_EXPR_DEPTH
| #define VERSE_MAX_EXPR_DEPTH 100 |
◆ VERSE_MAX_INDCMT_DEPTH
| #define VERSE_MAX_INDCMT_DEPTH 3 |