eolian: initial versioning implementation
authorDaniel Kolesa <d.kolesa@samsung.com>
Sun, 26 May 2019 16:09:34 +0000 (18:09 +0200)
committerJunsuChoi <jsuya.choi@samsung.com>
Thu, 30 May 2019 08:17:52 +0000 (17:17 +0900)
commit4f7bc3d0806bd91f0bbae6bd32017f7548efef6c
tree1f1e2b2fed2dc97d51ebbc8d3467f68061f161b8
parentb862df68283e293123e4310b17c3987f37f56bd1
eolian: initial versioning implementation

This implements initial support for specifying unit versions.
The default version is 1, specifying the basic feature level.

If you want to specify another version, you need to specify
something like `#version 2` at the beginning of the .eo or
.eot file; the version number must be higher than 0 and lower
than USHRT_MAX (typically 65536).

The beginning of the file is now called the "header section";
other things may be added into the header section later.
Version cannot be specified twice, and it cannot be specified
once other contents (like types or class definition) appear.
Comments do not count as other contents, so those are fine
to appear before #version.

@feature
src/lib/eolian/eo_lexer.c
src/lib/eolian/eo_lexer.h
src/lib/eolian/eo_parser.c
src/lib/eolian/eolian_database.c
src/lib/eolian/eolian_database.h