Skip to main content
. 2020 Dec 18;20(24):7287. doi: 10.3390/s20247287
Code 5. Structure of object identification rules.
  1. identification rules library = description of objects;

  2. description of objects = object description|description of objects,object description;

  3. object description = heading,description of contours[,description of parameters];

  4. heading = ‘#obj’[,space],object name,new line;

  5. object name = name;

  6. description of contours = component contours[,exclusions];

  7. component contours = declaration of contours[,identification rules];

  8. declaration of contours = ‘contours’,list of contours,new line;

  9. exclusions = excluded contours|exclusions,excluded contours;

  10. excluded contours = declaration of excluded contours[,identification rules];

  11. declaration of excluded contours =‘ exclude’,list of contours,new line;

  12. list of contours = contour declaration|list of contours,‘,’,contour declaration;

  13. contour declaration = contour name,‘(‘,contour id,‘)’|contour name,‘,’,contour declaration;

  14. contour name = name;

  15. contour id = ?contour id in the shape library?|‘any’;

  16. identification rules = identification rule|identification rules,identification rule;

  17. identification rule = ?topological or logical condition?,new line | auxiliary definition,new line;

  18. auxiliary definition = ’aux’,name,’=’,?function returning point or line?;

  19. description of parameters = declaration of parameters,calculation rules;

  20. declaration of parameters = ‘parameters’,list of parameters,new line;

  21. list of parameters = parameter declaration|list of parameters,‘,’,parameter declaration;

  22. parameter declaration = parameter name,‘(’,parameter type,‘)’|parameter name,‘,’,parameter declaration;

  23. parameter name = name;

  24. parameter type = ‘real’|‘point’|‘position’;

  25. calculation rules = assignment|calculation rules,assignment;

  26. assignment = ?parameter identification?,‘=’,?arithmetic expression?,new line;

  27. name = ?string consisting of alphabetic characters and digits?;

  28. new line = ?new line character?;

  29. space = ?space character?;