changeset ef5fae93a3b2 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=ef5fae93a3b2
description:
slicc: Pure python implementation of slicc.
This is simply a translation of the C++ slicc into python with very
minimal
reorganization of the code. The output can be verified as nearly
identical
by doing a "diff -wBur".
Slicc can easily be run manually by using util/slicc
diffstat:
177 files changed, 6517 insertions(+), 15233 deletions(-)
src/mem/protocol/SConscript | 86 -
src/mem/slicc/SConscript | 129 -
src/mem/slicc/__init__.py | 25
src/mem/slicc/ast/AST.cc | 39
src/mem/slicc/ast/AST.hh | 94 -
src/mem/slicc/ast/AST.py | 63
src/mem/slicc/ast/ASTs.hh | 91 -
src/mem/slicc/ast/ActionDeclAST.cc | 98 -
src/mem/slicc/ast/ActionDeclAST.hh | 86 -
src/mem/slicc/ast/ActionDeclAST.py | 72
src/mem/slicc/ast/AssignStatementAST.cc | 76 -
src/mem/slicc/ast/AssignStatementAST.hh | 85 -
src/mem/slicc/ast/AssignStatementAST.py | 59
src/mem/slicc/ast/CheckAllocateStatementAST.cc | 72
src/mem/slicc/ast/CheckAllocateStatementAST.hh | 82 -
src/mem/slicc/ast/CheckAllocateStatementAST.py | 47
src/mem/slicc/ast/CheckStopSlotsStatementAST.cc | 115 -
src/mem/slicc/ast/CheckStopSlotsStatementAST.hh | 85 -
src/mem/slicc/ast/CheckStopSlotsStatementAST.py | 74
src/mem/slicc/ast/ChipComponentAccessAST.cc | 244 ---
src/mem/slicc/ast/ChipComponentAccessAST.hh | 101 -
src/mem/slicc/ast/ChipComponentAccessAST.py | 161 ++
src/mem/slicc/ast/CopyHeadStatementAST.cc | 85 -
src/mem/slicc/ast/CopyHeadStatementAST.hh | 87 -
src/mem/slicc/ast/CopyHeadStatementAST.py | 52
src/mem/slicc/ast/DeclAST.cc | 39
src/mem/slicc/ast/DeclAST.hh | 85 -
src/mem/slicc/ast/DeclAST.py | 38
src/mem/slicc/ast/DeclListAST.cc | 86 -
src/mem/slicc/ast/DeclListAST.hh | 84 -
src/mem/slicc/ast/DeclListAST.py | 51
src/mem/slicc/ast/EnqueueStatementAST.cc | 111 -
src/mem/slicc/ast/EnqueueStatementAST.hh | 93 -
src/mem/slicc/ast/EnqueueStatementAST.py | 86 +
src/mem/slicc/ast/EnumDeclAST.cc | 98 -
src/mem/slicc/ast/EnumDeclAST.hh | 86 -
src/mem/slicc/ast/EnumDeclAST.py | 71
src/mem/slicc/ast/EnumExprAST.cc | 76 -
src/mem/slicc/ast/EnumExprAST.hh | 85 -
src/mem/slicc/ast/EnumExprAST.py | 53
src/mem/slicc/ast/ExprAST.cc | 39
src/mem/slicc/ast/ExprAST.hh | 84 -
src/mem/slicc/ast/ExprAST.py | 45
src/mem/slicc/ast/ExprStatementAST.cc | 73
src/mem/slicc/ast/ExprStatementAST.hh | 83 -
src/mem/slicc/ast/ExprStatementAST.py | 52
src/mem/slicc/ast/FormalParamAST.cc | 72
src/mem/slicc/ast/FormalParamAST.hh | 88 -
src/mem/slicc/ast/FormalParamAST.py | 52
src/mem/slicc/ast/FuncCallExprAST.cc | 224 --
src/mem/slicc/ast/FuncCallExprAST.hh | 89 -
src/mem/slicc/ast/FuncCallExprAST.py | 168 ++
src/mem/slicc/ast/FuncDeclAST.cc | 112 -
src/mem/slicc/ast/FuncDeclAST.hh | 91 -
src/mem/slicc/ast/FuncDeclAST.py | 88 +
src/mem/slicc/ast/IfStatementAST.cc | 98 -
src/mem/slicc/ast/IfStatementAST.hh | 89 -
src/mem/slicc/ast/IfStatementAST.py | 74
src/mem/slicc/ast/InPortDeclAST.cc | 149 -
src/mem/slicc/ast/InPortDeclAST.hh | 91 -
src/mem/slicc/ast/InPortDeclAST.py | 130 +
src/mem/slicc/ast/InfixOperatorExprAST.cc | 121 -
src/mem/slicc/ast/InfixOperatorExprAST.hh | 85 -
src/mem/slicc/ast/InfixOperatorExprAST.py | 89 +
src/mem/slicc/ast/LiteralExprAST.cc | 55
src/mem/slicc/ast/LiteralExprAST.hh | 83 -
src/mem/slicc/ast/LiteralExprAST.py | 55
src/mem/slicc/ast/Location.cc | 87 -
src/mem/slicc/ast/Location.hh | 93 -
src/mem/slicc/ast/MachineAST.cc | 99 -
src/mem/slicc/ast/MachineAST.hh | 93 -
src/mem/slicc/ast/MachineAST.py | 81 +
src/mem/slicc/ast/MemberExprAST.cc | 72
src/mem/slicc/ast/MemberExprAST.hh | 83 -
src/mem/slicc/ast/MemberExprAST.py | 55
src/mem/slicc/ast/MethodCallExprAST.cc | 160 --
src/mem/slicc/ast/MethodCallExprAST.hh | 93 -
src/mem/slicc/ast/MethodCallExprAST.py | 127 +
src/mem/slicc/ast/NewExprAST.cc | 9
src/mem/slicc/ast/NewExprAST.hh | 20
src/mem/slicc/ast/NewExprAST.py | 47
src/mem/slicc/ast/ObjDeclAST.cc | 137 -
src/mem/slicc/ast/ObjDeclAST.hh | 86 -
src/mem/slicc/ast/ObjDeclAST.py | 94 +
src/mem/slicc/ast/OutPortDeclAST.cc | 79 -
src/mem/slicc/ast/OutPortDeclAST.hh | 89 -
src/mem/slicc/ast/OutPortDeclAST.py | 57
src/mem/slicc/ast/PairAST.cc | 72
src/mem/slicc/ast/PairAST.hh | 86 -
src/mem/slicc/ast/PairAST.py | 36
src/mem/slicc/ast/PairListAST.cc | 49
src/mem/slicc/ast/PairListAST.hh | 82 -
src/mem/slicc/ast/PairListAST.py | 37
src/mem/slicc/ast/PeekStatementAST.cc | 115 -
src/mem/slicc/ast/PeekStatementAST.hh | 91 -
src/mem/slicc/ast/PeekStatementAST.py | 73
src/mem/slicc/ast/ReturnStatementAST.cc | 79 -
src/mem/slicc/ast/ReturnStatementAST.hh | 83 -
src/mem/slicc/ast/ReturnStatementAST.py | 54
src/mem/slicc/ast/StatementAST.cc | 60
src/mem/slicc/ast/StatementAST.hh | 88 -
src/mem/slicc/ast/StatementAST.py | 34
src/mem/slicc/ast/StatementListAST.cc | 86 -
src/mem/slicc/ast/StatementListAST.hh | 85 -
src/mem/slicc/ast/StatementListAST.py | 46
src/mem/slicc/ast/TransitionDeclAST.cc | 89 -
src/mem/slicc/ast/TransitionDeclAST.hh | 89 -
src/mem/slicc/ast/TransitionDeclAST.py | 54
src/mem/slicc/ast/TypeAST.cc | 67
src/mem/slicc/ast/TypeAST.hh | 83 -
src/mem/slicc/ast/TypeAST.py | 53
src/mem/slicc/ast/TypeDeclAST.cc | 86 -
src/mem/slicc/ast/TypeDeclAST.hh | 86 -
src/mem/slicc/ast/TypeDeclAST.py | 62
src/mem/slicc/ast/TypeFieldAST.cc | 44
src/mem/slicc/ast/TypeFieldAST.hh | 83 -
src/mem/slicc/ast/TypeFieldAST.py | 32
src/mem/slicc/ast/TypeFieldEnumAST.cc | 82 -
src/mem/slicc/ast/TypeFieldEnumAST.hh | 86 -
src/mem/slicc/ast/TypeFieldEnumAST.py | 59
src/mem/slicc/ast/TypeFieldMemberAST.cc | 84 -
src/mem/slicc/ast/TypeFieldMemberAST.hh | 91 -
src/mem/slicc/ast/TypeFieldMemberAST.py | 57
src/mem/slicc/ast/TypeFieldMethodAST.cc | 81 -
src/mem/slicc/ast/TypeFieldMethodAST.hh | 87 -
src/mem/slicc/ast/TypeFieldMethodAST.py | 50
src/mem/slicc/ast/VarExprAST.cc | 76 -
src/mem/slicc/ast/VarExprAST.hh | 86 -
src/mem/slicc/ast/VarExprAST.py | 66
src/mem/slicc/ast/__init__.py | 69
src/mem/slicc/generate/dot.py | 42
src/mem/slicc/generate/html.py | 80 +
src/mem/slicc/generate/tex.py | 71
src/mem/slicc/generator/fileio.cc | 66
src/mem/slicc/generator/fileio.hh | 46
src/mem/slicc/generator/html_gen.cc | 125 -
src/mem/slicc/generator/html_gen.hh | 49
src/mem/slicc/generator/mif_gen.cc | 1718 -----------------------
src/mem/slicc/generator/mif_gen.hh | 45
src/mem/slicc/main.cc | 246 ---
src/mem/slicc/main.hh | 48
src/mem/slicc/main.py | 108 +
src/mem/slicc/parser.py | 669 ++++++++
src/mem/slicc/parser/lexer.ll | 125 -
src/mem/slicc/parser/parser.py | 563 -------
src/mem/slicc/parser/parser.yy | 360 ----
src/mem/slicc/slicc_global.hh | 125 -
src/mem/slicc/symbols/Action.hh | 52
src/mem/slicc/symbols/Action.py | 38
src/mem/slicc/symbols/Event.hh | 45
src/mem/slicc/symbols/Event.py | 34
src/mem/slicc/symbols/Func.cc | 143 -
src/mem/slicc/symbols/Func.hh | 96 -
src/mem/slicc/symbols/Func.py | 107 +
src/mem/slicc/symbols/State.hh | 45
src/mem/slicc/symbols/State.py | 34
src/mem/slicc/symbols/StateMachine.cc | 1534 --------------------
src/mem/slicc/symbols/StateMachine.hh | 156 --
src/mem/slicc/symbols/StateMachine.py | 1222 ++++++++++++++++
src/mem/slicc/symbols/Symbol.cc | 72
src/mem/slicc/symbols/Symbol.hh | 100 -
src/mem/slicc/symbols/Symbol.py | 78 +
src/mem/slicc/symbols/SymbolTable.cc | 327 ----
src/mem/slicc/symbols/SymbolTable.hh | 121 -
src/mem/slicc/symbols/SymbolTable.py | 218 ++
src/mem/slicc/symbols/Transition.cc | 173 --
src/mem/slicc/symbols/Transition.hh | 120 -
src/mem/slicc/symbols/Transition.py | 61
src/mem/slicc/symbols/Type.cc | 779 ----------
src/mem/slicc/symbols/Type.hh | 155 --
src/mem/slicc/symbols/Type.py | 650 ++++++++
src/mem/slicc/symbols/Var.cc | 57
src/mem/slicc/symbols/Var.hh | 98 -
src/mem/slicc/symbols/Var.py | 50
src/mem/slicc/symbols/__init__.py | 38
src/mem/slicc/util.py | 75 +
util/slicc | 38
diffs (truncated from 22490 to 300 lines):
diff -r 69714e675ee2 -r ef5fae93a3b2 src/mem/protocol/SConscript
--- a/src/mem/protocol/SConscript Tue Sep 22 15:24:16 2009 -0700
+++ b/src/mem/protocol/SConscript Tue Sep 22 18:12:39 2009 -0700
@@ -29,30 +29,56 @@
# Authors: Nathan Binkert
import os
-import re
-import string
import sys
-from os.path import basename, dirname, exists, expanduser, isdir, isfile
-from os.path import join as joinpath
-
-import SCons
+from os.path import isdir, isfile, join as joinpath
Import('*')
if not env['RUBY']:
Return()
-slicc_dir = Dir('../slicc')
protocol_dir = Dir('.')
html_dir = Dir('html')
+slicc_dir = Dir('../slicc')
+
+sys.path[1:1] = [ Dir('..').srcnode().abspath ]
+from slicc.parser import SLICC
+
+slicc_depends = []
+for root,dirs,files in os.walk(slicc_dir.srcnode().abspath):
+ for f in files:
+ if f.endswith('.py'):
+ slicc_depends.append(File(joinpath(root, f)))
#
# Use SLICC
#
-def slicc_generator(target, source, env, for_signature):
- slicc_bin = str(source[0])
- protocol = source[1].get_contents()
+
+def slicc_scanner(node, env, path):
+ contents = node.get_contents()
+ files = [ line.strip() for line in contents.splitlines() ]
+ return files
+
+env.Append(SCANNERS=Scanner(function=slicc_scanner,skeys=['.slicc']))
+
+def slicc_emitter(target, source, env):
+ files = [s.srcnode().abspath for s in source[1:]]
+ slicc = SLICC(debug=True)
+ print "SLICC parsing..."
+ for name in slicc.load(files, verbose=True):
+ print " %s" % name
+
+ hh,cc = slicc.files()
+ target.extend(sorted(hh))
+ target.extend(sorted(cc))
+ f = file('/tmp/asdf', 'w')
+ for t in target:
+ print >>f, t
+ return target, source
+
+def slicc_action(target, source, env):
+ protocol = source[0].get_contents()
pdir = str(protocol_dir)
hdir = str(html_dir)
@@ -61,31 +87,31 @@
if not isdir(hdir):
os.mkdir(hdir)
- do_html = "html"
- cmdline = [ slicc_bin, pdir, hdir, protocol, do_html ]
- cmdline += [ str(s) for s in source[2:] ]
- cmdline = ' '.join(cmdline)
- return cmdline
+ slicc = SLICC(debug=True)
+ files = [str(s) for s in source[1:]]
+ slicc.load(files, verbose=False)
-slicc_builder = Builder(generator=slicc_generator)
+ print "SLICC Generator pass 1..."
+ slicc.findMachines()
+
+ print "SLICC Generator pass 2..."
+ slicc.generate()
+
+ print "SLICC writing C++ files..."
+ slicc.writeCodeFiles(pdir)
+
+ print "SLICC writing HTML files..."
+ slicc.writeHTMLFiles(hdir)
+
+slicc_builder = Builder(action=slicc_action, emitter=slicc_emitter)
protocol = env['PROTOCOL']
sources = [ protocol_dir.File("RubySlicc_interfaces.slicc"),
protocol_dir.File("%s.slicc" % protocol) ]
-execfile(slicc_dir.File('parser/parser.py').srcnode().abspath)
+env.Append(BUILDERS={'SLICC' : slicc_builder})
+nodes = env.SLICC([], [ Value(protocol) ] + sources)
+env.Depends(nodes, slicc_depends)
-sm_files = read_slicc([s.srcnode().abspath for s in sources])
-sm_files = [ protocol_dir.File(f) for f in sm_files ]
-
-hh, cc = scan([s.srcnode().abspath for s in sm_files])
-hh = [ protocol_dir.File(f) for f in hh ]
-cc = [ protocol_dir.File(f) for f in cc ]
-
-slicc_bin = slicc_dir.File("slicc")
-
-env.Append(BUILDERS={'SLICC' : slicc_builder})
-env.SLICC(hh + cc, [ slicc_bin, Value(protocol) ] + sm_files)
-
-for f in cc:
+for f in sorted(s for s in nodes if str(s).endswith('.cc')):
Source(f)
diff -r 69714e675ee2 -r ef5fae93a3b2 src/mem/slicc/SConscript
--- a/src/mem/slicc/SConscript Tue Sep 22 15:24:16 2009 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-# -*- mode:python -*-
-
-# Copyright (c) 2009 The Hewlett-Packard Development Company
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met: redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer;
-# redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution;
-# neither the name of the copyright holders nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Authors: Nathan Binkert
-
-import os
-import re
-import string
-import sys
-
-from os.path import basename, dirname, exists, expanduser, isdir, isfile
-from os.path import join as joinpath
-
-import SCons
-
-Import('*')
-
-if not env['RUBY']:
- Return()
-
-common_dir = Dir('../gems_common')
-
-#
-# Build SLICC
-#
-slicc_env = env.Clone()
-slicc_env['CPPDEFINES'] = ''
-slicc_env['CPPPATH'] = Dir('../..')
-slicc_env.Append(CCFLAGS=['-g', '-O0'])
-slicc_env.Append(CPPDEFINES=['DEBUG', 'TRACING_ON=1'])
-slicc_env['LIBS'] = ''
-slicc_env['LIBPATH'] = ''
-all_slicc_sources = []
-def SliccSource(filename):
- if filename.endswith('.ll') or filename.endswith('.yy'):
- slicc_env.CXXFile(filename)
- filename = filename[:-2] + "cc"
- x = slicc_env.StaticObject(filename)
- all_slicc_sources.append(x)
- return x
-
-# BE CAREFUL WITH THE ORDER OF FILENAMES HERE. SLICC IS VERY FRAGILE
-# BECAUSE IT VIOLATES ESTABLISHED RULES ABOUT HOW YOU'RE ALLOWED TO
-# CREATE STATIC OBJECTS. (SLICC HAS DEPENDENCIES DURING STATIC OBJECT
-# CONSTRUCTION ACROSS FILES. THAT'S A NO-NO.) WITH THIS FILE ORDER,
-# WE GET LUCKY AND OBJECTS GET CONSTRUCTED IN THE RIGHT ORDER.
-SliccSource('parser/parser.yy')
-SliccSource('parser/lexer.ll')
-SliccSource('main.cc')
-SliccSource('symbols/Func.cc')
-SliccSource('symbols/StateMachine.cc')
-SliccSource('symbols/Symbol.cc')
-SliccSource('symbols/SymbolTable.cc')
-SliccSource('symbols/Transition.cc')
-SliccSource('symbols/Type.cc')
-SliccSource('symbols/Var.cc')
-SliccSource('generator/fileio.cc')
-SliccSource('generator/html_gen.cc')
-SliccSource('generator/mif_gen.cc')
-SliccSource('ast/AST.cc')
-SliccSource('ast/ActionDeclAST.cc')
-SliccSource('ast/AssignStatementAST.cc')
-SliccSource('ast/CheckAllocateStatementAST.cc')
-SliccSource('ast/CheckStopSlotsStatementAST.cc')
-SliccSource('ast/ChipComponentAccessAST.cc')
-SliccSource('ast/CopyHeadStatementAST.cc')
-SliccSource('ast/DeclAST.cc')
-SliccSource('ast/DeclListAST.cc')
-SliccSource('ast/EnqueueStatementAST.cc')
-SliccSource('ast/EnumDeclAST.cc')
-SliccSource('ast/EnumExprAST.cc')
-SliccSource('ast/ExprAST.cc')
-SliccSource('ast/ExprStatementAST.cc')
-SliccSource('ast/FormalParamAST.cc')
-SliccSource('ast/FuncCallExprAST.cc')
-SliccSource('ast/FuncDeclAST.cc')
-SliccSource('ast/IfStatementAST.cc')
-SliccSource('ast/InPortDeclAST.cc')
-SliccSource('ast/InfixOperatorExprAST.cc')
-SliccSource('ast/LiteralExprAST.cc')
-SliccSource('ast/Location.cc')
-SliccSource('ast/MachineAST.cc')
-SliccSource('ast/MemberExprAST.cc')
-SliccSource('ast/MethodCallExprAST.cc')
-SliccSource('ast/NewExprAST.cc')
-SliccSource('ast/ObjDeclAST.cc')
-SliccSource('ast/OutPortDeclAST.cc')
-SliccSource('ast/PairAST.cc')
-SliccSource('ast/PairListAST.cc')
-SliccSource('ast/PeekStatementAST.cc')
-SliccSource('ast/ReturnStatementAST.cc')
-SliccSource('ast/StatementAST.cc')
-SliccSource('ast/StatementListAST.cc')
-SliccSource('ast/TransitionDeclAST.cc')
-SliccSource('ast/TypeAST.cc')
-SliccSource('ast/TypeDeclAST.cc')
-SliccSource('ast/TypeFieldAST.cc')
-SliccSource('ast/TypeFieldEnumAST.cc')
-SliccSource('ast/TypeFieldMemberAST.cc')
-SliccSource('ast/TypeFieldMethodAST.cc')
-SliccSource('ast/VarExprAST.cc')
-
-slicc_bin = File('slicc')
-slicc_env.Program(slicc_bin, all_slicc_sources + [ common_dir.File('util.o') ])
diff -r 69714e675ee2 -r ef5fae93a3b2 src/mem/slicc/__init__.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mem/slicc/__init__.py Tue Sep 22 18:12:39 2009 -0700
@@ -0,0 +1,25 @@
+# Copyright (c) 2009 The Hewlett-Packard Development Company
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met: redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer;
+# redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution;
+# neither the name of the copyright holders nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff -r 69714e675ee2 -r ef5fae93a3b2 src/mem/slicc/ast/AST.cc
--- a/src/mem/slicc/ast/AST.cc Tue Sep 22 15:24:16 2009 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-
-/*
- * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev