Name mangling in Zebu, unnamed MuEntity, global/local names
Currently Zebu makes assumptions about names, and mangles names in a way that is inconsistent and confusing. And it may be inconsistent to the spec.
These are some notes (I need to rethink on these):
- Zebu assumes local names, and mangles it (if needed) in its own way. The spec requires all names used via API are global names (no mangling is needed)
- Zebu checks and transforms each name so the name does not include special character, and can be safely used in assembly
- Zebu assumes some entities such as
Block
,MuFunction
have a name. These assumption may not be consistent with the spec (the spec requires top-level entities have names). This needs further check. - Names that start with number is valid as name for a Mu entity, however the name may not be valid to be used directly in the assembly.