Attribute-Value Structures (AVS)

Dafydd Gibbon, 2008-08-31

Enter attribute-value structures A and B with units separated by spaces:
A: B:
  1. The examples are deliberately simple and do not reflect any particular mainstream theory.
  2. The attribute-value structures have the following structure as a hybrid BNF rule and regular expression (see the example on the start page):
    AVS := [ ( attribute ( atom | AVS ) )* ]
    where '[' and ']' are plain characters, '(' and ')' are grouping symbols, '|' is the exclusive or operator, and '*' is the Kleene star.
  3. Attributes and values always occur pairwise. A corrective is included in case as value value is missing (i.e. if there is not an even number of elements in an AVS): an additional attribute name is added.
  4. The only permitted characters are alphanumerics, spaces and square brackets. Others are filtered out.
  5. The output is formatted with curly brackets '{' and '}' delimiting the AVS, and colon ':' as a separator between A and V.
  6. Note that the length of strings which can be transmitted to the server is limited. In the present case, the the field is 100 characters in length, but the character string should scroll to 600 characters, which will be sufficient for most demonstration purposes. However, note that some web servers do not support the transmission of such long input strings.