je dois analyser un fichier texte avec environ 10 000 groupes comme celui-ciDébutant a besoin de savoir comment analyser un groupe de texte tout comme ce
group "C_BatTemp" -- block-group
{
block: "Constant"
flags: BLOCK|COLLAPSED
}
-- Skipping output Out1
p_untitled_P_real_T_0[1]
{
type: flt(64,IEEE)*
alias: "Value"
flags: PARAM
}
endgroup -- block-group "C_BatTemp"
Les objets désirés Je pense que le analyseur pour remplir ressembler à ceci
string Varname = "C_BatTemp";
string GroupType = "Constant";
string BaseAdressName = "p_untitled_P_real_T_0";
int AdressOffset = 1; // number in parenthesis p_untitled_P_real_T_0[1]<----
string VarType = "flt(64, IEEE)";
bool IsPointer = true; // true if VarType is "flt(64, IEEE)*" ,
//false if "flt(64, IEEE)"
string VarAlias = "Value";
Quelle est la meilleure façon d'analyser cette ??
Comment commencer?
Je pense que vous devez ajouter plus de détails sur la syntaxe de la langue que vous essayez d'analyser. Où sont les accolades requises? Il semble que la séquence '--' introduit un commentaire - est-ce vrai? Il semble que vous puissiez l'analyser avec une sorte d'automate à états finis (par exemple regex), mais en fonction des règles du langage, vous aurez peut-être besoin d'une lexique plus complexe. –