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):
# 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
# 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
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"),
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",\
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",\
# 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",\
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
# 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"],\