# Functions
CacheFilename returns the filename to use for cache file for given filename.
GoPiCacheDir returns the GoPi cache directory for given language, and ensures that it exists.
GoRelPath returns the GOPATH or GOROOT relative path for given filename.
InitCatMap initializes the CatMap.
InitSub2CatMap initializes the SubCatMap.
InitSubCatMap initializes the SubCatMap.
NewSymbol returns a new symbol with the basic info filled in -- SelectReg defaults to Region.
NewType returns a new Type struct initialized with given name and kind.
OpenSymCache opens cache of symbols into given symbol (typically a package, module, library), which is at given filename -- returns time stamp when cache was last saved.
SaveSymCache saves cache of symbols starting with given symbol (typically a package, module, library), which is at given filename.
SaveSymDoc saves doc file of syms -- for double-checking contents etc.
# Constants
SubCat: Array -- a fixed length 1d collection of same-type elements Type.Els has one element for type.
SubCat: Bool.
Chan: a channel (Go Specific).
The list of Kinds.
Sub3Cat: Complex -- under floating point.
The list of Kinds.
The list of Kinds.
Category: Composite -- types composed of above primitive types.
Sub2Cat: Fixed point -- could be under integer, but..
The list of Kinds.
The list of Kinds.
The list of Kinds.
Sub2Cat: Floating point.
The list of Kinds.
The list of Kinds.
The list of Kinds.
python's frozen set of fixed values.
SubCat: Func -- a standalone function.
Category: Function -- types that are functions Type.Els are the params and return values in order, with Size[0] being number of params and Size[1] number of returns.
The list of Kinds.
The list of Kinds.
The list of Kinds.
The list of Kinds.
The list of Kinds.
Sub2Cat: Integer.
SubCat: Interface -- an abstract definition of a set of methods (in Go) Type.Els are the Methods with the receiver type missing or Unknown.
The list of Kinds.
SubCat: List -- a variable-length 1d collection of same-type elements This is Slice for Go Type.Els has one element for type.
SubCat: Map -- an associative array / hash map / dictionary Type.Els first el is key, second is type.
SubCat: Matrix -- a twod collection of same-type elements has two Size values, one for each dimension.
SubCat: Method -- a function with a specific receiver (e.g., on a Class in C++, or on any type in Go).
SubCat: Numeric.
The list of Kinds.
Category: Primitive, in the strict sense of low-level, atomic, small, fixed size.
pointer -- element is what we point to (kind of a composite type).
a special kind of tuple for Python ranges.
reference -- element is what we refer to.
SubCat: Set -- typically a degenerate form of hash map with no value.
Sub3Cat: Signed -- track this using props in types, not using Sub3 level.
List of some type of char rep -- Type.Els is type, as all Lists.
SubCat: Struct -- like a tuple but with specific semantics in most languages Type.Els are the fields, and if there is an inheritance relationship these are put first with relevant identifiers -- in Go these are unnamed fields.
SubCat: Tensor -- an n-dimensional collection of same-type elements first element of Size is number of dimensions, rest are dimensions.
SubCat: Tuple -- a fixed length 1d collection of elements that can be of any type Type.Els required for each element.
The list of Kinds.
The list of Kinds.
The list of Kinds.
The list of Kinds.
The list of Kinds.
generic raw pointer data value -- see also Ptr, Ref for more semantic cases.
Unknown is the nil kind -- kinds should be known in general..
for case where these are distinguished from Ptr (Go) -- similar to Uintptr.
Sub3Cat: Unsigned.
# Variables
CatMap is the map into the category level for each kind.
Categories.
No description provided by the author
No description provided by the author
No description provided by the author
Sub2CatMap is the map into the sub2-category level for each kind.
Sub2-Categories.
SubCatMap is the map into the sub-category level for each kind.
Sub-Categories.
# Structs
Symbol contains the information for everything about a given symbol that is created by parsing, and can be looked up.
Type contains all the information about types.
TypeEl is a type element -- has a name (local to the type, e.g., field name) and a type name that can be looked up in a master list of types.
TypeKindSize is used for initialization of builtin typemaps.
# Type aliases
Kinds is a complete set of basic type categories and sub(sub..) categories -- these describe builtin types -- user-defined types must be some combination / version of these builtin types.
SymMap is a map between symbol names and their full information.
SymNames provides a map-list of symbol names, indexed by their token kinds.
SymStack is a simple stack (slice) of symbols.
TypeEls are the type elements for types.
TypeMap is a map of types for quick looking up by name.