LexicalAssocMem - Lexical Associative Memory module
[Lexical tools level]

Definition of the data structure and functions interface that lexical associative memory must provide. More...

Data Structures

struct  LexicalAssocMem
 Lexical Associative Memory (LAM). More...

Functions

void LAMCreate (LexicalAssocMem *data, const LexicalDataType type)
int LAMExport (const LexicalAssocMem *data, const char *filename)
void LAMFree (LexicalAssocMem *data)
int LAMImport (LexicalAssocMem *data, const char *filename)
int LAMLoad (LexicalAssocMem *data, const char *filename)
int LAMSave (const LexicalAssocMem *data, const char *filename)
int LAMDump (const LexicalAssocMem *data, int(*print)(const char *,...))
InsertionResult LAMInsert (LexicalAssocMem *data, const LexicalEntry entry)
size_t LAMGetSize (const LexicalAssocMem *data)
LexicalSearch LAMSearchFirst (const LexicalAssocMem *data, const LexicalEntry entry)
gboolean LAMSearchNext (const LexicalAssocMem *data, LexicalSearch *search)
LexicalCharacter LAMGetNextAvailableCharacter (LexicalAssocMem *data)
void LAMGoToRoot (LexicalAssocMem *data)
void LAMGoCharacterForward (LexicalAssocMem *data)
LexicalEntry LAMAccess (LexicalAssocMem *data, const LexicalEntryIndex key)
LexicalDataType LAMGetDataType (const LexicalAssocMem *data)
LexicalEntry LAMGetGraphyFromUniqId (const LexicalAssocMem *data, const UniqId identifier)
void LAMGoCharacterBackward (LexicalAssocMem *data)
size_t LAMGetCurrentGraphyLength (const LexicalAssocMem *data)
LexicalEntryIndex LAMGetCurrentGraphyId (const LexicalAssocMem *data)
void LAMGoToFirstEntry (LexicalAssocMem *lexical_memory)
LexicalEntry LAMGetNextEntry (LexicalAssocMem *lexical_memory)
gboolean LAMIsAtEndOfGraphy (LexicalAssocMem *lexical_memory)

Detailed Description

Definition of the data structure and functions interface that lexical associative memory must provide.

SlpTK Library 0.6.0

Required header
<lexicalassocmem.h>
Author:
Antonin Merçay (creation on 09.12.2004)
Date:
2 March 2005
Version:
0.6.0

Function Documentation

LexicalEntry LAMAccess ( LexicalAssocMem lexical_memory,
const LexicalEntryIndex  key 
)

Recover the entry associated to a given key.

Returns the lexical entry associated to a given key of a lexical memory

Remarks:
If no entry corresponds to the given key, the function returns NULL
Parameters:
[in] lexical_memory The lexical memory
[in] key The key of the entry to recover
Returns:
The corresponding lexical entry

void LAMCreate ( LexicalAssocMem lexical_memory,
const LexicalDataType  type 
)

Allocate the memory and implement a new lexical memory (constructor)

Parameters:
[out] lexical_memory The lexical memory to create
[in] type The type of the lexical memory to create
See also:
LexicalAccessTableFunctions::free()

LATFree()

See also:
LAMFree()

int LAMDump ( const LexicalAssocMem lexical_memory,
int(*)(const char *,...)  print 
)

Dump the content of a lexical memory.

Dump the content of a lexical memory using a given print function. The function returns a not null error code if operation fails.

Parameters:
[in] lexical_memory The lexical memory to dump
[in] print The print function to use
Returns:
An error code

int LAMExport ( const LexicalAssocMem lexical_memory,
const char *  filename 
)

Export the content of a lexical memory.

Save the content of a lexical memory in a textual (human readable) file. The function returns a not null error code if operation fails.

Parameters:
[in] lexical_memory The lexical memory to export
[in] filename The name of the output file
Returns:
An error code
See also:
import()

See also:
LATImport()

See also:
LAMImport()

void LAMFree ( LexicalAssocMem lexical_memory  ) 

Free and destroy a lexical memory (destructor).

Destroy and free the memory allocated to a lexical memory

Parameters:
[in] lexical_memory The lexical memory to free
See also:
create()

See also:
LATCreate()

UniqId LAMGetCurrentGraphyId ( const LexicalAssocMem lexical_memory  ) 

Return the unique identifier associated to the current position.

Return the identifier of the word corresponding to the current exploring position.

