BNF for ralf.jj

NON-TERMINALS

Goal ::= setCollection paramCollection <EOF>
setCollection ::= pseudoSet locSet instSet regSet
paramCollection ::= callerSaveParam freqParam liveParam liveHardRegParam basePseudoRegParam baseHardRegParam reqParam HRreqParam prevInstParam prevInstsParam defParam defHardRegParam lsmPseudosParam memPseudosParam nsEdgeParam equivParam knownStoresParam knownHardStoresParam knownLoadsParam jumpInstParam callInstParam scalarParams
pseudoSet ::= <SET> <PSEUDOS> <ASSIGN> ( pseudo )* <SEMICOLON>
regSet ::= <SET> <REGS> <ASSIGN> ( register )* <SEMICOLON>
locSet ::= <SET> <LOC> <ASSIGN> ( location )* <SEMICOLON>
instSet ::= <SET> <INSTS> <ASSIGN> ( instruction )* <SEMICOLON>
callerSaveParam ::= <PARAM> ( <COLON> )? <CALLERSAVE> <ASSIGN> ( rvPair )* <SEMICOLON>
freqParam ::= <PARAM> <COLON> <FREQ> <ASSIGN> ( ivPair )* <SEMICOLON>
liveParam ::= <PARAM> <COLON> <LIVE> <ASSIGN> ( ipvTuple )* <SEMICOLON>
liveHardRegParam ::= <PARAM> <COLON> <LIVEHARDREG> <ASSIGN> ( irvTuple )* <SEMICOLON>
basePseudoRegParam ::= <PARAM> <COLON> <BASEPSEUDOREG> <ASSIGN> ( ppPair )* <SEMICOLON>
baseHardRegParam ::= <PARAM> <COLON> <BASEHARDREG> <ASSIGN> ( prPair )* <SEMICOLON>
reqParam ::= <PARAM> <COLON> <REQ> <ASSIGN> ( ipvTuple )* <SEMICOLON>
HRreqParam ::= <PARAM> <COLON> <HRREQ> <ASSIGN> ( irvTuple )* <SEMICOLON>
prevInstParam ::= <PARAM> <COLON> <PREVINST> <ASSIGN> ( iivTuple )* <SEMICOLON>
prevInstsParam ::= <PARAM> <COLON> <PREVINSTS> <ASSIGN> ( iivTuple )* <SEMICOLON>
defParam ::= <PARAM> <COLON> <DEF> <ASSIGN> ( ipvTuple )* <SEMICOLON>
defHardRegParam ::= <PARAM> <COLON> <DEFHARDREG> <ASSIGN> ( irvTuple )* <SEMICOLON>
lsmPseudosParam ::= <PARAM> <COLON> <LSMPSEUDOS> <ASSIGN> ( pvPair )* <SEMICOLON>
memPseudosParam ::= <PARAM> <COLON> <MEMPSEUDOS> <ASSIGN> ( pvPair )* <SEMICOLON>
nsEdgeParam ::= <PARAM> <COLON> <NSEDGE> <ASSIGN> ( pvPair )* <SEMICOLON>
equivParam ::= <PARAM> <COLON> <EQUIV> <ASSIGN> ( ppPair )* <SEMICOLON>
knownStoresParam ::= <PARAM> <COLON> <KNOWNSTORES> <ASSIGN> ( ippvTuple )* <SEMICOLON>
knownHardStoresParam ::= <PARAM> <COLON> <KNOWNHARDSTORES> <ASSIGN> ( iprvTuple )* <SEMICOLON>
knownLoadsParam ::= <PARAM> <COLON> <KNOWNLOADS> <ASSIGN> ( ipvTuple )* <SEMICOLON>
jumpInstParam ::= <PARAM> <COLON> <JUMPINST> <ASSIGN> ( ivPair )* <SEMICOLON>
callInstParam ::= <PARAM> <COLON> <CALLINST> <ASSIGN> ( ivPair )* <SEMICOLON>
scalarParams ::= <PARAM> <LOADCOST> <ASSIGN> value <SEMICOLON> <PARAM> <LOADPAIRCOST> <ASSIGN> value <SEMICOLON> <PARAM> <INVLOADCOST> <ASSIGN> value <SEMICOLON> <PARAM> <STORECOST> <ASSIGN> value <SEMICOLON> <PARAM> <STOREPAIRCOST> <ASSIGN> value <SEMICOLON> <PARAM> <INVSTORECOST> <ASSIGN> value <SEMICOLON> <PARAM> <NREGS> <ASSIGN> value <SEMICOLON> <PARAM> <NINSTS> <ASSIGN> value <SEMICOLON> <PARAM> <NLSMPSEUDOS> <ASSIGN> value <SEMICOLON> <PARAM> <NPSEUDOS> <ASSIGN> value <SEMICOLON>
rvPair ::= register value
ivPair ::= instruction value
ipvTuple ::= instruction pseudo value
irvTuple ::= instruction register value
ppPair ::= pseudo pseudo
prPair ::= pseudo register
iivTuple ::= instruction instruction value
pvPair ::= pseudo value
ippvTuple ::= instruction pseudo pseudo value
iprvTuple ::= instruction pseudo pseudo value
value ::= <INTEGER_LITERAL>
instruction ::= <INTEGER_LITERAL>
pseudo ::= <INTEGER_LITERAL>
register ::= <INTEGER_LITERAL>
location ::= <INTEGER_LITERAL>