Skip to main content
. 2020 Dec 18;20(24):7287. doi: 10.3390/s20247287
Code 2. Sublanguage description in extended VCD.
  1. sublanguage description = set of statements;

  2. set of statements = statement | set of statements, statement;

  3. statement = command definition | phrase definition | escape expression | library reference;

  4. command definition = command heading, set of rules;

  5. phrase definition = phrase heading, set of rules;

  6. command heading = ‘#com’,[space],command id,[‘/’,object list],new line;

  7. object list = object reference|object list,’ ,’, object reference;

  8. object reference = name;

  9. command id = name;

  10. phrase heading = ‘#def”, [space], phrase id, new line;

  11. phrase id = name;

  12. set of rules = rule | set of rules, rule;

  13. rule = phrase sequence, [semantic data] , new line;

  14. semantic data = ‘:’, set of expressions;

  15. set of expressions = expression | set of expressions, delimiter, expression;

  16. delimiter = ‘;’ | new line, ’;’ | ’;’ ,new line;

  17. expression = ? arithmetic expression representing constant value ? | ? arithmetic expression containing variables p1,p2,p3… representing parameters returned by phrases 1,2,3… ?

  18. phrase sequence = phrase | phrase sequence, space, phrase;

  19. phrase = word sequence | phrase reference | optional phrase reference | wildcard sequence;

  20. word sequence = word | word sequence, space, word;

  21. word = obligatory word | optional word;

  22. obligatory word = alphabetic string;

  23. optional word = ‘?’, alphabetic string;

  24. phrase reference = ‘*’, phrase id, [ ‘(‘ , library name, ‘)’];

  25. optional phrase reference = ‘?’, phrase reference;

  26. escape expression =’#esc’, [space], word sequence;

  27. library reference = ‘#use’, [space], library file;

  28. name = letter | name, letter | name, digit | name, ‘_’;

  29. alphabetic string = letter | alphabetic string, letter;

  30. library file = ? filename ?;

  31. space = ? space character ?;

  32. new line = ? new line character ?;

  33. wildcard sequence = ‘…’;

  34. digit = ‘0′ | ‘1′ | ‘2′ | ‘3′ | ‘4′ | ‘5′ | ‘6′ | ‘7′ | ‘8′ | ‘9′;

  35. letter = ? alphabetic character ?;