Remarks:
A call to this function makes sense only if the current position corresponds to the end of a stored word. The user must check this condition by using the isAtEndOfGraphy function. If the parsed word is not stored by the lexical memory, this function returns 0.
Parameters:
[in] lexical_memory The lexical memory to explore
Returns:
The identifier from currently explored word
See also:
isAtEndOfGraphy()

See also:
LATIsAtEndOfGraphy()

See also:
LAMIsAtEndOfGraphy()

size_t LAMGetCurrentGraphyLength ( const LexicalAssocMem lexical_memory  ) 

Return the length of the current word.

Return the length of the word associated to the current exploring position

Remarks:
The value returned is increment at every valid goCharacterForward call, decremented at every valid goCharacterBackward call, and reset to 0 at every goToRoot call.
Parameters:
[in] lexical_memory The lexical memory to explore
Returns:
The length of the word corresponding to the current exploring position

LexicalDataType LAMGetDataType ( const LexicalAssocMem lexical_memory  ) 

Tell the kind of lexical memory.

Return the data type of the entries stored in the lexical memory

Parameters:
[in] lexical_memory The lexical memory to identify
Returns:
The type of the stored entries
See also:
create()

See also:
LATCreate()

See also:
LAMCreate()

LexicalEntry LAMGetGraphyFromUniqId ( const LexicalAssocMem lexical_memory,
const UniqId  identifier 
)

Return the graphy corresponding to its unique identifier.

Return the lexical entry given by its unique corresponding identifier.

Remarks:
In a given lexical memory, any stored entry corresponds to a unique identifier and any valid identifier corresponds to a unique stored entry.
Parameters:
[in] lexical_memory The lexical memory
[in] identifier The entry identifier
Returns:
The corresponding entry

LexicalCharacter LAMGetNextAvailableCharacter ( LexicalAssocMem lexical_memory  ) 

Return the next character available at the current position.

Iteratively return all the lexical characters available from the current exploring position. This function can be called until its returns NO_CHARACTER, signifying that all possible characters have been returned. At this point, a further call to getNextAvailableCharacter goes back to the first lexical character available.

Parameters:
[in] lexical_memory The lexical memory to explore
See also:
goCharacterForward() getCurrentGraphyLength() goToRoot()

See also:
LATGoCharacterForward() LATGetCurrentGraphyLength() LATGoToRoot()

See also:
LAMGoCharacterForward() LAMGetCurrentGraphyLength() LAMGoToRoot()

LexicalEntry LAMGetNextEntry ( LexicalAssocMem lexical_memory  ) 

Return the next graphy stored in a lexical memory.

Iteratively return all the graphies stored in a lexical memory. This function can be called until its returns NULL, signifying that all stored graphies have been returned.

Parameters:
[in] lexical_memory The lexical memory to make an inventory of
Returns:
The graphy of the next word stored
See also:
goToFirstEntry()

See also:
LATGoToFirstEntry()

See also:
LAMGoToFirstEntry()

size_t LAMGetSize ( const LexicalAssocMem lexical_memory  ) 

Return the size of a lexical memory.

Return the number of entries stored in a lexical memory

Parameters:
[in] lexical_memory The lexical memory
Returns:
The number of entries stored

void LAMGoCharacterBackward ( LexicalAssocMem lexical_memory  ) 

Step one lexical character backward the current position.

Step backward the current exploring position from one lexical character. The exploring informations of the position before the call are lost so that when one goes back to that position, available characters inventory start again from the beginning.

Remarks:
This function has no effect if the current position is the root of the lexical memory
Parameters:
[in] lexical_memory The lexical memory to explore
See also:
goCharacterForward() goToRoot()

See also:
LATGoCharacterForward() LATGoToRoot()

See also:
LAMGoCharacterForward() LAMGoToRoot()

void LAMGoCharacterForward ( LexicalAssocMem lexical_memory  ) 

Step one lexical character forward the current position.

Step forward the current exploring position from one lexical character, that is the value returned by the last call of getNextAvailableCharacter from the current exploring position. Each time this function is called, the current state is saved so that when one go back to a given exploring position using goCharacterBackward, the available characters inventory with getNextAvailableCharacter carries on as if the current position had not been left.

Remarks:
This function has no effect if getNextAvailableCharacter has not been called at least one time or no character is available from the current exploring position
Parameters:
[in] lexical_memory The lexical memory to explore
See also:
isAtEndOfGraphy() goToRoot()

