HomeForumSourceResearchGuide
Sign in to contribute to source. how it works
Type definition file util.compiler.StoreAnalyser by barry
expand copy to clipboardexpand
uses SyntaxParser
uses data.String
uses OpParser

data StoreVar nocycle {
	const byte AC_LOCAL = 1
	const byte AC_STORE = 2

	char name[]
	char type[]
	int index

	//class is one of AC_LOCAL or AC_STORE
	byte class

	bool regraded
}

data StoreFunction nocycle {
	char name[]
	char implName[]
	char intfName[]
	
	StoreVar locals[]
}

data StoreObject nocycle {
	StoreFunction functions[]
}

data StoreAnalysis nocycle {
	StoreObject objects[]
	OpParseError errors[]
	OpParseError warnings[]
}

//this API takes a set of functions and determines the local/store classification of each of their parameters and local variables
// - the result should be used to determine the register flags imposed upon access of each variable in each function
interface StoreAnalyser {

	OpToken getOriginLocal(OpToken t, DanaType types[])
	
	StoreAnalysis analyse(char file[], ProvidedObject objects[], DanaType types[])
	
	}
Revision history
To propose a new revision to this entity, use dana source put -ut your/new/version.dn -n util.compiler.StoreAnalyser -m "reason for update" -u yourUsername
Version 1 (this version) by barry
Notes for this version: API to support redesigned 'store' concept.