# SUBSYSTEM OVERVIEW

New STEP File Parser (SNFP) Subsystem

The SNFP subsystem is responsible for parsing STEP Physical files into the internal working form. The parser performs numerous error checks for both syntactical and symantical errors while reading the file.

# USAGE

The SNFP subsystem has one main interface routine, snfp_ParseFile. This routine takes the name of an STEP file and a destination model as its arguments. The destination model must be allocated before the call to snfp_ParseFile. The parser can optionally invoke an application defined routine after each entity has been parsed (but before it is written to the database). The function is most commonly used to add the entity to a linked list based on type or some other attribute. Modifications can be made to the entity as long as they do not invalidate it. Any changes made to the entity will be written to the database. For entities which are externally mapped, this function will only be called for the initial T_EXTERNAL_MAP entity. Entities which are pointed to by this entity are not passed to the function. Normally the parser is invoked by calling mda_ParseFile with any options to be passed to snfp_ParseFile (the routine step_InitModelInfo configures the model so that snfp_ParseFile is invoked).

The SNFP subsystem updates and maintains backpointer references as a file is parsed.

The SNFP parser implements the language defined in p21e3. It is still in development and will include newer functionality as ISO approves it (i.e. anchors and references).