{ mode: "facet", // includes in ASyntaxStateMachine.hpp includes: [ "\"ParserStateMachine.hpp\"", "\"syntaxstatetype.hpp\"", "", "", ], // extra includes in SyntaxStateMachine.hpp, if any user_hpp_includes: [], namespace1: "xo", namespace2: "scm", // text after includes, before ASyntaxStateMachine pretext: ["// {pretex} here"], facet: "SyntaxStateMachine", detail_subdir: "ssm", brief: "specialized state machine for parsing some particular schematika syntax", using_doxygen: true, doc: [ "Assistant to schematika parser dedicated to particular syntax" ], types: [ { name: "TypeDescr", doc: [ "reflected c++ type" ], definition: "xo::reflect::TypeDescr" }, // { name: string, doc: [ string ], definition: string }, ], const_methods: [ { name: "ssm_type", doc: ["identify a type of syntax state machine"], return_type: "syntaxstatetype", args: [], const: true, noexcept: true, attributes: [], }, { name: "get_expect_str", doc: ["text describing expected/allowed input to this ssm in current state"], return_type: "std::string_view", args: [], const: true, noexcept: true, attributes: [], }, ], nonconst_methods: [ { name: "on_symbol_token", doc: ["operate state machine for incoming symbol-token @p tk"], return_type: "void", args: [ {type: "const Token &", name: "tk"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, { name: "on_def_token", doc: ["update state machine for incoming define-keyword-token @p tk"], return_type: "void", args: [ {type: "const Token &", name: "tk"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, { name: "on_if_token", doc: ["update state machine for incoming if-keyword-token @p tk"], return_type: "void", args: [ {type: "const Token &", name: "tk"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, { name: "on_colon_token", doc: ["update state machine for incoming colon-token @p tk"], return_type: "void", args: [ {type: "const Token &", name: "tk"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, { name: "on_singleassign_token", doc: ["update state machine for incoming singleassign-token @p tk"], return_type: "void", args: [ {type: "const Token &", name: "tk"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, { name: "on_f64_token", doc: ["update state machine for incoming f64-token @p tk"], return_type: "void", args: [ {type: "const Token &", name: "tk"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, { name: "on_bool_token", doc: ["update state machine for incoming bool-token @p tk"], return_type: "void", args: [ {type: "const Token &", name: "tk"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, { name: "on_semicolon_token", doc: ["update state machine for incoming semicolon-token @p tk"], return_type: "void", args: [ {type: "const Token &", name: "tk"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, { name: "on_parsed_symbol", doc: ["update stat machine for incoming parsed symbol @p sym"], return_type: "void", args: [ {type: "std::string_view", name: "sym"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, { name: "on_parsed_typedescr", doc: ["operate state machine for incoming type description @p td"], return_type: "void", args: [ {type: "TypeDescr", name: "td"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, { name: "on_parsed_expression", doc: ["update state machine for incoming parsed expression @p expr"], return_type: "void", args: [ {type: "obj", name: "expr"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, { name: "on_parsed_expression_with_semicolon", doc: ["update state machine for incoming parsed expression @p expr followed by semicolon"], return_type: "void", args: [ {type: "obj", name: "expr"}, {type: "ParserStateMachine *", name: "p_psm"}, ], }, ], }