Daniel Kolesa
831ade54fa
eolian: also make time_t a builtin
2014-07-14 17:02:58 +01:00
Daniel Kolesa
3be0dce99d
eolian: builtin types size, ssize, intptr, uintptr, ptrdiff
2014-07-14 16:51:38 +01:00
Daniel Kolesa
f510b6de72
eolian: schar and uchar are now called byte and ubyte, char stays
...
Here, 'char' represents an actual character and is meant to be treated as so by generators.
The byte types represent a numerical value and should be treated numerically.
2014-07-14 16:25:26 +01:00
Daniel Kolesa
c9744596de
eolian: builtin bool type, and change the eo files to use that
2014-07-11 14:40:49 +01:00
Daniel Kolesa
7b9438e76e
eolian: refactoring: remove Eo_Type_Def
2014-07-10 15:10:24 +01:00
Daniel Kolesa
a03bef4734
eolian: get rid of Eo_Type_Def
2014-07-10 14:44:17 +01:00
Daniel Kolesa
6bd0e0ab7f
eolian: better struct support including an API for by-name lookup
2014-07-08 16:42:33 +01:00
Daniel Kolesa
61da74bc42
eolian: print error line with a caret
2014-07-03 00:30:39 +01:00
Daniel Kolesa
8d902a4820
eolian: keep track of column better
2014-07-03 00:14:28 +01:00
Daniel Kolesa
7d46c921cb
eolian: column information in error messages
2014-07-02 23:39:44 +01:00
Daniel Kolesa
d5f4af5e61
eolian: different syntax for functions (func ret_type (arg_types))
2014-06-30 22:07:13 +01:00
Daniel Kolesa
c8e2e8d48a
eolian: @own -> own
2014-06-30 18:10:29 +01:00
Daniel Kolesa
2bdba6c850
eolian: type -> typedef
2014-06-30 17:20:39 +01:00
Daniel Kolesa
275103e1b0
eolian/lexer: new keyword (func) plus new token (->) - for function pointer types
2014-06-30 17:20:39 +01:00
Daniel Kolesa
ec057a089a
eolian: builtin fixed size integer types, floating point types and void
2014-06-30 17:20:39 +01:00
Daniel Kolesa
4f4eba4fe4
eolian: support for C type translation in eo lexer
2014-06-30 17:20:39 +01:00
Daniel Kolesa
18c6f486f6
eolian: process classes and typedefs in order
2014-06-30 17:20:06 +01:00
Daniel Kolesa
0f4bb89492
Revert "eolian: process classes and typedefs in order (preparation for later potential extension)"
...
This reverts commit 7c28de0616
.
2014-06-23 18:44:11 +01:00
Daniel Kolesa
af9b338dee
Revert "eolian: generalized node append"
...
This reverts commit 98d25243aa
.
Reason: accidentally got into master... I'm tired.
2014-06-23 18:43:23 +01:00
Daniel Kolesa
98d25243aa
eolian: generalized node append
2014-06-23 15:38:23 +01:00
Daniel Kolesa
7c28de0616
eolian: process classes and typedefs in order (preparation for later potential extension)
2014-06-23 15:32:17 +01:00
Daniel Kolesa
efcdfec94f
eolian: more cleanups
2014-06-20 15:31:45 +01:00
Daniel Kolesa
e9f4890747
eolian: fix end-of-file checking, move namespaces from :: to .
2014-06-20 10:46:04 +01:00
Daniel Kolesa
9c2fcf5d4e
eolian: lex_until and lex_balanced
2014-06-19 16:04:08 +01:00
Daniel Kolesa
74181192ad
eolian: fix error handling and memory leaks
2014-06-19 16:04:08 +01:00
Daniel Kolesa
9b833f1dbd
eolian: introducing a new lexer/parser
...
This handwritten lexer/parser is more strict and cleaner than the previous Ragel based one,
as well as faster and doesn't leak memory (or shouldn't). It's a recursive descent style
parser with separate lexer part (unlike the previous effort) which is run at the same
stage as the parser (so it doesn't pre-lex).
@feature
2014-06-19 16:04:08 +01:00
Daniel Kolesa
2056b99e85
eolian: add some stuff into eo_definitions needed for the new parser and temporarily adjust the lexer for it
2014-06-19 16:04:08 +01:00
Daniel Kolesa
44afa93503
eolian: Eo_Tokenizer -> Eo_Lexer
2014-06-19 16:04:07 +01:00
Daniel Zaoui
e4444d2518
Eolian: add support for typedefs.
...
It includes parser updates, database fill and tests on basic and complex
types.
One can define types in this way:
type Evas_Coord: int; /* Simple type definition */
type List_Objects: Eina_List * <Eo *>;
@feature
2014-05-26 13:56:05 +03:00
Daniel Zaoui
87776ff0fa
Eolian: add support for functions scope.
...
This patch adds support for protected functions.
In the .eo file, the scope (public by default) has to be added before
the function name e.g:
protected foo ...
To access the protected APIs, #define (CLASS)_PROTECTED is needed e.g:
#define ELM_BUTTON_PROTECTED
2014-04-10 05:55:16 +03:00
Daniel Zaoui
9b0a502562
Eolian/Lexer: increase buffer length for .eo files
...
@fix
2014-03-19 07:04:28 +02:00
Daniel Zaoui
5ae7cc962f
Eolian: Format changes
...
- Support keys/values for properties instead of params
- Direction for parameters syntax changed from in to @in...
- obj:const changed to const in .eo
2014-03-03 14:09:55 +02:00
Daniel Zaoui
2f34bcac4b
Eolian/Lexer: support of class types.
...
Now, .eo format has to supply the class type class, abstract, mixin or
interface.
Example: class Elm_Button {...
2014-03-03 14:09:55 +02:00
Daniel Zaoui
8de58b9757
Eolian/Lexer: rename signals to events.
2014-03-03 14:09:54 +02:00
Daniel Zaoui
5dea8ee0a8
Eolian: first import.
...
Imported by Tom, from the eolian repo which was written by:
Daniel Zaoui <daniel.zaoui@samsung.com>
Yakov Goldberg <yakov.g@samsung.com>
Yossi Kantor <yossi.kantor@samsung.com>
Savio Sena <savio@expertisesolutions.com.br>
Jérémy Zurcher <jeremy@asynk.ch>
Signed-off-by: Tom Hacohen <tom@stosb.com>
2014-03-03 14:09:53 +02:00