• Aucun résultat trouvé

fill fill literal·>

N/A
N/A
Protected

Academic year: 2022

Partager "fill fill literal·>"

Copied!
3
0
0

Texte intégral

(1)

CodeDefs.mesa 2-Sep-78 12:69:69

-- file codedefs.mesa

-- last modified by Sweet, July 14, 1978 2:17 PM DIRECTORY

AltoDefs: FROM "altodefs" USING [Address, BYTE, wordlength], LitDefs: FROM "litdefs" USING [LTIndex, STIndex],

Page 1

SymDefs: FROM "symdefs" USING [BTIndex, ByteIndex, ContextLevel, HTIndex, ISEIndex, ISENull, lZ], TableDefs: FROM "tabledefs" USING [TableLimit, TableNotifier];

DEFINITIONS FROM LitDefs, TableDefs, SymDefs;

CodeDefs: DEFINITIONS • BEGIN

Lexeme: TYPE • RECORD [

lexvalue: SELECT lextag: • FROM literal·> [

SELECT littag: • FROM

word

.>

[lexlti: LTIndex], string

.>

[lexsti: STIndex], ENDCASE],

Se

.>

[lexsei: ISEIndex],

bdo .> [lexbdoi: BDOIndex], other

.> [

SELECT sublextag: • FROM

register

.>

[lexrn: RegisterName],

byte

.>

[lexalpha: ByteOffset, long: BOOLEAN], ENDCASEJ,

ENDCASE];

topostack: se Lexeme • Lexeme[lexvalue: se[ISENull]];

RegisterName: TYPE· [0 .. 17777B]; -- fill variant record to 16 bits ByteOffset: TYPE • [0 .. 7777B]; -- fill variant record to 16 bits

ChunkBase: TYPE· BASE POINTER; -- to chunk area of compiler data space BDOIndex: TYPE· ChunkBase RELATIVE POINTER [O .. TableLimit) TO BDOItem;

BDONull: BOOIndex • LOOPHOLE[TableLimit-l];

InUseThread: BOOIndex • LOOPHOLE[TableLimit-Z];

BDOCornponentNames: TYPE • {basecomponent, dispcomponent, offsetcomponent};

BDOComponent: TYPE • RECORD [ posn: FullBitAddress, size: WORD,

level: ContextLevel]i BOOItem: TYPE • RECORD [

free: BOOLEAN, thread: BDOlndex, tag: BoOTag,

base: BDOComponent, disp: BDOComponent, offset: BDOComponent]i BoOTag: TYPE· {bdo, bo, a};

FullBitAddress: TYPE· RECORD [

wd: AltoDefs.Address, bd: [O .. AltoDefs.wordlength)]:

lTOS: ContextLevel • LAST[ContextLevel]:

TosBDOComponent: BDOComponent •

BDOComponent[level: lTOS, posn: FullBitAddress[O, OJ, size: AltoDefs.wordlength]:

WordZeroBDOComponent: BOOComponent •

BDOComponent[level: lZ, posn: FullBitAddress[O, 0], size: AltoOefs.wordlength]:

CodeChunkType: TYPE· {code, label, jump, other}:

CCItem: TYPE • RECORD [ free: BOOLEAN,

pad: [O •. lJ, -- this is NOT a fill field flink, blink: CCIndex,

ccvalue: SELECT cctag: CodeChunkType FROM

(2)

CodeDefs.mesa 2-Sep-78 12:69:69

code

-> [

sourcefileindex: Bytelndex, realinst, minimalStack: BOOLEAN, inst: AltoDefs.BYTE,

aligned: BOOLEAN, isize: [0 .. 3], fill: [0 .. 17B),

parameters: ARRAY [1 •• 1) OF WORD], label

-> [

labelseen: BOOLEAN, jumplist: JumpCClndex], jump

-> [

jsize: [0 .. 7], jtype: JumpType, jparam: AltoDefs.BYTE, forward: BOOLEAN, thread: JumpCClndex, jbytes: INTEGER,

fixedup, completed: BOOLEAN, destlabel: LabelCCIndex], other

.>

[obody: SELECT otag: • FROM

table

-> [

btab: BOOLEAN,

tablecodebytes: [0 •• 7], taboffset: INTEGER], startbody, endbody

-> [

index: BTIndex], ENDCASE],

ENDCASE]:

NULLfileindex: ByteIndex - -1:

CCIndex: TYPE· ChunkBase RELATIVE POINTER [O .. TableLimit) TO CCItem:

CCNull: CCIndex • LOOPHOLE[TableLimit-l]:

JumpCCIndex: TYPE - ChunkBase RELATIVE POINTER [O .. TableLimit) TO jump CCItem:

JumpCCNull: JumpCCIndex - LOOPHOLE[TableLimit-l]:

LabelCCIndex: TYPE· ChunkBase RELATIVE POINTER [O .. TableLimit) TO label CCItem;

LabelCCNull: LabelCCIndex • LOOPHOLE[TableLimit-l]:

CodeCCIndex: TYPE· ChunkBase RELATIVE POINTER [O .. TableLimit) TO code CCItem:

CodeCCNull: CodeCCIndex • LOOPHOLE[TableLimit-l];

OtherCCIndex: TYPE • ChunkBase RELATIVE POINTER [O .. TableLimit) TO other 'CCItem:

TableCClndex: TYPE· ChunkBase RELATIVE POINTER [O .. TableLimit) TO table other CCItem:

TableCCNull: TableCCIAdex • LOOPHOLE[TableLimit-l]:

CompareClass: TYPE· {word, byte}:

JumpType: TYPE •

{JumpE, JumpN, JumpL, JumpGE, JumpG, JumpLE, UJumpL, UJumpGE, UJumpG, UJumpLE, ZJumpE, ZJumpN, Jump, JumpA, JumpC, JumpCA, JumpRet,

NILJumpE, NILJumpN, PAIRJumpL; PAIRJumpG, BYTEJumpE, BYTEJumpN, BITJumpE, BITJumpN}:

,

EXLabelRecord: TYPE· RECORD [

free: BOOLEAN, thread: EXLRIndex, labelcc: CARDINAL, labelhti: HTlndex, labelcci: LabelCCIndex]:

EXLRIndex: TYPE· ChunkBase RELATIVE POINTER [O .. TableLimit) TO EXLabelRecord:

EXLRNull: EXLRIndex· LOOPHOLE[TableLimit-l]:

StkItem: TYPE • RECORD[

uplink,downlink: StkIndex, stkvalue: SELECT stktag: • FROM

item

.>

[lexeme: se Lexeme], MARK .> [label: LabelCCIndex], ENDCASE]:

StkIndex: TYPE· POINTER TO Stkltem:

EvalStackSize: INTEGER • 8:

MaxParmsInStack: INTEGER· EvalStackSize-3:

TempStateRecord: TYPE • RECORD[

Page 2

(3)

CodeDefs.mesa 2-Sep-78 12:69:69

pendtemp11st, templist, heap11st: ISEIndex, tempctxlvl: ContextLevel,

tempstart, framesz: INTEGER]:

ChunkIndex: TYPE • ChunkBase RELATIVE POINTER [O •• TableDefs.TableLim1t):

GetChunk: PROCEDURE [size: CARDINAL] RETURNS [ChunkIndex]:

FreeChunk: PROCEDURE [i: ChunkIndex, size: CARDINAL]:

DriverNotify, AddressNotify, StackNotify, FlowNotify, StoreNotify,

ExpressionNotify, FlowExpress;onNotify, StatementNotify, CallsNot1fy, OutCodeNotify. PeepholeNotify, JumpsNotify, FinalNot1fy:

TableDefs.TableNotifier;

OpTable, Driver, Address, Stack, Flow, Store, Expression, FlowExpression, Statement, Calls, OutCode, PeepholeQ, PeepholeU, PeepholeZ,

Jumps, Final:

PROGRAM;

END •••

Page 3

Références

Documents relatifs

Mets les verbes entre parenthèses au prétérit simple ou au present perfect.. This is

This approach receives support by the confirmed notion of longer silences after um-type fillers: the presence of a nasal sound makes this type of filler a better candidate to

Le mieux (the best) and le moins bien (the least well) are the superlative forms of the adverb bien (well)!. Joe-Bob, Tex, Corey et Edouard se préparent à faire

b) Software Framework: For trajectory optimization, this work uses Crocoddyl, a cutting-edge open source library developed for the optimal control of legged robots [14]. In

We mainly focus on the superquadratic case (m > 2) and consider the Dirichlet conditions in the generalized viscosity sense. Under rather natural assumptions on f, the initial

Recent measurements of intrinsic excitability in the distal dendrites of cortical L5 pyramidal neurons of FMR11 KO mice found significant differences in resting

The present technique for the measurement of the latency of neural components recorded near the round window involves photographing the response and determining

Cells were frozen on an electron microscopy grid, then the ice was thinned in the ion beam to allow cryo-electron tomography [8, 9].. A new approach was described by Rigort