Common Lisp Package: COMPOUND-PARSING

README:

FUNCTION

Public

Undocumented

PARSE-COMPOUND (STRING &OPTIONAL (INDEX 0) (END (LENGTH STRING)) &AUX COMPONENT-LIST COMPONENT-LIST-STACK ELEMENT-SYMBOL NUMBER C)

Private

END-OF-STRING-P (STRING INDEX)

Is index above the maximum index allowed for a given string?

META-CHAR (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

META-FORM (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

STRINGS->ELEMENT-LIST (ELEMENT NUMBER)

Convert an element (which may be a string or a compound designator) and a number given as a string into a proper compound designator.

Undocumented

COMPILEIT (X)

COPY-META (INSTANCE)

CTOI (D)

MAKE-META (&KEY ((CHAR DUM0) NIL) ((FORM DUM1) NIL))

SETFMETA-CHAR (NEW-VALUE INSTANCE)

SETFMETA-FORM (NEW-VALUE INSTANCE)

META-P (OBJECT)

META-READER (S C)

PARSE-INT (STRING &OPTIONAL (INDEX 0) (END (LENGTH STRING)) &AUX (S 1) D (N 0))

PARSE-QUERY-STRING (STRING &OPTIONAL (INDEX 0) (END (LENGTH STRING)) &AUX AMOUNT UNIT ELEMENT BASE-TRIPLE CONDITIONS C)

PARSE-X-AND-Y (STRING &OPTIONAL (INDEX 0) (END (LENGTH STRING)) &AUX VERB NOUN C)

MACRO

Private

WITH-STRING-ACCUMULATION (STRINGS &BODY BODY)

Given a list of symbols, create character output streams bound to the symbols given in `strings' with -STREAM appended, execute `body' in this environment, and SETF all the symbol-values of the symbols in `strings' to the values of their respective string output streams. It also defines a local function FORCE-STRING-ACCUMULATION which will do the SETFing when it is called. It is called automatically at the end of the block, but you can call it earlier, as many times as you like. It clears the string streams, so be careful when using it. The utility of this macro may not be readily apparent, but is can be very handy in META parsers which need to accumulate characters into strings.

Undocumented

DEFMETA (NAME OTHER-ARGS &BODY BODY)

MATCH (X)

MATCH-TYPE (X V)

MATCHIT (X)

META-LABELS (FUNCTIONS &BODY BODY)

VARIABLE

Private

*META-DEBUG*

Should META output debugging information?

CLASS

Private

Undocumented

META