Пример #1
0
this_module = "msl.py"
copyright = "msl.py Copyright (C) %s Harold Grovesteen" % "2014"

# Python imports:
import sys  # Access the exit method and Python version information
if sys.hexversion < 0x03030000:
    raise NotImplementedError(
        "%s requires Python version 3.3 or higher, "
        "found: %s.%s" %
        (this_module, sys.version_info[0], sys.version_info[1]))
import argparse  # Access the command line parser

# Setup PYTHONPATH
import satkutil
satkutil.pythonpath("asma")  # Provides path to msldb
satkutil.pythonpath("tools/lang")  # Provides path to sopl

# ASMA imports
import msldb  # Access the database

#
#  +----------------------------+
#  |                            |
#  |   Command Line Execution   |
#  |                            |
#  +----------------------------+
#


class MSLIF(object):
Пример #2
0
# module msldb.py.

this_module="mslrpt.py"
copyright="%s Copyright (C) %s Harold Grovesteen" % (this_module,"2014")

# Python imports:
import sys               # Access the exit method
if sys.hexversion<0x03030000:
    raise NotImplementedError("%s requires Python version 3.3 or higher, "
        "found: %s.%s" % (this_module,sys.version_info[0],sys.version_info[1]))
import argparse          # Access the command line parser
import functools         # Access complex sorting sequences

# Setup PYTHONPATH
import satkutil          # Access utility functions
satkutil.pythonpath("asma")        # Provides path to msldb
satkutil.pythonpath("tools/lang")  # Provides path to sopl

# ASMA imports
import msldb             # Access the database

# SATK imports
from listing import *    # Access the formatted report tools


# This wraps a msldb.CPUX object with report information
class CPU(object):
    def __init__(self,col,filename,cpux):
        self.col=col
        self.filename=filename
        self.cpux=cpux
Пример #3
0
# module msldb.py.

this_module="mslrpt.py"
copyright="%s Copyright (C) %s Harold Grovesteen" % (this_module,"2014, 2017")

# Python imports:
import sys               # Access the exit method
if sys.hexversion<0x03030000:
    raise NotImplementedError("%s requires Python version 3.3 or higher, "
        "found: %s.%s" % (this_module,sys.version_info[0],sys.version_info[1]))
import argparse          # Access the command line parser
import functools         # Access complex sorting sequences

# Setup PYTHONPATH
import satkutil          # Access utility functions
satkutil.pythonpath("asma")        # Provides path to msldb.py
satkutil.pythonpath("tools/lang")  # Provides path to sopl.py needed by msldb

# ASMA imports
import msldb             # Access the database

# SATK imports
from listing import *    # Access the formatted report tools


# This wraps a msldb.CPUX object with report information
class CPU(object):
    def __init__(self,col,filename,cpux):
        # The column ndx into which this CPU instruction's flags are placed
        self.col=col
        self.filename=filename   # The MSL filename upon which this cpu is based
Пример #4
0
import sys
if sys.hexversion<0x03030000:
    raise NotImplementedError("%s requires Python version 3.3 or higher, "
        "found: %s.%s" % (this_module,sys.version_info[0],sys.version_info[1]))
import time

# Remember import start times as early as possible for better time reporting.
import_start=process_start=time.process_time()
import_start_w=wall_start=time.time()

import argparse


# Setup PYTHONPATH
import satkutil
satkutil.pythonpath("asma")
satkutil.pythonpath("tools/lang")
satkutil.pythonpath("tools/ipl")

# ASMA imports
import assembler

