1# -*- mode:python -*- 2 3# Copyright (c) 2009 The Hewlett-Packard Development Company 4# All rights reserved. 5# 6# Redistribution and use in source and binary forms, with or without 7# modification, are permitted provided that the following conditions are 8# met: redistributions of source code must retain the above copyright --- 49 unchanged lines hidden (view full) --- 58def slicc_scanner(node, env, path): 59 contents = node.get_contents() 60 files = [ line.strip() for line in contents.splitlines() if line ] 61 return files 62 63env.Append(SCANNERS=Scanner(function=slicc_scanner,skeys=['.slicc'])) 64 65def slicc_emitter(target, source, env): |
66 protocol = source[0].get_contents() |
67 files = [s.srcnode().abspath for s in source[1:]] |
68 slicc = SLICC(protocol, debug=True) |
69 print "SLICC parsing..." 70 for name in slicc.load(files, verbose=True): 71 print " %s" % name 72 73 target.extend(sorted(slicc.files())) 74 pdir = str(protocol_dir) 75 hdir = str(html_dir) 76 --- 23 unchanged lines hidden (view full) --- 100 pdir = str(protocol_dir) 101 hdir = str(html_dir) 102 103 if not isdir(pdir): 104 os.mkdir(pdir) 105 if not isdir(hdir): 106 os.mkdir(hdir) 107 |
108 slicc = SLICC(protocol, debug=True) |
109 files = [str(s) for s in source[1:]] 110 slicc.load(files, verbose=False) 111 112 print "SLICC Generator pass 1..." 113 slicc.findMachines() 114 115 print "SLICC Generator pass 2..." 116 slicc.generate() --- 27 unchanged lines hidden --- |