Attribute grammars as a robust technical basis for a human-computer interaction general purpose architecture