See also:
LATIsAtEndOfGraphy() LATGoToRoot()

See also:
LAMIsAtEndOfGraphy() LAMGoToRoot()

void LAMGoToFirstEntry ( LexicalAssocMem lexical_memory  ) 

Go back to the first graphy stored in a lexical memory.

This function can be called anytime to order to start again the lexical memory inventory (with getNextEntry) from the beginning.

Parameters:
[in] lexical_memory The lexical memory to make an inventory of

void LAMGoToRoot ( LexicalAssocMem lexical_memory  ) 

Set the current position to the root of the lexical memory.

Assign the current exploring position to the root of the lexical memory, i.e. before the first lexical character.

Parameters:
[in] lexical_memory The lexical memory to explore
See also:
goCharacterForward() goCharacterBackward()

See also:
LATGoCharacterForward() LATGoCharacterBackward()

See also:
LAMGoCharacterForward() LAMGoCharacterBackward()

int LAMImport ( LexicalAssocMem lexical_memory,
const char *  filename 
)

Import the content of a lexical memory.

Load a lexical memory with the content of a textual (human readable) file. The function returns a not null error code if operation fails.

Parameters:
[out] lexical_memory The lexical memory where to import
[in] filename The name of the input file
Returns:
An error code
See also:
export()

See also:
LATExport()

See also:
LAMExport()

InsertionResult LAMInsert ( LexicalAssocMem lexical_memory,
const LexicalEntry  entry 
)

Insert a new entry in a lexical memory.

Insert a new lexical entry (graphy) into lexical memory. The function returns an insertion result whose nature may vary from one implementation to another.

Parameters:
[in] lexical_memory The lexical memory
[in] entry The graphy of the entry to insert
Returns:
The insertion result
See also:
getSize()

See also:
LATGetSize()

See also:
LAMGetSize()

gboolean LAMIsAtEndOfGraphy ( LexicalAssocMem lexical_memory  ) 

Tell if the current position corresponds to a stored entry.

Remarks:
The fact that the current position coincide with the end of a stored word doesn't imply that one can't carry on the exploration deeper (with goCharacterForward)
Parameters:
[in] lexical_memory The lexical memory to explore
Returns:
The current exploring position corresponds to the end of stoted word yes or not
See also:
getCurrentGraphyUniqId()

See also:
LATGetCurrentGraphyUniqId()

See also:
LAMGetCurrentGraphyId()

int LAMLoad ( LexicalAssocMem lexical_memory,
const char *  filename 
)

Load a lexical memory from a file.

Load a lexical memory from a binary (machine readable) save file. The function returns a not null error code if operation fails.

Parameters:
[out] lexical_memory The lexical memory where to load
[in] filename The name of the output file
Returns:
An error code
See also:
save()

See also:
LATSave()

See also:
LAMSave()

int LAMSave ( const LexicalAssocMem lexical_memory,
const char *  filename 
)

Save a lexical memory in a file.

Save the content of a lexical memory in a binary (machine readable) file. The function returns a not null error code if operation fails.

Remarks:
The binary file format is dependant of the lexical memory implementation and of the used platform
Parameters:
[in] lexical_memory The lexical memory to save
[in] filename The name of the output file
Returns:
An error code
See also:
load()

See also:
LATLoad()

See also:
LAMLoad()

LexicalSearch LAMSearchFirst ( const LexicalAssocMem lexical_memory,
const LexicalEntry  entry 
)

Search the first occurence of a graphy in a lexical memory.

Search the information related to the first entry corresponding to a given graphy. The LexicalSearch::found field informs if such graphy has been found or not. If yes, other corresponding entries can be iteratively recovered using searchNext.

Parameters:
[in] lexical_memory The lexical memory where to search
[in] entry The graphy to search
Returns:
The search result

gboolean LAMSearchNext ( const LexicalAssocMem lexical_memory,
LexicalSearch search 
)

Search the next occurence of a graphy in a lexical memory.

Carry on a search process initiate by searchFirst. This function can be iteratively called until its returns FALSE, signifying that all relevant entries have been returned.

Parameters:
[in] search The search result to update
Returns:
A new entry has been found yes or not

Parameters:
[in] lexical_memory The lexical memory where search applies


Generated on Thu Mar 22 17:46:31 2007 for SlpTk by  doxygen 1.4.7