main.py (6714:028047200ff7) | main.py (8453:82fc1267d3bb) |
---|---|
1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 2# Copyright (c) 2009 The Hewlett-Packard Development Company 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 46 unchanged lines hidden (view full) --- 55 parser.add_option("-d", "--debug", default=False, action="store_true", 56 help="Turn on PLY debugging") 57 parser.add_option("-C", "--code-path", default="generated", 58 help="Path where C++ code output code goes") 59 parser.add_option("-H", "--html-path", 60 help="Path where html output goes") 61 parser.add_option("-F", "--print-files", 62 help="Print files that SLICC will generate") | 1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 2# Copyright (c) 2009 The Hewlett-Packard Development Company 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 46 unchanged lines hidden (view full) --- 55 parser.add_option("-d", "--debug", default=False, action="store_true", 56 help="Turn on PLY debugging") 57 parser.add_option("-C", "--code-path", default="generated", 58 help="Path where C++ code output code goes") 59 parser.add_option("-H", "--html-path", 60 help="Path where html output goes") 61 parser.add_option("-F", "--print-files", 62 help="Print files that SLICC will generate") |
63 parser.add_option("--tb", "--traceback", action='store_true', 64 help="print traceback on error") |
|
63 parser.add_option("-q", "--quiet", 64 help="don't print messages") 65 opts,files = parser.parse_args(args=args) 66 67 if len(files) < 1: 68 parser.print_help() 69 sys.exit(2) 70 71 output = nprint if opts.quiet else eprint 72 73 output("SLICC v0.4") | 65 parser.add_option("-q", "--quiet", 66 help="don't print messages") 67 opts,files = parser.parse_args(args=args) 68 69 if len(files) < 1: 70 parser.print_help() 71 sys.exit(2) 72 73 output = nprint if opts.quiet else eprint 74 75 output("SLICC v0.4") |
74 slicc = SLICC(debug=opts.debug) 75 | |
76 output("Parsing...") | 76 output("Parsing...") |
77 for filename in slicc.load(files, verbose=True): 78 output(" %s", filename) | |
79 | 77 |
78 slicc = SLICC(debug=opts.debug) 79 slicc.load(files) 80 |
|
80 if opts.print_files: 81 for i in sorted(slicc.files()): 82 print ' %s' % i 83 else: | 81 if opts.print_files: 82 for i in sorted(slicc.files()): 83 print ' %s' % i 84 else: |
84 output("Generator pass 1...") 85 slicc.findMachines() | 85 output("Processing AST...") 86 slicc.process() |
86 | 87 |
87 output("Generator pass 2...") 88 slicc.generate() 89 90 output("Generating C++ files...") | 88 output("Writing C++ files...") |
91 slicc.writeCodeFiles(opts.code_path) 92 93 if opts.html_path: | 89 slicc.writeCodeFiles(opts.code_path) 90 91 if opts.html_path: |
94 nprint("Writing HTML files...") | 92 output("Writing HTML files...") |
95 slicc.writeHTMLFiles(opts.html_path) 96 | 93 slicc.writeHTMLFiles(opts.html_path) 94 |
97 eprint("SLICC is Done.") | 95 output("SLICC is Done.") |
98 99if __name__ == "__main__": 100 main() | 96 97if __name__ == "__main__": 98 main() |