Urban

URBAN.java

Create Tables

Load Table Data

Create View

RegxVerifier.java

hasDirective()

validDirectiveRegs()

checkLabel()

checkOperands()

genericOpRegs()

check params

hasInstruction()

validInstructionRegs()

checkLabel()

checkOperands()

genericOpRegs()

check params

parseProgram()

parseLine()

hasOperands() && syntaxValid()

parseSymbolParameters()

containsSymbol()

check for equ(e)

external

local

parseNormalParameters()

EX or contains *

ST

parseString()

normal

UrbanAssembler.java

1. loadProgram()

Read Line

verifyLine()

first line

verifyKicko()

last line

verifyEnd()

2. runPass1()

tokenizeLines()

If Syntax Valid

Line.java - tokenizeSource()

Else

Dont

SetUpLc()

Newlc or Kicko

lc = param

else

shouldIncrement()

buildSymbolTable()

line.hasLabel()

Equ(e)

parseExpression()

EXT

parseProgram()

outputTables

ObjectGenerator.java

findBasicInfo()

gets name && start

generateHeader()

generateLinkRecords

generateText

generateFormat() || directiveWord

generateModifictations()

generateEnd()

writeObjectFile()

parseExpression()

isValidParameter()