diff options
Diffstat (limited to 'eo_tokenizer.h')
-rw-r--r-- | eo_tokenizer.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/eo_tokenizer.h b/eo_tokenizer.h index 536cdda..adcba08 100644 --- a/eo_tokenizer.h +++ b/eo_tokenizer.h @@ -32,6 +32,64 @@ extern int _eo_tokenizer_log_dom; #endif #define DBG(...) EINA_LOG_DOM_DBG(_eo_tokenizer_log_dom, __VA_ARGS__) +/* RET */ + +typedef struct _eo_ret { + char *type; + char *comment; +} Eo_Ret; + +/* PARAMS */ + +typedef enum _param_way { + IN, + OUT, + INOUT +} Param_Way; + +typedef struct _eo_param { + Param_Way way; + char *type; + char *name; + char *comment; +} Eo_Param; + +/* PROPERTIES */ + +typedef enum _property_type { + SETTER, + GETTER +} Property_Type; + +typedef struct _eo_property { + Property_Type type; + Eo_Ret ret; + char *name; + char *comment; + Eina_List *params; +} Eo_Property; + +/* METHODS */ + +typedef struct _eo_method { + Eo_Ret ret; + char *name; + char *comment; + Eina_List *params; +} Eo_Method; + +/* CLASSES */ + +typedef struct _eo_class { + char *name; + char *comment; + Eina_List *inherits; + Eina_List *properties; + Eina_List *methods; +} Eo_Class; + +/* TOKENIZER */ + #define BUFSIZE 256 typedef struct _eo_tokenizer { @@ -52,12 +110,16 @@ typedef struct _eo_tokenizer { int max_nesting; int token_start_line; char buf[BUFSIZE]; + + Eina_List *classes; } Eo_Tokenizer; Eo_Tokenizer* eo_tokenizer_get(); Eina_Bool eo_tokenizer_walk(Eo_Tokenizer *toknz, const char *source); +void eo_tokenizer_dump(Eo_Tokenizer *toknz); + void eo_tokenizer_free(Eo_Tokenizer *toknz); #endif /* __EO_TOKENIZER_H__ */ |