| DEFINITION MODULE PathName ; |
| |
| (* |
| Title : PathName |
| Author : Gaius Mulley |
| System : GNU Modula-2 |
| Date : Wed Feb 8 09:59:46 2023 |
| Revision : $Version$ |
| Description: maintains a dictionary of named paths. |
| *) |
| |
| FROM DynamicStrings IMPORT String ; |
| FROM DynamicPath IMPORT PathList ; |
| |
| |
| TYPE |
| NamedPath ; |
| |
| |
| (* |
| FindNamedPathFile - returns NIL if a file cannot be found otherwise |
| it returns the path including the filename. |
| It also returns the name of the path. |
| *) |
| |
| PROCEDURE FindNamedPathFile (filename: String; VAR name: String) : String ; |
| |
| |
| (* |
| AddInclude - adds include path to the named path. If named path |
| is the same as the previous call then the include path |
| is appended to the named path PathList otherwise a new |
| named path is created and placed at the end of the |
| named path list. |
| |
| However if named is NIL or empty string then this is treated |
| as a user path and it will be appended to the first user |
| named list entry. The user entry will always be the |
| first node in the dictionary of named paths. |
| *) |
| |
| PROCEDURE AddInclude (named, directory: String) ; |
| |
| |
| (* |
| InitNamedPath - creates a new path name with an associated pathlist. |
| *) |
| |
| PROCEDURE InitNamedPath (name: String; pl: PathList) : NamedPath ; |
| |
| |
| (* |
| KillNamedPath - places list np onto the freelist. |
| Postcondition: np will be NIL. |
| *) |
| |
| PROCEDURE KillNamedPath (VAR np: NamedPath) ; |
| |
| |
| (* |
| Cons - appends pl to the end of a named path. |
| If np is NIL a new list is created and returned |
| containing named and pl. |
| *) |
| |
| PROCEDURE Cons (np: NamedPath; named: String; pl: PathList) : NamedPath ; |
| |
| |
| (* |
| ConsList - concatenates named path left and right together. |
| *) |
| |
| PROCEDURE ConsList (left, right: NamedPath) : NamedPath ; |
| |
| |
| (* |
| Stash - returns np before setting np to NIL. |
| *) |
| |
| PROCEDURE Stash (VAR np: NamedPath) : NamedPath ; |
| |
| |
| (* |
| SetNamedPath - assigns the named path to the default path. |
| *) |
| |
| PROCEDURE SetNamedPath (named: NamedPath) ; |
| |
| |
| (* |
| GetNamedPath - returns the default named path. |
| *) |
| |
| PROCEDURE GetNamedPath () : NamedPath ; |
| |
| |
| (* |
| DumpPathName - display the dictionary of names and all path entries. |
| *) |
| |
| PROCEDURE DumpPathName (name: ARRAY OF CHAR) ; |
| |
| |
| END PathName. |