コード例 #1
0
  @Override
  protected CBaseLanguageEntity DoCustomSemanticAnalysis(
      CBaseLanguageEntity parent, CBaseEntityFactory factory) {
    CEntityDataSection data = factory.NewEntityDataSection(getLine(), "DeclarationSection");

    for (CConstantTerminal c : m_arrParams) {
      // TODO do semantic analysis
    }
    for (CFPacInputFile f : m_arrInputFiles) {
      f.DoSemanticAnalysis(data, factory);
    }
    for (CFPacOutputFile f : m_arrOutputFiles) {
      f.DoSemanticAnalysis(data, factory);
    }
    for (CFPacUpdateFile f : m_arrUpdateFiles) {
      f.DoSemanticAnalysis(data, factory);
    }

    parent.AddChild(data);
    return data;
  }