Many input files are structured as a series of records, where each record is represented as one line in the file. Each record (line) may be further separated into fields. The fields are normally delimited by a special character, such as the TAB character or perhaps the colon (:) character.

To simplify the parsing of such files, you can specify a field-separator character with the --field-separator option of the sm_adapter command. Each occurrence of this character in the input file is replaced with an ASL field-separator marker (fs). By default, ASL does not translate characters to field-separator markers.

Consider the following line taken from the UNIX /etc/passwd file:

root:*:0:0:Admin:/:/bin/sh

Reading this line and using the file front end with the field-separator character set to the colon (:), feeds the following input stream into the rule set:

r o o t fs * fs 0 fs 0 fs A d m i n fs/fs / b i n / s h eol

This line can then be parsed with an ASL pattern:

word fs word fs integer fs integer fs word fs word fs word eol

The character replaced with an fs can never be seen by the rule set of the ASL script. The following pattern does not match the input stream:

word “:” word “:” integer fs integer fs word fs word fs word eol