uses SyntaxParser
uses data.String
uses OpParser
data AssignField {
AssignInstance instances[]
}
data AssignInstance {
DanaType type
const byte SC_NEUTRAL = 0
const byte SC_LOCAL = 1
const byte SC_LOCAL_AUTO = 2
const byte SC_STORE = 3
byte storeClass
AssignField fields[]
}
data AssignVar {
int varIndex
DanaType type
AssignInstance instances[]
const byte VC_LOCAL = 1
const byte VC_GLOBAL = 2
byte varClass
}
data AssignGraph {
AssignVar vars[]
}
//this pass derives typing, literals, and control-flow, plus scoping and variables, "store" status, and giving an execution-order instruction list
interface AssignGraphBuilder {
AssignGraph buildAssignmentGraph(OpFunction function, DanaType types[])
AssignInstance[] getInstances(AssignGraph agr, OpToken op, DanaType types[])
}
To propose a new revision to this entity, use dana source put -ut your/new/version.dn -n util.compiler.AssignGraphBuilder -m "reason for update" -u yourUsername
Version 1 (this version) by barry
Notes for this version: New compiler components