home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume36 / formes / part01 / form.h < prev    next >
C/C++ Source or Header  |  1993-04-01  |  1KB  |  68 lines

  1.  
  2. /*
  3.  *  Copyright (C) 1992-1993 Jeffrey Chilton
  4.  *
  5.  *  Permission is granted to anyone to make or distribute copies of
  6.  *  this program, in any medium, provided that the copyright notice
  7.  *  and permission notice are preserved, and that the distributor
  8.  *  grants the recipient permission for further redistribution as
  9.  *  permitted by this notice.
  10.  *  
  11.  *  Author's E-mail address:  172-9221@mcimail.com
  12.  *  
  13.  */
  14.  
  15. /* static char *whatstring = "@(#)form.h    2.4 JWC"; */
  16.  
  17. #ifndef FORM_H
  18. #define FORM_H
  19.  
  20. /*
  21.  *  Form - General lingusitic form description
  22.  */
  23.  
  24. typedef struct Form Form;
  25.  
  26. #define PERSON_FIRST 0
  27. #define PERSON_SECOND 1
  28. #define PERSON_THIRD 2
  29. #define N_OF_PERSON 3
  30.  
  31. #define PLURAL_SINGULAR 0
  32. #define PLURAL_PLURAL 1
  33. #define N_OF_PLURAL 2
  34.  
  35. #define GENDER_MALE 0
  36. #define GENDER_FEMALE 1
  37. #define N_OF_GENDER 2
  38.  
  39. #define IMPERSUM(s, l) (l + s * 2 - 1)
  40.  
  41. struct Form
  42. {
  43.     int person;
  44.     int plurality;
  45.     int gender;
  46. };
  47.  
  48. #if __STDC__
  49.  
  50. extern Form *Form_new(int person, int plurality, int gender);
  51. extern Form *Form_newFromImage(char *image);
  52. extern int Form_isEquivalent(Form *self, Form *x);
  53. extern char *Form_image(Form *self);
  54. extern void Form_destroy(Form *self);
  55.  
  56. #else
  57.  
  58. extern Form *Form_new();
  59. extern Form *Form_newFromImage();
  60. extern int Form_isEquivalent();
  61. extern char *Form_image();
  62. extern void Form_destroy();
  63.  
  64. #endif
  65.  
  66. #endif
  67.  
  68.