Für mein Lieblingsthema SML hatte ich überlegt schön struct's anzulegen, was auch wunderbar klappt.
struct SML_Unit // SML_Unit
{
uint8_t smlunit;
};
struct SML_Signature // SML_Signature
{
uint8_t *signature;
};
struct SML_PeriodEntry // SML_PeriodEntry
{
uint8_t *objName;
SML_Unit unit;
int8_t scaler;
SML_Value value;
SML_Signature valueSignature;
}prdEntry;
Der Zugriff dann via: prdEntry.unit.smlunit
bzw. prdEntry.valueSignature.signature
ist richtig schick.
Aber ich habe mit zwei Strukturaufbauten ein Problem, da diese optional rekursiv sind. Zur Veranschaulichung:
parameterTree ist vom Typ SML-Tree.
In der Struktur von SML_Tree ist die optionale child_List vom Typ List_of_SML_Tree
und diese hat als einziges Element wieder SML_Tree...

Lässt sich sowas irgendwie als struct abbilden und wenn ja, wie?
//
struct List_of_SML_Tree // List_of_SML_Tree
{
// **** Rekursiver Aufruf!!!
// ist sequence of! Kann merere tree_entry haben
// SML_Tree tree_Entry;
};
//
struct SML_Tree // SML_Tree
{
uint8_t *parameterName;
SML_ProcParValue parameterValue;
List_of_SML_Tree child_list;
};
//
Ich bin jetzt am überlegen das als Funktion zu bauen, wüsste es aber trotzdem ob und wenn ja wie man da was reissen kann.