|
Sen API
Sen Libraries
|
Parsing and execution of STL. More...
Typedefs | |
| using | sen::lang::StlExprVal |
| A variant supporting all expressions. | |
| using | sen::lang::StlAttributeList = std::vector<StlAttribute> |
| using | sen::lang::StlStatement |
| using | sen::lang::StlTokenList = std::vector<StlToken> |
| using | sen::lang::Value |
| A value that can be in the stack. | |
| using | sen::lang::ValueGetter = std::function<Value()> |
| Gets a value from some source. | |
| using | sen::lang::Environment = Span<ValueGetter> |
| The environment is an indexed list of value getter functions. | |
Functions | |
| TypeSetContext | sen::lang::parseFomDocuments (const std::vector< std::filesystem::path > &paths, const std::vector< std::filesystem::path > &mappings, const TypeSettings &settings) |
| const TypeSet * | sen::lang::readTypesFile (const std::filesystem::path &fileName, const std::vector< std::filesystem::path > &includePaths, TypeSetContext &globalTypeSetContext, const TypeSettings &settings, std::string_view from={}) |
| Helper function to use the resolver. | |
| std::string | sen::lang::toString (const StlToken &token) |
| std::string | sen::lang::toString (StlTokenType type) |
| template<typename T> | |
| T | sen::lang::extract (const Value &value) |
| Get T out of the value variant. | |
| template<typename T> | |
| bool | sen::lang::holds (const Value &value) noexcept |
| True if the variant holds T. | |
Variables | |
| constexpr std::size_t | sen::lang::stackMax = 256U |
Parsing and execution of STL.
| struct sen::lang::CodeLocation |
| struct sen::lang::StlUnaryExpr |
Unary operation.
| Class Members | ||
|---|---|---|
| StlUnaryOperator | op | |
| shared_ptr< StlExpr > | expr | |
| struct sen::lang::StlBinaryExpr |
Binary expression.
| Class Members | ||
|---|---|---|
| shared_ptr< StlExpr > | lhs | |
| StlBinaryOperator | op | |
| shared_ptr< StlExpr > | rhs | |
| struct sen::lang::StlLiteralExpr |
Literals.
| Class Members | ||
|---|---|---|
| StlToken | value | |
| struct sen::lang::StlGroupingExpr |
Groups.
| Class Members | ||
|---|---|---|
| shared_ptr< StlExpr > | expr | |
| struct sen::lang::StlLogicalExpr |
Binary logical operation.
| Class Members | ||
|---|---|---|
| shared_ptr< StlExpr > | lhs | |
| StlLogicalOperator | op | |
| shared_ptr< StlExpr > | rhs | |
| struct sen::lang::StlVariableExpr |
A variable.
| Class Members | ||
|---|---|---|
| vector< StlToken > | path | |
| string | name | |
| struct sen::lang::StlBetweenExpr |
| struct sen::lang::StlInExpr |
| struct sen::lang::StlExpr |
Wrapper for expression values.
| Class Members | ||
|---|---|---|
| StlExprVal | value | |
| struct sen::lang::TypeSet |
A set of types coming from a STL file.
| Class Members | ||
|---|---|---|
| string | fileName | |
| string | parentDirectory | |
| vector< string > | package | |
| vector< ConstTypeHandle< CustomType > > | types | |
| vector< const TypeSet * > | importedSets | |
| struct sen::lang::ResolverContext |
| struct sen::lang::ClassAnnotations |
| struct sen::lang::StlImportStatement |
| Class Members | ||
|---|---|---|
| StlToken | fileName | |
| struct sen::lang::StlPackageStatement |
| Class Members | ||
|---|---|---|
| vector< StlToken > | path | |
| struct sen::lang::StlTypeNameStatement |
| Class Members | ||
|---|---|---|
| vector< StlToken > | path | |
| string | qualifiedName | |
| struct sen::lang::StlStructFieldStatement |
| Class Members | ||
|---|---|---|
| StlTypeNameStatement | typeName | |
| StlToken | identifier | |
| vector< StlToken > | description | |
| struct sen::lang::StlStructStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| vector< StlToken > | description | |
| optional< StlTypeNameStatement > | parentStructName | |
| vector< StlStructFieldStatement > | fields | |
| struct sen::lang::StlEnumeratorStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| vector< StlToken > | description | |
| StlAttributeList | attributes | |
| struct sen::lang::StlEnumStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| vector< StlToken > | description | |
| StlTypeNameStatement | storageTypeName | |
| vector< StlEnumeratorStatement > | enumerators | |
| struct sen::lang::StlVariantElement |
| Class Members | ||
|---|---|---|
| StlTypeNameStatement | typeName | |
| vector< StlToken > | description | |
| struct sen::lang::StlVariantStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| vector< StlToken > | description | |
| vector< StlVariantElement > | elements | |
| struct sen::lang::StlQuantityStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| vector< StlToken > | description | |
| StlTypeNameStatement | valueTypeName | |
| StlToken | unitName | |
| optional< StlAttributeList > | attributes | |
| struct sen::lang::StlSequenceStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| vector< StlToken > | description | |
| StlTypeNameStatement | elementTypeName | |
| optional< StlToken > | maxSize | |
| optional< StlAttributeList > | attributes | |
| struct sen::lang::StlArrayStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| vector< StlToken > | description | |
| StlTypeNameStatement | elementTypeName | |
| StlToken | size | |
| optional< StlAttributeList > | attributes | |
| struct sen::lang::StlTypeAliasStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| StlTypeNameStatement | typeName | |
| vector< StlToken > | description | |
| struct sen::lang::StlOptionalTypeStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| StlTypeNameStatement | typeName | |
| vector< StlToken > | description | |
| struct sen::lang::StlArgStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| StlTypeNameStatement | typeName | |
| vector< StlToken > | description | |
| struct sen::lang::StlVarStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| StlToken | defaultValue | |
| vector< StlToken > | description | |
| StlAttributeList | attributes | |
| StlTypeNameStatement | typeName | |
| struct sen::lang::StlFunctionStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| vector< StlToken > | description | |
| StlAttributeList | attributes | |
| StlTypeNameStatement | returnTypeName | |
| vector< StlArgStatement > | arguments | |
| struct sen::lang::StlEventStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| vector< StlToken > | description | |
| StlAttributeList | attributes | |
| vector< StlArgStatement > | arguments | |
| struct sen::lang::StlInterfaceStatement |
| Class Members | ||
|---|---|---|
| StlToken | identifier | |
| vector< StlToken > | description | |
| vector< StlVarStatement > | properties | |
| vector< StlFunctionStatement > | functions | |
| vector< StlEventStatement > | events | |
| struct sen::lang::StlClassStatement |
| Class Members | ||
|---|---|---|
| bool | isAbstract = false | |
| StlInterfaceStatement | members | |
| StlTypeNameStatement | extends | |
| vector< StlTypeNameStatement > | implements | |
| struct sen::lang::QueryStatement |
| Class Members | ||
|---|---|---|
| optional< StlTypeNameStatement > | type | |
| BusNameStatement | bus | |
| shared_ptr< StlExpr > | condition | |
| struct sen::lang::VariantAccessError |
Represents a variant that could not be accessed.
| using sen::lang::StlExprVal |
A variant supporting all expressions.
| using sen::lang::StlAttributeList = std::vector<StlAttribute> |
| using sen::lang::StlStatement |
| using sen::lang::StlTokenList = std::vector<StlToken> |
| using sen::lang::Value |
A value that can be in the stack.
| using sen::lang::ValueGetter = std::function<Value()> |
Gets a value from some source.
| using sen::lang::Environment = Span<ValueGetter> |
The environment is an indexed list of value getter functions.
|
strong |
|
strong |
|
strong |
|
strong |
Supported tokens.
| enum sen::lang::OpCode : uint8_t |
Instructions that can be executed by the virtual machine.
|
inline |
|
nodiscard |
Helper function to use the resolver.
| std::string sen::lang::toString | ( | const StlToken & | token | ) |
| std::string sen::lang::toString | ( | StlTokenType | type | ) |
|
inlinenodiscard |
Get T out of the value variant.
|
inlinenodiscardnoexcept |
True if the variant holds T.
|
constexpr |