Lichen

Annotated docs/wiki/APIs

988:cfdcae64b86f
14 months ago Paul Boddie Merged changes from the trailing-data branch. value-replacement
paul@810 1
= APIs =
paul@810 2
paul@861 3
The principal application programming interfaces (APIs) within Lichen are
paul@861 4
described below.
paul@810 5
paul@810 6
== Modules ==
paul@810 7
paul@861 8
When [[../Inspection|inspecting]] and [[../Translation|translating]] modules,
paul@861 9
common abstractions are used so that elements of the program are handled in
paul@861 10
similar ways. Various useful attributes and methods are provided by the
paul@861 11
`CommonModule` abstraction for use within `InspectedModule` and
paul@861 12
`TranslatedModule` methods:
paul@810 13
paul@810 14
{{{#!table
paul@810 15
'''Attribute or Method''' || '''Purpose'''
paul@810 16
==
paul@861 17
`name` || An attribute providing the module name.
paul@810 18
==
paul@861 19
`get_global_path(name)` || A method returning the qualified name of the given
paul@861 20
                        .. global name within the module being processed.
paul@810 21
==
paul@861 22
`get_namespace_path()`  || A method returning the qualified name of the
paul@861 23
                        .. namespace being processed.
paul@861 24
paul@810 25
 * For modules, this is the module name
paul@861 26
 * For classes, functions and methods, the path incorporates the module name
paul@861 27
   and namespaces leading to the current namespace itself
paul@810 28
==
paul@861 29
`get_object_path(name)` || A method returning the qualified name of the given
paul@861 30
                        .. local name within the namespace being processed.
paul@810 31
}}}