예제 #1
0
def buildMatrix(fname, rows, cols):
   # Construct an empty matrix with specified rows and cols
   matrix = []
   for i in range(0, rows):
       matrixCols = []
       for i in range(0, cols):
           matrixCols.append(0)
       matrix.append(matrixCols)

   # Open the file using Scanner or File Pointer
   # scanner example from http://troll.cs.ua.edu/cs150/projects/practice1.html
   if (fname):
       s = Scanner(fname)
       
       # Read the data from each row into an array
       scannedArray = []
       token = s.readtoken()
       while token != '':
           scannedArray.append(token)
           token = s.readtoken()

       # Append the array onto the matrix
       for rowNumber in range(0, len(matrix)):
           for columnNumber in range(0, len(matrix[rowNumber])):
               if (len(scannedArray) > 0):
                   matrix[rowNumber][columnNumber] = scannedArray.pop(0)

       # Close the file
       s.close()

   return matrix
예제 #2
0
def readTable(filename):
    s = Scanner(filename)
    table = []
    record = readRecord(s)
    while record != "":
        table.append(record)
        record = readRecord(s)
    s.close()
    return table
예제 #3
0
        values = QueueSLL()
        try:
            scan = Scanner(filename)
        except IOError:
            print("file not found")
            input()
            continue
        while True:
            nextInt = scan.readint()
            if nextInt == "":
                break
            if type(heap) == HeapBT:
                values.enqueue(BinaryNode(nextInt))
            else:
                values.enqueue(nextInt)
        scan.close()
        heap.readData(values)

    elif option == "v":
        if heap.peek() == None:
            print("Error: the tree is empty")
            input()
        else:
            if type(heap) == HeapBT:
                gw = TreeGraphWriter("graph", heap)
            else:
                gw = ArrayGraphWriter("graph", heap)
            gw.createGraph()
            gw.display()

    elif option == "s":
from scanner import Scanner


def readEmployeeRecord(s):
    name = s.readtoken()
    id = s.readtoken()
    title = s.readtoken()

    return name, id, title


s = Scanner(0)

print("about to scan")

t = s.readtoken()

ch = s.readrawchar()

q = s.readtoken()

print("<", t, "><", ch, "><", q, ">", sep="")

s.close()
예제 #5
0
# Ali Shafiee 			97110122
# Shayan Cheshm Jahan	97110047

from scanner import Scanner
from parser import Parser

if __name__ == '__main__':
    scanner = Scanner('input.txt')
    scanner.init_states()

    parser = Parser(scanner)
    parser.start()

    parser.write_tree('pars_tree.txt')
    parser.write_syntax_errors('syntax_errors.txt')

    scanner.write_tokens('tokens.txt')
    scanner.write_lexical_errors('lexical_errors.txt')
    scanner.write_symbol_table('symbol_table.txt')

    parser.semantic_checker.write_output('semantic_errors.txt')
    parser.subroutines.write_output('output.txt')

    scanner.close()