Changeset 100aaf5 in mainline for contrib/arch/hadlbppp.py


Ignore:
Timestamp:
2009-10-07T10:44:21Z (15 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0a1a313
Parents:
f563126
Message:

add support for generating Extended Bahavior Protocols output

File:
1 edited

Legend:

Unmodified
Added
Removed
  • contrib/arch/hadlbppp.py

    rf563126 r100aaf5  
    4242        "Print usage syntax"
    4343       
    44         print "%s <--dumpbp|--dumpadl|--noop>+ <OUTPUT>" % prname
     44        print "%s <--bp|--epb|--adl|--nop>+ <OUTPUT>" % prname
    4545
    4646def tabs(cnt):
     
    371371        return output
    372372
     373def parse_ebp(component, name, tokens, base_indent):
     374        "Parse Behavior Protocol and generate Extended Behavior Protocol output"
     375       
     376        return "component %s {\n\tbehavior {\n\t\t%s\n\t}\n}" % (component, parse_bp(name, tokens, base_indent + 2))
     377
    373378def get_iface(name):
    374379        "Get interface by name"
     
    401406       
    402407        global opt_bp
    403        
    404         fname = "%s.bp" % frame['name']
     408        global opt_ebp
     409       
     410        if (opt_ebp):
     411                fname = "%s.ebp" % frame['name']
     412        else:
     413                fname = "%s.bp" % frame['name']
    405414       
    406415        if (archf != None):
     
    439448                outf.write(parse_bp(outname, merge_bp(initialization, finalization, protocols), 0))
    440449                outf.close()
     450       
     451        if (opt_ebp):
     452                outf = file(outname, "w")
     453                outf.write(parse_ebp(frame['name'], outname, merge_bp(initialization, finalization, protocols), 0))
     454                outf.close()
    441455
    442456def get_system_arch():
     
    475489       
    476490        global opt_bp
     491        global opt_ebp
    477492       
    478493        if (archf != None):
     
    484499                outf = file(outname, "w")
    485500                outf.write("NULL")
     501                outf.close()
     502       
     503        if (opt_ebp):
     504                outf = file(outname, "w")
     505                outf.write("component null {\n\tbehavior {\n\t\tNULL\n\t}\n}")
    486506                outf.close()
    487507
     
    570590       
    571591        global opt_bp
     592        global opt_ebp
    572593       
    573594        arch = get_system_arch()
     
    614635       
    615636        outname = os.path.join(outdir, "%s.archbp" % arch['name'])
    616         if (opt_bp):
     637        if ((opt_bp) or (opt_ebp)):
    617638                outf = file(outname, "w")
    618639        else:
     
    15641585        global arch_properties
    15651586        global opt_bp
     1587        global opt_ebp
    15661588        global opt_adl
    15671589       
     
    15711593       
    15721594        opt_bp = False
     1595        opt_ebp = False
    15731596        opt_adl = False
    15741597       
    15751598        for arg in sys.argv[1:(len(sys.argv) - 1)]:
    1576                 if (arg == "--dumpbp"):
     1599                if (arg == "--bp"):
    15771600                        opt_bp = True
    1578                 elif (arg == "--dumpadl"):
     1601                elif (arg == "--ebp"):
     1602                        opt_ebp = True
     1603                elif (arg == "--adl"):
    15791604                        opt_adl = True
    1580                 elif (arg == "--noop"):
     1605                elif (arg == "--nop"):
    15811606                        pass
    15821607                else:
     
    15841609                        return
    15851610       
     1611        if ((opt_bp) and (opt_ebp)):
     1612                print "Error: Cannot dump both original Behavior Protocols and Extended Behavior Protocols"
     1613                return
     1614       
    15861615        path = os.path.abspath(sys.argv[-1])
    15871616        if (not os.path.isdir(path)):
Note: See TracChangeset for help on using the changeset viewer.