3

次のような大きな構造化言語ファイルがあります。

TASK SchM_Task {
    TYPE = AUTO;
    SCHEDULE = NON;
    PRIORITY = 160;
    ACTIVATION = 1;
    TIMING_PROTECTION = FALSE;
    AUTOSTART = FALSE;
    EVENT = SchM_Event;
    RESOURCE = SystemS_Resource;
    StackSize = 1024;
    NotUsingSchedule = FALSE;
}: "BSW task for calling of bsw runnables";
ALARM SchM_Alarm {
    COUNTER = SystemTimer;
    ACTION = SETEVENT
    {
       TASK = SchM_Task;
       EVENT = SchM_Event;
    };
    AUTOSTART = FALSE
    {
       StaticAlarm = FALSE;
    };
};
RESOURCE SystemS_Resource {
    RESOURCEPROPERTY = INTERNAL;
}: "Via this resource the cooperativ behavior can be set";
EVENT SchM_Event {
   MASK = AUTO;
};
ISR CanIsr_1 {
   CATEGORY = 2;
   TIMING_PROTECTION = FALSE;
   EnableNesting = TRUE;
   InterruptLevel = 30;
   InterruptSource = CAN1IRQ;
   StackSize = 1024;
   UseSpecialFunctionName = FALSE;
}: "CAN Send/Receive (main CAN)";

私はPythonとスクリプト作成に本当に慣れていません。Python を使用してこのテキスト ファイルを AST に解析する方法。Web での検索で、python の grako がオプションであることがわかりました。グラコがどのように機能するかをサンプルコードで説明していただけますか。ありがとうございます。

4

1 に答える 1

3

言語は十分に単純に見えます。プログラミング言語に関係なく、何をしなければならないかを理解するために、構文解析について少し読む必要があります。

PyParsingは Python プログラマーの間で人気があります。Grako (私は作者です) は、初心者が解析するには複雑すぎると思います。

于 2015-02-27T15:01:46.900 に答える