class ASMA(object):
    # Default MSL database file and CPU for recognized generic architecture
    archs={"s360": ("s360-insn.msl",  "s360"),
           "s370": ("s370-insn.msl",  "s370"),
           "s380": ("s380-insn.msl",  "s380"),
           "370xa":("s370XA-insn.msl","s370XA"),
           "e370": ("e370-insn.msl",  "e370"),
           "e390": ("e390-insn.msl",  "e390"),
           "s390": ("s390x-insn.msl", "s390"),
Пример #5
0
this_module = "saconfig.py"
copyright_years = "2013,2014"

# Python imports:
import sys
if sys.hexversion < 0x03030000:
    raise NotImplementedError(
        "%s requires Python version 3.3 or higher, "
        "found: %s.%s" %
        (this_module, sys.version_info[0], sys.version_info[1]))
import argparse
import os

# SATK imports:
import satkutil
satkutil.pythonpath(
    "tools/lang")  # Dynamically add language tools to PYTHONPATH
from langutil import *


# The key-word language processor for SA configuration
class SACFG(KWLang):
    def __init__(self, dm, case="M", recovery=False):
        super().__init__()  # Override required TID names here if needed
        self.dm = dm  # The global debug manager
        outcase = "upper"  # Reserved word converted to uppercase

        # Define the Keyword Language
        tdebug = self.dm.isdebug("tdebug")

        defn = self.begin(ptrace=False)
        defn.opt(WordType("ARCHS",\
Пример #6
0
this_module = "hopcodes.py"
copyright = "%s Copyright (C) %s Harold Grovesteen" % (this_module, "2016")

# Python Imports:
import sys
if sys.hexversion < 0x03030000:
    raise NotImplementedError(
        "%s requires Python version 3.3 or higher, "
        "found: %s.%s" %
        (this_module, sys.version_info[0], sys.version_info[1]))
import argparse  # Access command-line processor

# SATK Imports:
import satkutil  # Access dynmamic Python path modifications
satkutil.pythonpath("asma")  # Access msldb for MSL database access
satkutil.pythonpath("tools/herc")  # Access the Hercules audit module
satkutil.pythonpath("tools/lang")  # Access sopl.py for asma msldb module
import herc_audit  # Access the Hercules operation code audit processing


# Parse the command line arguments.
# Returns:
#   argparse Namespace object.
def parse_args():
    parser=argparse.ArgumentParser(prog=this_module,
        epilog=copyright,
        description="audits Hercules operation code tables against ASMA MSL "\
            "specifications")

    parser.add_argument("-H","--Hercules",metavar="DIR",\
Пример #7
0
# This module provides the command-line interface for invoking the Hercules
# operation code audit module: tools/herc/hopaudit.py.

this_module="hopcodes.py"
copyright="%s Copyright (C) %s Harold Grovesteen" % (this_module,"2016")

# Python Imports:
import sys
if sys.hexversion<0x03030000:
    raise NotImplementedError("%s requires Python version 3.3 or higher, "
        "found: %s.%s" % (this_module,sys.version_info[0],sys.version_info[1]))
import argparse       # Access command-line processor

# SATK Imports:
import satkutil       # Access dynmamic Python path modifications
satkutil.pythonpath("asma")         # Access msldb for MSL database access
satkutil.pythonpath("tools/herc")   # Access the Hercules audit module
satkutil.pythonpath("tools/lang")   # Access sopl.py for asma msldb module
import herc_audit     # Access the Hercules operation code audit processing


# Parse the command line arguments.
# Returns:
#   argparse Namespace object.
def parse_args():
    parser=argparse.ArgumentParser(prog=this_module,
        epilog=copyright, 
        description="audits Hercules operation code tables against ASMA MSL "\
            "specifications")

    parser.add_argument("-H","--Hercules",metavar="DIR",\
Пример #8
0
copyright = "%s Copyright (C) %s Harold Grovesteen" % (this_module,
                                                       "2014, 2017")

# Python imports:
import sys  # Access the exit method
if sys.hexversion < 0x03030000:
    raise NotImplementedError(
        "%s requires Python version 3.3 or higher, "
        "found: %s.%s" %
        (this_module, sys.version_info[0], sys.version_info[1]))
import argparse  # Access the command line parser
import functools  # Access complex sorting sequences

# Setup PYTHONPATH
import satkutil  # Access utility functions
satkutil.pythonpath("asma")  # Provides path to msldb.py
satkutil.pythonpath("tools/lang")  # Provides path to sopl.py needed by msldb

# ASMA imports
import msldb  # Access the database

# SATK imports
from listing import *  # Access the formatted report tools


# This wraps a msldb.CPUX object with report information
class CPU(object):
    def __init__(self, col, filename, cpux):
        # The column ndx into which this CPU instruction's flags are placed
        self.col = col
        self.filename = filename  # The MSL filename upon which this cpu is based
Пример #9
0
# Minimal input requires a SYSTEM statement. 

this_module="saconfig.py"
copyright_years="2013,2014"

# Python imports:
import sys
if sys.hexversion<0x03030000:
    raise NotImplementedError("%s requires Python version 3.3 or higher, "
        "found: %s.%s" % (this_module,sys.version_info[0],sys.version_info[1]))
import argparse
import os

# SATK imports:
import satkutil
satkutil.pythonpath("tools/lang")   # Dynamically add language tools to PYTHONPATH
from langutil import *

# The key-word language processor for SA configuration
class SACFG(KWLang):
    def __init__(self,dm,case="M",recovery=False):
        super().__init__()      # Override required TID names here if needed
        self.dm=dm              # The global debug manager
        outcase="upper"         # Reserved word converted to uppercase
        
        # Define the Keyword Language
        tdebug=self.dm.isdebug("tdebug")
      
        defn=self.begin(ptrace=False)
        defn.opt(WordType("ARCHS",\
            words=["S/370BC","S/370","ESA/390","z/Architecture"],\