Add file private sharing grammar 08/227508/9
authorhyunho <hhstark.kang@samsung.com>
Thu, 12 Mar 2020 08:00:20 +0000 (17:00 +0900)
committerhyunho <hhstark.kang@samsung.com>
Fri, 15 May 2020 04:13:13 +0000 (13:13 +0900)
Change-Id: I404c0c06253cea06f836cd12abd9ad491f8cb3eb
Signed-off-by: hyunho <hhstark.kang@samsung.com>
18 files changed:
idlc/ast/location.hh
idlc/ast/parameter.cc
idlc/ast/parameter.h
idlc/ast/parser.cc
idlc/ast/parser.h
idlc/ast/position.hh
idlc/ast/tidlc.ll
idlc/ast/tidlc.yy
idlc/ast/tidlc_l.cpp
idlc/ast/tidlc_y.cpp
idlc/ast/tidlc_y.hpp
idlc/gen/cpp_gen_base.cc
idlc/gen/cpp_gen_base.h
idlc/gen/cpp_gen_base_cb.h
idlc/gen/cpp_proxy_body_gen.cc
idlc/gen/cpp_stub_body_gen.cc
idlc/main.cc
unit_tests/test.tidl

index b7c1b5f..67ad5f2 100644 (file)
@@ -1,8 +1,8 @@
-// A Bison parser, made by GNU Bison 3.0.2.
+// A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++
 
-// Copyright (C) 2002-2013 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 // version 2.2 of Bison.
 
 /**
- ** \file /home/gogo/work/next/tidl/idlc/ast/location.hh
+ ** \file /home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/location.hh
  ** Define the yy::location class.
  */
 
-#ifndef YY_YY_HOME_GOGO_WORK_NEXT_TIDL_IDLC_AST_LOCATION_HH_INCLUDED
-# define YY_YY_HOME_GOGO_WORK_NEXT_TIDL_IDLC_AST_LOCATION_HH_INCLUDED
+#ifndef YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_LOCATION_HH_INCLUDED
+# define YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_LOCATION_HH_INCLUDED
 
 # include "position.hh"
 
 
 namespace yy {
-#line 46 "/home/gogo/work/next/tidl/idlc/ast/location.hh" // location.cc:291
+#line 46 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/location.hh" // location.cc:296
   /// Abstract a location.
   class location
   {
@@ -87,36 +87,42 @@ namespace yy {
     position end;
   };
 
-  /// Join two location objects to create a location.
-  inline location operator+ (location res, const location& end)
+  /// Join two locations, in place.
+  inline location& operator+= (location& res, const location& end)
   {
     res.end = end.end;
     return res;
   }
 
-  /// Change end position in place.
+  /// Join two locations.
+  inline location operator+ (location res, const location& end)
+  {
+    return res += end;
+  }
+
+  /// Add \a width columns to the end position, in place.
   inline location& operator+= (location& res, int width)
   {
     res.columns (width);
     return res;
   }
 
-  /// Change end position.
+  /// Add \a width columns to the end position.
   inline location operator+ (location res, int width)
   {
     return res += width;
   }
 
-  /// Change end position in place.
+  /// Subtract \a width columns to the end position, in place.
   inline location& operator-= (location& res, int width)
   {
     return res += -width;
   }
 
-  /// Change end position.
-  inline location operator- (const location& begin, int width)
+  /// Subtract \a width columns to the end position.
+  inline location operator- (location res, int width)
   {
-    return begin + -width;
+    return res -= width;
   }
 
   /// Compare two location objects.
@@ -144,8 +150,7 @@ namespace yy {
   operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
   {
     unsigned int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
-    ostr << loc.begin// << "(" << loc.end << ") "
-;
+    ostr << loc.begin;
     if (loc.end.filename
         && (!loc.begin.filename
             || *loc.begin.filename != *loc.end.filename))
@@ -159,5 +164,5 @@ namespace yy {
 
 
 } // yy
-#line 163 "/home/gogo/work/next/tidl/idlc/ast/location.hh" // location.cc:291
-#endif // !YY_YY_HOME_GOGO_WORK_NEXT_TIDL_IDLC_AST_LOCATION_HH_INCLUDED
+#line 168 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/location.hh" // location.cc:296
+#endif // !YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_LOCATION_HH_INCLUDED
index 31633ef..1199bb2 100644 (file)
@@ -53,5 +53,14 @@ bool Parameters::Exist(Parameter* param) const {
   return false;
 }
 
+bool Parameters::Exist(std::string type_name) const {
+  for (auto& p : params_) {
+    if (p->GetParameterType().GetBaseType().ToString() == type_name)
+      return true;
+  }
+
+  return false;
+}
+
 }  // namespace tidl
 
index 830d397..2e7abe8 100644 (file)
@@ -44,6 +44,7 @@ class Parameters {
   void Add(Parameter* param);
   const std::list<std::unique_ptr<Parameter>>& GetParams() const;
   bool Exist(Parameter* param) const;
+  bool Exist(std::string type_name) const;
 
  private:
   std::list<std::unique_ptr<Parameter>> params_;
index 7635efb..bf76910 100644 (file)
@@ -33,7 +33,8 @@ void yylex_destroy(void*);
 
 namespace tidl {
 
-Parser::Parser() : scanner_(nullptr), error_(false) {
+Parser::Parser(bool beta_enable) : scanner_(nullptr), error_(false),
+    beta_enable_(beta_enable) {
   yylex_init(&scanner_);
 }
 
@@ -76,4 +77,8 @@ void Parser::ReportError(const std::string& err, unsigned line) {
   error_ = true;
 }
 
+bool Parser::IsBetaEnabled() {
+  return beta_enable_;
+}
+
 }  // namespace tidl
index 6981c6e..3d74bfe 100644 (file)
@@ -27,7 +27,7 @@ namespace tidl {
 
 class Parser {
  public:
-  Parser();
+  Parser(bool beta_enable = false);
   ~Parser();
 
   void* Scanner() const { return scanner_; }
@@ -36,12 +36,14 @@ class Parser {
   void SetDoc(Document* doc);
   std::shared_ptr<Document> GetDoc();
   void ReportError(const std::string& err, unsigned line);
+  bool IsBetaEnabled();
 
  private:
   void* scanner_;
   std::shared_ptr<Document> doc_;
   std::string path_;
   bool error_;
+  bool beta_enable_;
 };
 
 }  // namespace tidl
index b980804..ff35512 100644 (file)
@@ -1,8 +1,8 @@
-// A Bison parser, made by GNU Bison 3.0.2.
+// A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++
 
-// Copyright (C) 2002-2013 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 // version 2.2 of Bison.
 
 /**
- ** \file /home/gogo/work/next/tidl/idlc/ast/position.hh
+ ** \file /home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/position.hh
  ** Define the yy::position class.
  */
 
-#ifndef YY_YY_HOME_GOGO_WORK_NEXT_TIDL_IDLC_AST_POSITION_HH_INCLUDED
-# define YY_YY_HOME_GOGO_WORK_NEXT_TIDL_IDLC_AST_POSITION_HH_INCLUDED
+#ifndef YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_POSITION_HH_INCLUDED
+# define YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_POSITION_HH_INCLUDED
 
 # include <algorithm> // std::max
 # include <iostream>
@@ -52,7 +52,7 @@
 
 
 namespace yy {
-#line 56 "/home/gogo/work/next/tidl/idlc/ast/position.hh" // location.cc:291
+#line 56 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/position.hh" // location.cc:296
   /// Abstract a position.
   class position
   {
@@ -103,7 +103,7 @@ namespace yy {
     }
   };
 
-  /// Add and assign a position.
+  /// Add \a width columns, in place.
   inline position&
   operator+= (position& res, int width)
   {
@@ -111,21 +111,21 @@ namespace yy {
     return res;
   }
 
-  /// Add two position objects.
+  /// Add \a width columns.
   inline position
   operator+ (position res, int width)
   {
     return res += width;
   }
 
-  /// Add and assign a position.
+  /// Subtract \a width columns, in place.
   inline position&
   operator-= (position& res, int width)
   {
     return res += -width;
   }
 
-  /// Add two position objects.
+  /// Subtract \a width columns.
   inline position
   operator- (position res, int width)
   {
@@ -165,5 +165,5 @@ namespace yy {
 
 
 } // yy
-#line 169 "/home/gogo/work/next/tidl/idlc/ast/position.hh" // location.cc:291
-#endif // !YY_YY_HOME_GOGO_WORK_NEXT_TIDL_IDLC_AST_POSITION_HH_INCLUDED
+#line 169 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/position.hh" // location.cc:296
+#endif // !YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_POSITION_HH_INCLUDED
index 226315d..546da14 100644 (file)
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_BUNDLE;
                         }
+"file"                  {
+                          yylval->token = new tidl::Token(yytext, comments);
+                          return yy::parser::token::T_FILE;
+                        }
 "string"                {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_STRING;
index 557d5ec..99668fe 100644 (file)
@@ -71,6 +71,7 @@ int yylex(yy::parser::semantic_type *, yy::parser::location_type *, void *);
 %token<token> T_VALUE
 %token<token> T_SB_OPEN
 %token<token> T_SB_CLOSE
+%token<token> T_FILE
 %type<doc> blocks
 %type<blk> block
 %type<structure> structure_block
@@ -79,6 +80,7 @@ int yylex(yy::parser::semantic_type *, yy::parser::location_type *, void *);
 %type<decl> declaration
 %type<p_type> parameter_type
 %type<b_type> base_type
+%type<b_type> raw_type
 %type<b_type> container_type
 %type<param> parameter
 %type<params> parameter_list
@@ -170,16 +172,16 @@ elements: element {
   }
 ;
 
-element: base_type T_ID T_SEMICOLON {
+element: raw_type T_ID T_SEMICOLON {
     $$ = new tidl::Element($2->ToString(), $1, $1->GetComments(),
         @1.begin.line);
     delete $2;
   }
-  | base_type T_SEMICOLON {
+  | raw_type T_SEMICOLON {
     ps->ReportError("syntax error. \"No identifier\".", @2.begin.line);
     $$ = NULL;
   }
-  | base_type error T_SEMICOLON {
+  | raw_type error T_SEMICOLON {
     ps->ReportError("syntax error in element declaration.", @2.begin.line);
     $$ = NULL;
   }
@@ -397,7 +399,22 @@ parameter_type: base_type {
     }
 ;
 
-base_type: container_type {
+base_type: raw_type {
+      $$ = $1;
+    }
+    | T_FILE {
+      if (!ps->IsBetaEnabled()) {
+        ps->ReportError("syntax error. \"No identifier\".", @1.begin.line);
+        $$ = NULL;
+        delete $1;
+      } else {
+        $$ = new tidl::BaseType("file", $1->GetComments());
+        delete $1;
+      }
+    }
+;
+
+raw_type: container_type {
       $$ = $1;
     }
     | T_VOID {
index f8c6386..debd1f5 100644 (file)
@@ -1,6 +1,6 @@
-#line 2 "/home/gogo/work/next/tidl/idlc/ast/tidlc_l.cpp"
+#line 2 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_l.cpp"
 
-#line 4 "/home/gogo/work/next/tidl/idlc/ast/tidlc_l.cpp"
+#line 4 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_l.cpp"
 
 #define  YY_INT_ALIGNED short int
 
@@ -8,8 +8,8 @@
 
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 0
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #define FLEX_BETA
 #endif
@@ -243,7 +243,7 @@ struct yy_buffer_state
        /* Number of characters read into yy_ch_buf, not including EOB
         * characters.
         */
-       yy_size_t yy_n_chars;
+       int yy_n_chars;
 
        /* Whether we "own" the buffer - i.e., we know we created it,
         * and can realloc() it to grow it, and should free() it to
@@ -354,7 +354,7 @@ void yyfree (void * ,yyscan_t yyscanner );
 
 /* Begin user sect3 */
 
-#define yywrap(yyscanner) 1
+#define yywrap(yyscanner) (/*CONSTCOND*/1)
 #define YY_SKIP_YYWRAP
 
 typedef unsigned char YY_CHAR;
@@ -366,6 +366,9 @@ typedef int yy_state_type;
 static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  ,yyscan_t yyscanner);
 static int yy_get_next_buffer (yyscan_t yyscanner );
+#if defined(__GNUC__) && __GNUC__ >= 3
+__attribute__((__noreturn__))
+#endif
 static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
 
 /* Done after the current pattern has been matched and before the
@@ -378,8 +381,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
        *yy_cp = '\0'; \
        yyg->yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 45
-#define YY_END_OF_BUFFER 46
+#define YY_NUM_RULES 46
+#define YY_END_OF_BUFFER 47
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -387,25 +390,26 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_accept[129] =
+static yyconst flex_int16_t yy_accept[132] =
     {   0,
-        0,    0,    0,    0,    0,    0,   46,   44,   12,   11,
-        8,   16,   17,   13,   44,   18,   34,   43,   35,   40,
-       41,   42,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   14,   15,    6,    5,    6,   10,   45,
-        9,   10,   11,    1,    0,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   29,   40,   40,   40,   40,   40,
-       40,   40,    6,    5,    3,   10,    0,    7,   40,   40,
-       40,   40,   40,   40,   40,   40,   22,   40,   40,   30,
-       31,   40,   40,   40,    0,    5,    4,    0,    2,    0,
-       40,   40,   28,   40,   20,   40,   40,   40,   40,   36,
-
-       23,   40,   40,   40,   19,    0,   37,   32,   40,   40,
-       40,   24,   40,   21,   40,   40,   26,   40,   25,   40,
-       27,   38,   40,   40,   33,   40,   39,    0
+        0,    0,    0,    0,    0,    0,   47,   45,   12,   11,
+        8,   16,   17,   13,   45,   18,   35,   44,   36,   41,
+       42,   43,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   14,   15,    6,    5,    6,   10,   46,
+        9,   10,   11,    1,    0,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   30,   41,   41,   41,   41,
+       41,   41,   41,    6,    5,    3,   10,    0,    7,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   22,   41,
+       41,   31,   32,   41,   41,   41,    0,    5,    4,    0,
+        2,    0,   41,   41,   29,   41,   20,   41,   41,   27,
+
+       41,   41,   37,   23,   41,   41,   41,   19,    0,   38,
+       33,   41,   41,   41,   24,   41,   21,   41,   41,   26,
+       41,   25,   41,   28,   39,   41,   41,   34,   41,   40,
+        0
     } ;
 
-static yyconst flex_int32_t yy_ec[256] =
+static yyconst YY_CHAR yy_ec[256] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
@@ -437,7 +441,7 @@ static yyconst flex_int32_t yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int32_t yy_meta[38] =
+static yyconst YY_CHAR yy_meta[38] =
     {   0,
         1,    1,    1,    1,    1,    1,    2,    1,    1,    3,
         1,    1,    1,    1,    3,    1,    1,    3,    3,    3,
@@ -445,102 +449,102 @@ static yyconst flex_int32_t yy_meta[38] =
         3,    3,    3,    3,    3,    1,    1
     } ;
 
-static yyconst flex_int16_t yy_base[135] =
+static yyconst flex_uint16_t yy_base[138] =
     {   0,
-        0,    0,   35,   36,   37,   42,  153,  154,  154,  149,
-      154,  154,  154,  154,   41,  154,  154,  154,  154,    0,
-      154,  154,   21,   24,  126,   25,  123,  121,   29,  115,
-      125,   31,  117,  154,  154,  142,  141,  134,  139,  138,
-      137,  154,  136,  154,  135,    0,  107,  101,  106,  106,
-      115,  105,   98,  101,   97,   97,   99,   94,  102,   95,
-       93,   96,    0,  118,   57,    0,  117,  154,  101,   90,
-       90,   95,   85,   92,   94,   94,   89,   78,   85,    0,
-        0,   78,   35,   86,  103,  102,  101,   94,  154,   99,
-       66,   80,    0,   72,    0,   74,   70,   64,   65,    0,
-
-        0,   62,   65,   72,    0,   58,    0,    0,   69,   72,
-       67,    0,   65,    0,   63,   54,    0,   53,    0,   66,
-        0,    0,   60,   59,    0,   40,    0,  154,   68,   71,
-       56,   74,   77,   80
+        0,    0,   35,   36,   37,   42,  156,  157,  157,  152,
+      157,  157,  157,  157,   41,  157,  157,  157,  157,    0,
+      157,  157,   21,   24,  129,   25,   29,  125,   32,  119,
+      129,   34,  121,  157,  157,  146,  145,  138,  143,  142,
+      141,  157,  140,  157,  139,    0,  111,  105,  110,  110,
+      119,  109,  102,  107,  104,  100,  100,  102,   97,  105,
+       98,   96,   99,    0,  121,   60,    0,  120,  157,  104,
+       93,   93,   98,   88,   95,   97,   93,   96,   91,   80,
+       87,    0,    0,   80,   38,   88,  105,  104,  103,   96,
+      157,  101,   68,   82,    0,   74,    0,   76,   72,    0,
+
+       66,   67,    0,    0,   64,   67,   74,    0,   53,    0,
+        0,   71,   74,   69,    0,   67,    0,   65,   56,    0,
+       55,    0,   67,    0,    0,   60,   50,    0,   46,    0,
+      157,   71,   74,   62,   77,   80,   83
     } ;
 
-static yyconst flex_int16_t yy_def[135] =
+static yyconst flex_int16_t yy_def[138] =
     {   0,
-      128,    1,  129,  129,  130,  130,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  131,
-      128,  128,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  132,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  133,  133,  128,  134,  132,  128,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  128,  128,  128,  128,  128,  128,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-
-      131,  131,  131,  131,  131,  128,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,    0,  128,  128,
-      128,  128,  128,  128
+      131,    1,  132,  132,  133,  133,  131,  131,  131,  131,
+      131,  131,  131,  131,  131,  131,  131,  131,  131,  134,
+      131,  131,  134,  134,  134,  134,  134,  134,  134,  134,
+      134,  134,  134,  131,  131,  131,  131,  131,  131,  131,
+      131,  131,  131,  131,  135,  134,  134,  134,  134,  134,
+      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
+      134,  134,  134,  136,  136,  131,  137,  135,  131,  134,
+      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
+      134,  134,  134,  134,  134,  134,  131,  131,  131,  131,
+      131,  131,  134,  134,  134,  134,  134,  134,  134,  134,
+
+      134,  134,  134,  134,  134,  134,  134,  134,  131,  134,
+      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
+      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
+        0,  131,  131,  131,  131,  131,  131
     } ;
 
-static yyconst flex_int16_t yy_nxt[192] =
+static yyconst flex_uint16_t yy_nxt[195] =
     {   0,
         8,    9,   10,   11,   12,   13,    8,   14,   15,    8,
        16,   17,   18,   19,   20,   21,   22,   23,   24,   25,
        26,   20,   27,   20,   20,   28,   29,   20,   30,   31,
        32,   20,   20,   33,   20,   34,   35,   37,   37,   40,
        41,   38,   38,   42,   40,   41,   52,   44,   42,   45,
-       47,   48,   49,   53,   56,   60,   50,   57,   46,   87,
-      103,  127,   61,   88,   88,   89,   89,  104,   36,   36,
-       36,   39,   39,   39,   67,   67,   67,   85,  126,   85,
-       90,  125,   90,  124,  123,  122,  121,  120,  119,  118,
-      117,  116,  115,  114,  113,  112,  111,  110,  109,  108,
-
-      107,   66,  106,   87,   64,   63,  105,  102,  101,  100,
-       99,   98,   97,   96,   95,   94,   93,   92,   91,   68,
-       86,   84,   83,   82,   81,   80,   79,   78,   77,   76,
-       75,   74,   73,   72,   71,   70,   69,   68,   43,   66,
-       66,   66,   65,   64,   63,   62,   59,   58,   55,   54,
-       51,   43,  128,    7,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128
+       47,   48,   49,   53,   54,   55,   50,   57,   61,   90,
+       58,   91,   89,  106,   46,   62,   90,  130,   91,  129,
+      107,   36,   36,   36,   39,   39,   39,   68,   68,   68,
+       87,  128,   87,   92,  127,   92,  126,  125,  124,  123,
+      122,  121,  120,  119,  118,  117,  116,  115,  114,  113,
+
+      112,  111,  110,   67,  109,   89,   65,   64,  108,  105,
+      104,  103,  102,  101,  100,   99,   98,   97,   96,   95,
+       94,   93,   69,   88,   86,   85,   84,   83,   82,   81,
+       80,   79,   78,   77,   76,   75,   74,   73,   72,   71,
+       70,   69,   43,   67,   67,   67,   66,   65,   64,   63,
+       60,   59,   56,   51,   43,  131,    7,  131,  131,  131,
+      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
+      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
+      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
+      131,  131,  131,  131
 
     } ;
 
-static yyconst flex_int16_t yy_chk[192] =
+static yyconst flex_int16_t yy_chk[195] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    3,    4,    5,
         5,    3,    4,    5,    6,    6,   26,   15,    6,   15,
-       23,   23,   24,   26,   29,   32,   24,   29,  131,   65,
-       83,  126,   32,   65,  106,   65,  106,   83,  129,  129,
-      129,  130,  130,  130,  132,  132,  132,  133,  124,  133,
-      134,  123,  134,  120,  118,  116,  115,  113,  111,  110,
-      109,  104,  103,  102,   99,   98,   97,   96,   94,   92,
-
-       91,   90,   88,   87,   86,   85,   84,   82,   79,   78,
-       77,   76,   75,   74,   73,   72,   71,   70,   69,   67,
-       64,   62,   61,   60,   59,   58,   57,   56,   55,   54,
-       53,   52,   51,   50,   49,   48,   47,   45,   43,   41,
-       40,   39,   38,   37,   36,   33,   31,   30,   28,   27,
-       25,   10,    7,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128
+       23,   23,   24,   26,   27,   27,   24,   29,   32,  109,
+       29,  109,   66,   85,  134,   32,   66,  129,   66,  127,
+       85,  132,  132,  132,  133,  133,  133,  135,  135,  135,
+      136,  126,  136,  137,  123,  137,  121,  119,  118,  116,
+      114,  113,  112,  107,  106,  105,  102,  101,   99,   98,
+
+       96,   94,   93,   92,   90,   89,   88,   87,   86,   84,
+       81,   80,   79,   78,   77,   76,   75,   74,   73,   72,
+       71,   70,   68,   65,   63,   62,   61,   60,   59,   58,
+       57,   56,   55,   54,   53,   52,   51,   50,   49,   48,
+       47,   45,   43,   41,   40,   39,   38,   37,   36,   33,
+       31,   30,   28,   25,   10,    7,  131,  131,  131,  131,
+      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
+      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
+      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
+      131,  131,  131,  131
 
     } ;
 
 /* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[46] =
+static yyconst flex_int32_t yy_rule_can_match_eol[47] =
     {   0,
 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0,     };
+    0, 0, 0, 0, 0, 0, 0,     };
 
 /* The intent behind this definition is that it'll catch
  * any uses of REJECT which flex missed.
@@ -549,8 +553,8 @@ static yyconst flex_int32_t yy_rule_can_match_eol[46] =
 #define yymore() yymore_used_but_not_detected
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
-#line 1 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
-#line 2 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 1 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
+#line 2 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 #include <stdio.h>
 #include <string>
 
@@ -568,7 +572,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[46] =
 
 #define YY_USER_ACTION yylloc->columns(yyleng);
 
-#line 572 "/home/gogo/work/next/tidl/idlc/ast/tidlc_l.cpp"
+#line 576 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_l.cpp"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -599,7 +603,7 @@ struct yyguts_t
     size_t yy_buffer_stack_max; /**< capacity of stack. */
     YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
     char yy_hold_char;
-    yy_size_t yy_n_chars;
+    int yy_n_chars;
     yy_size_t yyleng_r;
     char *yy_c_buf_p;
     int yy_init;
@@ -651,11 +655,11 @@ void yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
 
 FILE *yyget_in (yyscan_t yyscanner );
 
-void yyset_in  (FILE * in_str ,yyscan_t yyscanner );
+void yyset_in  (FILE * _in_str ,yyscan_t yyscanner );
 
 FILE *yyget_out (yyscan_t yyscanner );
 
-void yyset_out  (FILE * out_str ,yyscan_t yyscanner );
+void yyset_out  (FILE * _out_str ,yyscan_t yyscanner );
 
 yy_size_t yyget_leng (yyscan_t yyscanner );
 
@@ -663,11 +667,11 @@ char *yyget_text (yyscan_t yyscanner );
 
 int yyget_lineno (yyscan_t yyscanner );
 
-void yyset_lineno (int line_number ,yyscan_t yyscanner );
+void yyset_lineno (int _line_number ,yyscan_t yyscanner );
 
 int yyget_column  (yyscan_t yyscanner );
 
-void yyset_column (int column_no ,yyscan_t yyscanner );
+void yyset_column (int _column_no ,yyscan_t yyscanner );
 
 YYSTYPE * yyget_lval (yyscan_t yyscanner );
 
@@ -689,8 +693,12 @@ extern int yywrap (yyscan_t yyscanner );
 #endif
 #endif
 
+#ifndef YY_NO_UNPUT
+    
     static void yyunput (int c,char *buf_ptr  ,yyscan_t yyscanner);
     
+#endif
+
 #ifndef yytext_ptr
 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
 #endif
@@ -805,7 +813,7 @@ extern int yylex \
 
 /* Code executed at the end of each rule. */
 #ifndef YY_BREAK
-#define YY_BREAK break;
+#define YY_BREAK /*LINTED*/break;
 #endif
 
 #define YY_RULE_SETUP \
@@ -815,9 +823,9 @@ extern int yylex \
  */
 YY_DECL
 {
-       register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
-       register int yy_act;
+       yy_state_type yy_current_state;
+       char *yy_cp, *yy_bp;
+       int yy_act;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
     yylval = yylval_param;
@@ -851,16 +859,16 @@ YY_DECL
                }
 
        {
-#line 28 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 28 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 
 
   std::string comments;
   std::string values;
 
 
-#line 862 "/home/gogo/work/next/tidl/idlc/ast/tidlc_l.cpp"
+#line 870 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_l.cpp"
 
-       while ( 1 )             /* loops until end-of-file is reached */
+       while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
                yy_cp = yyg->yy_c_buf_p;
 
@@ -876,7 +884,7 @@ YY_DECL
 yy_match:
                do
                        {
-                       register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
+                       YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
                        if ( yy_accept[yy_current_state] )
                                {
                                yyg->yy_last_accepting_state = yy_current_state;
@@ -885,13 +893,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 129 )
+                               if ( yy_current_state >= 132 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 154 );
+               while ( yy_base[yy_current_state] != 157 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@ -929,55 +937,55 @@ do_action:        /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 34 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 34 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { comments += yytext; BEGIN(COMMENT); }
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 35 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 35 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { comments += yytext; yylloc->step(); BEGIN(INITIAL); }
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 36 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 36 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { comments += yytext; comments += "\n"; BEGIN(INITIAL); }
        YY_BREAK
 case 4:
 /* rule 4 can match eol */
 YY_RULE_SETUP
-#line 37 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 37 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { comments += yytext; yylloc->step(); BEGIN(INITIAL); }
        YY_BREAK
 case 5:
 /* rule 5 can match eol */
 YY_RULE_SETUP
-#line 38 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 38 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { comments += yytext; yylloc->lines(yyleng); }
        YY_BREAK
 case 6:
 /* rule 6 can match eol */
 YY_RULE_SETUP
-#line 39 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 39 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { comments += yytext; yylloc->step(); }
        YY_BREAK
 case YY_STATE_EOF(COMMENT):
-#line 40 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 40 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { return 0; }
        YY_BREAK
 case 7:
 /* rule 7 can match eol */
 YY_RULE_SETUP
-#line 42 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 42 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { comments += yytext; yylloc->step(); }
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 44 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 44 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { BEGIN(VALUE); }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 45 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 45 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           BEGIN(INITIAL);
                           yylval->token = new tidl::Token(values, comments);
@@ -987,54 +995,54 @@ YY_RULE_SETUP
 case 10:
 /* rule 10 can match eol */
 YY_RULE_SETUP
-#line 50 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 50 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { values += yytext; yylloc->step(); }
        YY_BREAK
 case 11:
 /* rule 11 can match eol */
 YY_RULE_SETUP
-#line 52 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 52 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { yylloc->lines(yyleng); yylloc->step(); }
        YY_BREAK
 case 12:
 /* rule 12 can match eol */
 YY_RULE_SETUP
-#line 54 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 54 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 ; // ignore all whitespace
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 55 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 55 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { return yy::parser::token::T_COMMA; }
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 56 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 56 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { return yy::parser::token::T_BRACE_OPEN; }
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 57 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 57 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { return yy::parser::token::T_BRACE_CLOSE; }
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 58 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 58 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { return yy::parser::token::T_LEFT; }
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 59 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 59 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { return yy::parser::token::T_RIGHT; }
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 60 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 60 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { return yy::parser::token::T_SEMICOLON; }
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 61 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 61 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_VOID;
@@ -1042,7 +1050,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 65 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 65 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_CHAR;
@@ -1050,7 +1058,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 69 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 69 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_SHORT;
@@ -1058,7 +1066,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 73 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 73 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_INT;
@@ -1066,7 +1074,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 77 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 77 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_LONG;
@@ -1074,7 +1082,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 81 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 81 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_FLOAT;
@@ -1082,7 +1090,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 85 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 85 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_DOUBLE;
@@ -1090,7 +1098,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 89 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 89 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_BUNDLE;
@@ -1098,127 +1106,135 @@ YY_RULE_SETUP
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 93 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 93 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
-                          return yy::parser::token::T_STRING;
+                          return yy::parser::token::T_FILE;
                         }
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 97 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 97 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
-                          return yy::parser::token::T_BOOL;
+                          return yy::parser::token::T_STRING;
                         }
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 101 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
-{ return yy::parser::token::T_IN; }
+#line 101 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
+{
+                          yylval->token = new tidl::Token(yytext, comments);
+                          return yy::parser::token::T_BOOL;
+                        }
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 102 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
-{ return yy::parser::token::T_OUT; }
+#line 105 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
+{ return yy::parser::token::T_IN; }
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 103 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
-{ return yy::parser::token::T_REF; }
+#line 106 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
+{ return yy::parser::token::T_OUT; }
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 104 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
-{ return yy::parser::token::T_ASYNC; }
+#line 107 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
+{ return yy::parser::token::T_REF; }
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 105 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
-{ return yy::parser::token::T_DELEGATE; }
+#line 108 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
+{ return yy::parser::token::T_ASYNC; }
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 106 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
-{ return yy::parser::token::T_META_OPEN; }
+#line 109 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
+{ return yy::parser::token::T_DELEGATE; }
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 107 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
-{ return yy::parser::token::T_META_CLOSE; }
+#line 110 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
+{ return yy::parser::token::T_META_OPEN; }
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 108 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 111 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
+{ return yy::parser::token::T_META_CLOSE; }
+       YY_BREAK
+case 37:
+YY_RULE_SETUP
+#line 112 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_LIST;
                         }
        YY_BREAK
-case 37:
+case 38:
 YY_RULE_SETUP
-#line 112 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 116 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_ARRAY;
                         }
        YY_BREAK
-case 38:
+case 39:
 YY_RULE_SETUP
-#line 116 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 120 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_STRUCTURE;
                         }
        YY_BREAK
-case 39:
+case 40:
 YY_RULE_SETUP
-#line 120 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 124 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_INTERFACE;
                         }
        YY_BREAK
-case 40:
+case 41:
 YY_RULE_SETUP
-#line 124 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 128 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 {
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_ID;
                         }
        YY_BREAK
-case 41:
+case 42:
 YY_RULE_SETUP
-#line 128 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 132 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { // Square Bracket
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_SB_OPEN;
                         }
        YY_BREAK
-case 42:
+case 43:
 YY_RULE_SETUP
-#line 132 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 136 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { // Square Bracket
                           yylval->token = new tidl::Token(yytext, comments);
                           return yy::parser::token::T_SB_CLOSE;
                         }
        YY_BREAK
-case 43:
+case 44:
 YY_RULE_SETUP
-#line 136 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 140 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { return yy::parser::token::T_EQUAL; }
        YY_BREAK
-case 44:
+case 45:
 YY_RULE_SETUP
-#line 137 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 141 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 { return yy::parser::token::T_UNKNOWN; }
        YY_BREAK
-case 45:
+case 46:
 YY_RULE_SETUP
-#line 139 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 143 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 ECHO;
        YY_BREAK
-#line 1222 "/home/gogo/work/next/tidl/idlc/ast/tidlc_l.cpp"
+#line 1238 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_l.cpp"
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(VALUE):
        yyterminate();
@@ -1363,9 +1379,9 @@ case YY_STATE_EOF(VALUE):
 static int yy_get_next_buffer (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-       register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-       register char *source = yyg->yytext_ptr;
-       register int number_to_move, i;
+       char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+       char *source = yyg->yytext_ptr;
+       yy_size_t number_to_move, i;
        int ret_val;
 
        if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
@@ -1394,7 +1410,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
        /* Try to read more data. */
 
        /* First move last chars to start of buffer. */
-       number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
+       number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
 
        for ( i = 0; i < number_to_move; ++i )
                *(dest++) = *(source++);
@@ -1476,9 +1492,9 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
        else
                ret_val = EOB_ACT_CONTINUE_SCAN;
 
-       if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+       if ((int) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
                /* Extend the array by 50%, plus the number we really need. */
-               yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
+               int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
                YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
                if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
                        YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
@@ -1497,15 +1513,15 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
     static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
 {
-       register yy_state_type yy_current_state;
-       register char *yy_cp;
+       yy_state_type yy_current_state;
+       char *yy_cp;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
        yy_current_state = yyg->yy_start;
 
        for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
                {
-               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+               YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
                if ( yy_accept[yy_current_state] )
                        {
                        yyg->yy_last_accepting_state = yy_current_state;
@@ -1514,7 +1530,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 129 )
+                       if ( yy_current_state >= 132 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1530,11 +1546,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
  */
     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
 {
-       register int yy_is_jam;
+       int yy_is_jam;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
-       register char *yy_cp = yyg->yy_c_buf_p;
+       char *yy_cp = yyg->yy_c_buf_p;
 
-       register YY_CHAR yy_c = 1;
+       YY_CHAR yy_c = 1;
        if ( yy_accept[yy_current_state] )
                {
                yyg->yy_last_accepting_state = yy_current_state;
@@ -1543,19 +1559,21 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 129 )
+               if ( yy_current_state >= 132 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 128);
+       yy_is_jam = (yy_current_state == 131);
 
        (void)yyg;
        return yy_is_jam ? 0 : yy_current_state;
 }
 
-    static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
+#ifndef YY_NO_UNPUT
+
+    static void yyunput (int c, char * yy_bp , yyscan_t yyscanner)
 {
-       register char *yy_cp;
+       char *yy_cp;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
     yy_cp = yyg->yy_c_buf_p;
@@ -1566,10 +1584,10 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
        if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
                { /* need to shift things up to make room */
                /* +2 for EOB chars. */
-               register yy_size_t number_to_move = yyg->yy_n_chars + 2;
-               register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+               yy_size_t number_to_move = yyg->yy_n_chars + 2;
+               char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
                                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
-               register char *source =
+               char *source =
                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
 
                while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
@@ -1595,6 +1613,8 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
        yyg->yy_c_buf_p = yy_cp;
 }
 
+#endif
+
 #ifndef YY_NO_INPUT
 #ifdef __cplusplus
     static int yyinput (yyscan_t yyscanner)
@@ -1755,7 +1775,7 @@ static void yy_load_buffer_state  (yyscan_t yyscanner)
        if ( ! b )
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
-       b->yy_buf_size = size;
+       b->yy_buf_size = (yy_size_t)size;
 
        /* yy_ch_buf has to be 2 characters longer than the size given because
         * we need to put in 2 end-of-buffer characters.
@@ -1916,7 +1936,7 @@ static void yyensure_buffer_stack (yyscan_t yyscanner)
                 * scanner will even need a stack. We use 2 instead of 1 to avoid an
                 * immediate realloc on the next call.
          */
-               num_to_alloc = 1;
+               num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
                yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
                                                                , yyscanner);
@@ -1933,7 +1953,7 @@ static void yyensure_buffer_stack (yyscan_t yyscanner)
        if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
 
                /* Increase the buffer to prepare for a possible push. */
-               int grow_size = 8 /* arbitrary grow size */;
+               yy_size_t grow_size = 8 /* arbitrary grow size */;
 
                num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
                yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
@@ -2041,7 +2061,9 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len
 
 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
 {
-       (void) fprintf( stderr, "%s\n", msg );
+       struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+       (void)yyg;
+       (void) fprintf( stderr, "%s\n", msg );
        exit( YY_EXIT_FAILURE );
 }
 
@@ -2147,10 +2169,10 @@ void yyset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
 }
 
 /** Set the current line number.
- * @param line_number
+ * @param _line_number line number
  * @param yyscanner The scanner object.
  */
-void yyset_lineno (int  line_number , yyscan_t yyscanner)
+void yyset_lineno (int  _line_number , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
@@ -2158,14 +2180,14 @@ void yyset_lineno (int  line_number , yyscan_t yyscanner)
         if (! YY_CURRENT_BUFFER )
            YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
     
-    yylineno = line_number;
+    yylineno = _line_number;
 }
 
 /** Set the current column.
- * @param line_number
+ * @param _column_no column number
  * @param yyscanner The scanner object.
  */
-void yyset_column (int  column_no , yyscan_t yyscanner)
+void yyset_column (int  _column_no , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
@@ -2173,25 +2195,25 @@ void yyset_column (int  column_no , yyscan_t yyscanner)
         if (! YY_CURRENT_BUFFER )
            YY_FATAL_ERROR( "yyset_column called with no buffer" );
     
-    yycolumn = column_no;
+    yycolumn = _column_no;
 }
 
 /** Set the input stream. This does not discard the current
  * input buffer.
- * @param in_str A readable stream.
+ * @param _in_str A readable stream.
  * @param yyscanner The scanner object.
  * @see yy_switch_to_buffer
  */
-void yyset_in (FILE *  in_str , yyscan_t yyscanner)
+void yyset_in (FILE *  _in_str , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-    yyin = in_str ;
+    yyin = _in_str ;
 }
 
-void yyset_out (FILE *  out_str , yyscan_t yyscanner)
+void yyset_out (FILE *  _out_str , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-    yyout = out_str ;
+    yyout = _out_str ;
 }
 
 int yyget_debug  (yyscan_t yyscanner)
@@ -2200,10 +2222,10 @@ int yyget_debug  (yyscan_t yyscanner)
     return yy_flex_debug;
 }
 
-void yyset_debug (int  bdebug , yyscan_t yyscanner)
+void yyset_debug (int  _bdebug , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-    yy_flex_debug = bdebug ;
+    yy_flex_debug = _bdebug ;
 }
 
 /* Accessor methods for yylval and yylloc */
@@ -2366,7 +2388,10 @@ int yylex_destroy  (yyscan_t yyscanner)
 #ifndef yytext_ptr
 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
 {
-       register int i;
+       struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+       (void)yyg;
+
+       int i;
        for ( i = 0; i < n; ++i )
                s1[i] = s2[i];
 }
@@ -2375,7 +2400,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca
 #ifdef YY_NEED_STRLEN
 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
 {
-       register int n;
+       int n;
        for ( n = 0; s[n]; ++n )
                ;
 
@@ -2385,11 +2410,16 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
 
 void *yyalloc (yy_size_t  size , yyscan_t yyscanner)
 {
+       struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+       (void)yyg;
        return (void *) malloc( size );
 }
 
 void *yyrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
 {
+       struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+       (void)yyg;
+
        /* The cast to (char *) in the following accommodates both
         * implementations that use char* generic pointers, and those
         * that use void* generic pointers.  It works with the latter
@@ -2402,12 +2432,14 @@ void *yyrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
 
 void yyfree (void * ptr , yyscan_t yyscanner)
 {
+       struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+       (void)yyg;
        free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
 }
 
 #define YYTABLES_NAME "yytables"
 
-#line 138 "/home/gogo/work/next/tidl/idlc/ast/tidlc.ll"
+#line 143 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll"
 
 
 
index 5c9f624..a1c3936 100644 (file)
@@ -1,8 +1,8 @@
-// A Bison parser, made by GNU Bison 3.0.2.
+// A Bison parser, made by GNU Bison 3.0.4.
 
 // Skeleton implementation for Bison GLR parsers in C
 
-// Copyright (C) 2002-2013 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -36,7 +36,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "3.0.2"
+#define YYBISON_VERSION "3.0.4"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "glr.cc"
@@ -50,7 +50,7 @@
 
 
 /* First part of user declarations.  */
-#line 1 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:207
+#line 1 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:240
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -73,7 +73,7 @@ int yylex(yy::parser::semantic_type *, yy::parser::location_type *, void *);
 #define lex_scanner ps->Scanner()
 
 
-#line 77 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:207
+#line 77 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:240
 
 # ifndef YY_NULLPTR
 #  if defined __cplusplus && 201103L <= __cplusplus
@@ -105,7 +105,7 @@ static YYLTYPE yyloc_default
 ;
 
 /* Copy the second part of user declarations.  */
-#line 109 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:230
+#line 109 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:263
 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
    If N is 0, then set CURRENT to the empty location which ends
    the previous symbol: RHS[0] (always defined).  */
@@ -127,7 +127,7 @@ static YYLTYPE yyloc_default
 
 #define YYRHSLOC(Rhs, K) ((Rhs)[K].yystate.yyloc)
 static void yyerror (const yy::parser::location_type *yylocationp, yy::parser& yyparser, tidl::Parser* ps, const char* msg);
-#line 131 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:230
+#line 131 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:263
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -234,16 +234,16 @@ static void yyerror (const yy::parser::location_type *yylocationp, yy::parser& y
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  19
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   409
+#define YYLAST   388
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  36
+#define YYNTOKENS  37
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  19
+#define YYNNTS  20
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  68
+#define YYNRULES  70
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  133
+#define YYNSTATES  135
 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule.  */
 #define YYMAXRHS 8
 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
@@ -252,7 +252,7 @@ static void yyerror (const yy::parser::location_type *yylocationp, yy::parser& y
 
 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   290
+#define YYMAXUTOK   291
 
 #define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -289,20 +289,21 @@ static const unsigned char yytranslate[] =
        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35
+      35,    36
 };
 
 #if YYDEBUG
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned short int yyrline[] =
 {
-       0,    94,    94,    99,   104,   118,   121,   126,   132,   137,
-     143,   150,   156,   167,   173,   178,   182,   186,   192,   198,
-     209,   215,   220,   226,   233,   239,   247,   252,   257,   264,
-     270,   281,   287,   292,   299,   307,   312,   317,   322,   326,
-     330,   334,   338,   344,   350,   361,   367,   370,   373,   378,
-     381,   385,   391,   394,   400,   403,   407,   411,   415,   419,
-     423,   427,   431,   435,   439,   443,   449,   456,   460
+       0,    96,    96,   101,   106,   120,   123,   128,   134,   139,
+     145,   152,   158,   169,   175,   180,   184,   188,   194,   200,
+     211,   217,   222,   228,   235,   241,   249,   254,   259,   266,
+     272,   283,   289,   294,   301,   309,   314,   319,   324,   328,
+     332,   336,   340,   346,   352,   363,   369,   372,   375,   380,
+     383,   387,   393,   396,   402,   405,   417,   420,   424,   428,
+     432,   436,   440,   444,   448,   452,   456,   460,   466,   473,
+     477
 };
 #endif
 
@@ -317,35 +318,35 @@ static const char *const yytname[] =
   "T_UNKNOWN", "T_ID", "T_STRUCTURE", "T_INTERFACE", "T_CHAR", "T_SHORT",
   "T_INT", "T_LONG", "T_FLOAT", "T_DOUBLE", "T_VOID", "T_BUNDLE",
   "T_STRING", "T_BOOL", "T_LIST", "T_ARRAY", "T_VALUE", "T_SB_OPEN",
-  "T_SB_CLOSE", "$accept", "start", "blocks", "block", "structure_block",
-  "elements", "element", "attributes", "attribute", "interface_block",
-  "declarations", "declaration", "parameter_list", "direction_specifier",
-  "parameter", "parameter_type", "base_type", "container_type",
-  "container_type_name", YY_NULLPTR
+  "T_SB_CLOSE", "T_FILE", "$accept", "start", "blocks", "block",
+  "structure_block", "elements", "element", "attributes", "attribute",
+  "interface_block", "declarations", "declaration", "parameter_list",
+  "direction_specifier", "parameter", "parameter_type", "base_type",
+  "raw_type", "container_type", "container_type_name", YY_NULLPTR
 };
 #endif
 
-#define YYPACT_NINF -68
-#define YYTABLE_NINF -56
+#define YYPACT_NINF -67
+#define YYTABLE_NINF -58
 
   // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
   // STATE-NUM.
 static const short int yypact[] =
 {
-      26,     6,    13,    41,    10,    26,   -68,   -68,   -68,    40,
-     323,    31,    55,   362,    43,   -68,    42,     1,   -68,   -68,
-     -68,   323,   -68,   -68,   -68,   -68,   -68,   -68,   -68,   -68,
-     -68,   -68,   -68,   -68,   -68,   -68,   -68,   116,   -68,    15,
-     -68,     4,   323,   362,   -68,    22,   148,   -68,    38,   362,
-     -11,     2,    36,    47,   180,    72,   -68,   -68,    73,   -68,
-      74,   377,   212,   244,    75,    84,    79,    78,   -68,   -68,
-      80,    84,    87,   276,   -68,   -68,   -68,   -68,    59,   -68,
-     -68,   -68,   -68,    83,   -68,   -68,   -68,   -68,   -68,   -68,
-     -68,    81,    61,   377,   -68,    82,   -68,    84,   -68,   -68,
-      65,    84,   -68,    85,   -68,    37,   347,   -68,   -68,    68,
-      92,    71,   362,    95,    97,   -68,     3,   -68,    52,   308,
-     -68,   -68,   -68,    98,   112,   -68,   113,   114,   -68,   -68,
-     -68,   -68,   -68
+      -4,    24,    45,    21,    10,    -4,   -67,   -67,   -67,    69,
+     296,     5,    87,   336,    13,   -67,    49,     6,   -67,   -67,
+     -67,   296,   -67,   -67,   -67,   -67,   -67,   -67,   -67,   -67,
+     -67,   -67,   -67,   -67,   -67,   -67,   -67,   217,   -67,    20,
+     -67,     4,   296,   336,   -67,    42,   -67,    89,   -67,    52,
+     -67,   336,    14,     2,    33,    34,   249,    51,   -67,   -67,
+      65,   -67,    67,   352,   281,   121,    85,    57,    93,   117,
+     -67,   -67,   118,    57,    98,   153,   -67,   -67,   -67,   -67,
+     108,   -67,   -67,   -67,   -67,   113,   -67,   -67,   -67,   -67,
+     -67,   -67,   -67,   110,    95,   352,   -67,   112,   -67,    57,
+     -67,   -67,    99,    57,   -67,   124,   -67,     7,   320,   -67,
+     -67,   101,   126,   104,   336,   127,   128,   -67,    53,   -67,
+      86,   185,   -67,   -67,   -67,   129,   130,   -67,   131,   132,
+     -67,   -67,   -67,   -67,   -67
 };
 
   // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -355,32 +356,32 @@ static const unsigned char yydefact[] =
 {
        0,     0,     0,     0,     0,     2,     3,     6,     5,     0,
        0,     0,     0,     0,     0,    20,     0,     0,    18,     1,
-       4,     0,    10,    17,    65,    56,    57,    58,    59,    60,
-      61,    55,    62,    63,    64,    67,    68,     0,    11,     0,
-      54,     0,     0,     0,    28,     0,     0,    29,     0,     0,
-       0,     0,     0,     0,     0,    17,     8,    12,     0,    15,
-       0,     0,     0,     0,     0,     0,     0,     0,    26,    30,
-       0,     0,     0,     0,    22,    23,    21,    19,     0,     9,
-      13,    16,    14,     0,     7,    27,    42,    45,    46,    47,
-      48,    50,     0,     0,    43,     0,    52,     0,    31,    41,
-       0,     0,    24,     0,    66,     0,    49,    53,    51,     0,
-       0,     0,     0,     0,     0,    44,     0,    38,     0,     0,
-      39,    40,    37,     0,     0,    32,     0,     0,    25,    33,
-      34,    35,    36
+       4,     0,    10,    17,    67,    58,    59,    60,    61,    62,
+      63,    57,    64,    65,    66,    69,    70,     0,    11,     0,
+      56,     0,     0,     0,    28,     0,    55,     0,    29,     0,
+      54,     0,     0,     0,     0,     0,     0,    17,     8,    12,
+       0,    15,     0,     0,     0,     0,     0,     0,     0,     0,
+      26,    30,     0,     0,     0,     0,    22,    23,    21,    19,
+       0,     9,    13,    16,    14,     0,     7,    27,    42,    45,
+      46,    47,    48,    50,     0,     0,    43,     0,    52,     0,
+      31,    41,     0,     0,    24,     0,    68,     0,    49,    53,
+      51,     0,     0,     0,     0,     0,     0,    44,     0,    38,
+       0,     0,    39,    40,    37,     0,     0,    32,     0,     0,
+      25,    33,    34,    35,    36
 };
 
   // YYPGOTO[NTERM-NUM].
-static const signed char yypgoto[] =
+static const short int yypgoto[] =
 {
-     -68,   -68,   -68,   117,   -68,   -16,   -25,   -68,    69,   -68,
-     -41,   -45,   -67,   -68,    17,   -68,   -10,   -68,   -68
+     -67,   -67,   -67,   135,   -67,   -15,   -32,   -67,   102,   -67,
+     -42,   -47,   -66,   -67,    47,   -67,   -59,    -8,   -67,   -67
 };
 
   // YYDEFGOTO[NTERM-NUM].
 static const signed char yydefgoto[] =
 {
       -1,     4,     5,     6,     7,    37,    38,    17,    18,     8,
-      46,    47,    92,    93,    94,    95,    48,    40,    41
+      47,    48,    94,    95,    96,    97,    49,    50,    40,    41
 };
 
   // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -388,124 +389,121 @@ static const signed char yydefgoto[] =
   // number is the opposite.  If YYTABLE_NINF, syntax error.
 static const short int yytable[] =
 {
-      39,    69,    63,    75,   100,    54,    52,     9,    73,   122,
-      19,    39,    57,    10,    12,   123,    58,    61,    69,   124,
-      13,    59,    74,    64,    11,    65,    62,    39,    69,    57,
-     109,    14,    39,    60,   111,    76,    53,    57,    42,    70,
-      66,    71,    15,    50,    39,     1,     2,    21,    22,   113,
-      49,    83,    39,   114,    16,    96,    72,    51,   125,    16,
-       3,    96,    43,    44,   126,   105,   106,    78,   127,   110,
-     106,   119,   116,   106,    69,   118,   106,   103,    80,    81,
-      82,    86,    97,   107,    98,    87,    99,    96,   -49,   -49,
-     101,    96,   112,    88,    89,    90,    96,   104,   117,   -55,
-     108,   120,    24,   121,   129,    25,    26,    27,    28,    29,
-      30,    91,    32,    33,    34,    35,    36,    55,   130,   131,
-     132,    77,    20,   115,    56,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    24,     0,     0,    25,    26,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,    36,    67,
-       0,     0,     0,     0,     0,     0,    68,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    24,     0,     0,    25,
-      26,    27,    28,    29,    30,    45,    32,    33,    34,    35,
-      36,    55,     0,     0,     0,     0,     0,     0,    79,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    24,     0,
-       0,    25,    26,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    55,     0,     0,     0,     0,     0,     0,
-      84,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      24,     0,     0,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    67,     0,     0,     0,     0,
-       0,     0,    85,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    24,     0,     0,    25,    26,    27,    28,    29,
-      30,    45,    32,    33,    34,    35,    36,    67,     0,     0,
-       0,     0,     0,     0,   102,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    24,     0,     0,    25,    26,    27,
-      28,    29,    30,    45,    32,    33,    34,    35,    36,    67,
-       0,     0,     0,     0,     0,     0,   128,     0,     0,     0,
-       0,     0,     0,     0,    23,     0,    24,     0,     0,    25,
-      26,    27,    28,    29,    30,    45,    32,    33,    34,    35,
-      36,    24,     0,     0,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    88,    89,    90,     0,
+      71,    65,    39,    77,    85,    59,    56,   102,    98,    75,
+      19,    54,    42,    39,    98,     1,     2,    63,    71,   115,
+      51,    60,    15,   116,    59,     9,    61,    64,    71,    39,
+       3,    10,    59,   111,    39,    78,   109,   113,    62,    16,
+      98,    55,    11,    66,    98,    67,    12,    76,    39,    98,
+      52,    16,    13,    72,    80,    73,    39,    82,    89,   124,
+      68,   -49,   -49,    14,    53,   125,    90,    91,    92,   126,
+      74,    83,   121,    84,    71,    24,    21,    22,    25,    26,
+      27,    28,    29,    30,    93,    32,    33,    34,    35,    36,
+      69,    88,   127,    46,    43,    44,    99,    70,   128,   107,
+     108,   103,   129,   112,   108,   118,   108,    24,   120,   108,
+      25,    26,    27,    28,    29,    30,    45,    32,    33,    34,
+      35,    36,    69,   100,   101,    46,   105,   106,   -57,    87,
+     110,   114,   119,   122,   123,   131,   132,   133,   134,    24,
+      20,     0,    25,    26,    27,    28,    29,    30,    45,    32,
+      33,    34,    35,    36,    69,   117,    79,    46,     0,     0,
+       0,   104,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    24,     0,     0,    25,    26,    27,    28,    29,    30,
+      45,    32,    33,    34,    35,    36,    69,     0,     0,    46,
+       0,     0,     0,   130,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    24,     0,     0,    25,    26,    27,    28,
+      29,    30,    45,    32,    33,    34,    35,    36,    57,     0,
+       0,    46,     0,     0,     0,    58,     0,     0,     0,     0,
        0,     0,     0,     0,     0,    24,     0,     0,    25,    26,
-      27,    28,    29,    30,    91,    32,    33,    34,    35,    36,
-      24,     0,     0,    25,    26,    27,    28,    29,    30,    45,
-      32,    33,    34,    35,    36,    24,     0,     0,    25,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      57,     0,     0,     0,     0,     0,     0,    81,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    24,     0,     0,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    57,     0,     0,     0,     0,     0,     0,    86,
+       0,     0,     0,     0,     0,     0,     0,    23,     0,    24,
+       0,     0,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    24,     0,     0,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    90,
+      91,    92,     0,     0,     0,     0,     0,     0,    24,     0,
+       0,    25,    26,    27,    28,    29,    30,    93,    32,    33,
+      34,    35,    36,     0,    24,     0,    46,    25,    26,    27,
+      28,    29,    30,    45,    32,    33,    34,    35,    36,     0,
+      24,     0,    46,    25,    26,    27,    28,    29,    30,    31,
+      32,    33,    34,    35,    36,     0,     0,     0,    46
 };
 
 static const signed char yycheck[] =
 {
-      10,    46,    43,     1,    71,    21,     5,     1,    49,     6,
-       0,    21,    37,     7,     1,    12,     1,    13,    63,    16,
-       7,     6,    33,     1,    18,     3,    42,    37,    73,    54,
-      97,    18,    42,    18,   101,    33,    35,    62,     7,     1,
-      18,     3,     1,     1,    54,    19,    20,     7,     8,    12,
-       7,    61,    62,    16,    18,    65,    18,    15,     6,    18,
-      34,    71,     7,     8,    12,     4,     5,    20,    16,     4,
-       5,   112,     4,     5,   119,     4,     5,    18,     6,     6,
-       6,     6,     3,    93,     6,     1,     6,    97,     4,     5,
-       3,   101,     7,     9,    10,    11,   106,    14,     6,    18,
-      18,     6,    18,     6,     6,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,     1,     6,     6,
-       6,    52,     5,   106,     8,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    18,    -1,    -1,    21,    22,    23,
-      24,    25,    26,    27,    28,    29,    30,    31,    32,     1,
-      -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    18,    -1,    -1,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,     1,    -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    -1,
-      -1,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,     1,    -1,    -1,    -1,    -1,    -1,    -1,
-       8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      18,    -1,    -1,    21,    22,    23,    24,    25,    26,    27,
-      28,    29,    30,    31,    32,     1,    -1,    -1,    -1,    -1,
-      -1,    -1,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    18,    -1,    -1,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,     1,    -1,    -1,
-      -1,    -1,    -1,    -1,     8,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    18,    -1,    -1,    21,    22,    23,
-      24,    25,    26,    27,    28,    29,    30,    31,    32,     1,
-      -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,     1,    -1,    18,    -1,    -1,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    18,    -1,    -1,    21,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,     9,    10,    11,    -1,
+      47,    43,    10,     1,    63,    37,    21,    73,    67,    51,
+       0,     5,     7,    21,    73,    19,    20,    13,    65,    12,
+       7,     1,     1,    16,    56,     1,     6,    42,    75,    37,
+      34,     7,    64,    99,    42,    33,    95,   103,    18,    18,
+      99,    35,    18,     1,   103,     3,     1,    33,    56,   108,
+       1,    18,     7,     1,    20,     3,    64,     6,     1,     6,
+      18,     4,     5,    18,    15,    12,     9,    10,    11,    16,
+      18,     6,   114,     6,   121,    18,     7,     8,    21,    22,
+      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+       1,     6,     6,    36,     7,     8,     3,     8,    12,     4,
+       5,     3,    16,     4,     5,     4,     5,    18,     4,     5,
+      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,     1,     6,     6,    36,    18,    14,    18,     8,
+      18,     7,     6,     6,     6,     6,     6,     6,     6,    18,
+       5,    -1,    21,    22,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,     1,   108,    54,    36,    -1,    -1,
+      -1,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    18,    -1,    -1,    21,    22,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,     1,    -1,    -1,    36,
+      -1,    -1,    -1,     8,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    18,    -1,    -1,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,     1,    -1,
+      -1,    36,    -1,    -1,    -1,     8,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    18,    -1,    -1,    21,    22,
       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      18,    -1,    -1,    21,    22,    23,    24,    25,    26,    27,
-      28,    29,    30,    31,    32,    18,    -1,    -1,    21,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32
+       1,    -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    -1,    -1,
+      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,     1,    -1,    -1,    -1,    -1,    -1,    -1,     8,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,    18,
+      -1,    -1,    21,    22,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    18,    -1,    -1,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,     9,
+      10,    11,    -1,    -1,    -1,    -1,    -1,    -1,    18,    -1,
+      -1,    21,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    -1,    18,    -1,    36,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
+      18,    -1,    36,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    -1,    -1,    -1,    36
 };
 
   // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
   // symbol of state STATE-NUM.
 static const unsigned char yystos[] =
 {
-       0,    19,    20,    34,    37,    38,    39,    40,    45,     1,
-       7,    18,     1,     7,    18,     1,    18,    43,    44,     0,
-      39,     7,     8,     1,    18,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    41,    42,    52,
-      53,    54,     7,     7,     8,    27,    46,    47,    52,     7,
-       1,    15,     5,    35,    41,     1,     8,    42,     1,     6,
-      18,    13,    41,    46,     1,     3,    18,     1,     8,    47,
-       1,     3,    18,    46,    33,     1,    33,    44,    20,     8,
-       6,     6,     6,    52,     8,     8,     6,     1,     9,    10,
-      11,    27,    48,    49,    50,    51,    52,     3,     6,     6,
-      48,     3,     8,    18,    14,     4,     5,    52,    18,    48,
-       4,    48,     7,    12,    16,    50,     4,     6,     4,    46,
-       6,     6,     6,    12,    16,     6,    12,    16,     8,     6,
-       6,     6,     6
+       0,    19,    20,    34,    38,    39,    40,    41,    46,     1,
+       7,    18,     1,     7,    18,     1,    18,    44,    45,     0,
+      40,     7,     8,     1,    18,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,    31,    32,    42,    43,    54,
+      55,    56,     7,     7,     8,    27,    36,    47,    48,    53,
+      54,     7,     1,    15,     5,    35,    42,     1,     8,    43,
+       1,     6,    18,    13,    42,    47,     1,     3,    18,     1,
+       8,    48,     1,     3,    18,    47,    33,     1,    33,    45,
+      20,     8,     6,     6,     6,    53,     8,     8,     6,     1,
+       9,    10,    11,    27,    49,    50,    51,    52,    53,     3,
+       6,     6,    49,     3,     8,    18,    14,     4,     5,    53,
+      18,    49,     4,    49,     7,    12,    16,    51,     4,     6,
+       4,    47,     6,     6,     6,    12,    16,     6,    12,    16,
+       8,     6,     6,     6,     6
 };
 
   // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
 static const unsigned char yyr1[] =
 {
-       0,    36,    37,    38,    38,    39,    39,    40,    40,    40,
-      40,    41,    41,    41,    42,    42,    42,    42,    43,    43,
-      43,    44,    44,    44,    45,    45,    45,    45,    45,    46,
-      46,    46,    47,    47,    47,    47,    47,    47,    47,    47,
-      47,    47,    47,    48,    48,    48,    49,    49,    49,    50,
-      50,    50,    51,    51,    52,    52,    52,    52,    52,    52,
-      52,    52,    52,    52,    52,    52,    53,    54,    54
+       0,    37,    38,    39,    39,    40,    40,    41,    41,    41,
+      41,    42,    42,    42,    43,    43,    43,    43,    44,    44,
+      44,    45,    45,    45,    46,    46,    46,    46,    46,    47,
+      47,    47,    48,    48,    48,    48,    48,    48,    48,    48,
+      48,    48,    48,    49,    49,    49,    50,    50,    50,    51,
+      51,    51,    52,    52,    53,    53,    54,    54,    54,    54,
+      54,    54,    54,    54,    54,    54,    54,    54,    55,    56,
+      56
 };
 
   // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
@@ -517,7 +515,8 @@ static const unsigned char yyr2[] =
        2,     3,     6,     7,     7,     7,     7,     6,     5,     6,
        6,     3,     3,     1,     3,     1,     1,     1,     1,     0,
        1,     2,     1,     2,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     4,     1,     1
+       1,     1,     1,     1,     1,     1,     1,     1,     4,     1,
+       1
 };
 
 
@@ -530,7 +529,8 @@ static const unsigned char yydprec[] =
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0
 };
 
 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM.  */
@@ -542,7 +542,8 @@ static const unsigned char yymerger[] =
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0
 };
 
 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
@@ -555,7 +556,8 @@ static const yybool yyimmediate[] =
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0
 };
 
 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
@@ -602,9 +604,7 @@ static const unsigned char yyconflp[] =
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0
+       0,     0,     0,     0,     0,     0,     0,     0,     0
 };
 
 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
@@ -1088,25 +1088,25 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
   switch (yyn)
     {
         case 2:
-#line 94 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 96 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
      ps->SetDoc((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.doc));
   }
-#line 1096 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1096 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 3:
-#line 99 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 101 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).doc) = new tidl::Document();
     if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.blk) != NULL)
       ((*yyvalp).doc)->AddBlock((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.blk));
   }
-#line 1106 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1106 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 4:
-#line 104 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 106 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).doc) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.doc);
 
@@ -1119,80 +1119,80 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
       }
     }
   }
-#line 1123 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1123 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 5:
-#line 118 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 120 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).blk) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.interf);
   }
-#line 1131 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1131 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 6:
-#line 121 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 123 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).blk) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.structure);
   }
-#line 1139 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1139 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 7:
-#line 126 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 128 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).structure) = new tidl::Structure((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.elms), (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token)->GetComments(),
         (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yyloc).begin.line);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token);
   }
-#line 1150 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1150 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 8:
-#line 132 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 134 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yyloc).begin.line);
     ((*yyvalp).structure) = NULL;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token);
   }
-#line 1160 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1160 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 9:
-#line 137 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 139 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error. \"Please check it before an open brace.\"",
         (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yyloc).begin.line);
     ((*yyvalp).structure) = NULL;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token);
   }
-#line 1171 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1171 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 10:
-#line 143 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 145 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in structure declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line);
     ((*yyvalp).structure) = NULL;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token);
   }
-#line 1181 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1181 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 11:
-#line 150 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 152 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).elms) = new (std::nothrow) tidl::Elements();
     if (((*yyvalp).elms) != nullptr) {
       ((*yyvalp).elms)->Add((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.elm));
     }
   }
-#line 1192 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1192 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 12:
-#line 156 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 158 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).elms) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.elms);
     if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.elm) != nullptr) {
@@ -1204,68 +1204,68 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
       }
     }
   }
-#line 1208 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1208 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 13:
-#line 167 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 169 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in elements declarations.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yyloc).begin.line);
     ((*yyvalp).elms) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.elms);
   }
-#line 1217 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1217 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 14:
-#line 173 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 175 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).elm) = new tidl::Element((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.b_type), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.b_type)->GetComments(),
         (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yyloc).begin.line);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.token);
   }
-#line 1227 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1227 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 15:
-#line 178 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 180 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line);
     ((*yyvalp).elm) = NULL;
   }
-#line 1236 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1236 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 16:
-#line 182 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 184 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in element declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line);
     ((*yyvalp).elm) = NULL;
   }
-#line 1245 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1245 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 17:
-#line 186 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 188 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in element declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line);
     ((*yyvalp).elm) = NULL;
   }
-#line 1254 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1254 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 18:
-#line 192 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 194 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).attrs) = new (std::nothrow) tidl::Attributes();
     if (((*yyvalp).attrs) != nullptr) {
       ((*yyvalp).attrs)->Add((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.attr));
     }
   }
-#line 1265 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1265 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 19:
-#line 198 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 200 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).attrs) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.attrs);
     if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.attr) != nullptr) {
@@ -1277,62 +1277,62 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
       }
     }
   }
-#line 1281 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1281 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 20:
-#line 209 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 211 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in attributes", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line);
     ((*yyvalp).attrs) = new tidl::Attributes();
   }
-#line 1290 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1290 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 21:
-#line 215 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 217 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).attr) = new tidl::Attribute((((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yyloc).begin.line);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
   }
-#line 1300 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1300 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 22:
-#line 220 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 222 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in attribute declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line);
     ((*yyvalp).attr) = NULL;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
   }
-#line 1311 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1311 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 23:
-#line 226 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 228 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in attribute declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line);
     ((*yyvalp).attr) = NULL;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token);
   }
-#line 1321 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1321 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 24:
-#line 233 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 235 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).interf) = new tidl::Interface((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.decls), (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token)->GetComments(),
         new tidl::Attributes(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yyloc).begin.line);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token);
   }
-#line 1332 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1332 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 25:
-#line 239 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 241 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).interf) = new tidl::Interface((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.decls), (((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval.token)->GetComments(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.attrs),
         (((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yyloc).begin.line);
@@ -1341,52 +1341,52 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token);
   }
-#line 1345 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1345 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 26:
-#line 247 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 249 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yyloc).begin.line);
     ((*yyvalp).interf) = NULL;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token);
   }
-#line 1355 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1355 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 27:
-#line 252 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 254 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in interface declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yyloc).begin.line);
     ((*yyvalp).interf) = NULL;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token);
   }
-#line 1365 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1365 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 28:
-#line 257 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 259 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in interface declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line);
     ((*yyvalp).interf) = NULL;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token);
   }
-#line 1375 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1375 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 29:
-#line 264 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 266 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).decls) = new (std::nothrow) tidl::Declarations();
     if (((*yyvalp).decls) != nullptr) {
       ((*yyvalp).decls)->Add((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.decl));
     }
   }
-#line 1386 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1386 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 30:
-#line 270 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 272 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).decls) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.decls);
     if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.decl) != nullptr) {
@@ -1398,30 +1398,30 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
       }
     }
   }
-#line 1402 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1402 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 31:
-#line 281 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 283 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in methods declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line);
     ((*yyvalp).decls) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.decls);
   }
-#line 1411 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1411 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 32:
-#line 287 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 289 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).decl) = new tidl::Declaration((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.b_type), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.params), (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.b_type)->GetComments(),
         (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yyloc).begin.line, tidl::Declaration::MethodType::SYNC);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token);
   }
-#line 1421 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1421 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 33:
-#line 292 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 294 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).decl) = new tidl::Declaration((((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token)->ToString(),
         new tidl::BaseType("void", (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.token)->GetComments()), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.params),
@@ -1429,11 +1429,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.token);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token);
   }
-#line 1433 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1433 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 34:
-#line 299 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 301 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).decl) = new tidl::Declaration((((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token)->ToString(),
         new tidl::BaseType("void", (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.token)->GetComments()), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.params),
@@ -1442,97 +1442,97 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.token);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token);
   }
-#line 1446 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1446 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 35:
-#line 307 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 309 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in method declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yyloc).begin.line);
     ((*yyvalp).decl) = NULL;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token);
   }
-#line 1456 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1456 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 36:
-#line 312 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 314 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in method declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yyloc).begin.line);
     ((*yyvalp).decl) = NULL;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token);
   }
-#line 1466 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1466 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 37:
-#line 317 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 319 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error. \"No async\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line);
     ((*yyvalp).decl) = NULL;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token);
   }
-#line 1476 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1476 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 38:
-#line 322 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 324 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yyloc).begin.line);
     ((*yyvalp).decl) = NULL;
   }
-#line 1485 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1485 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 39:
-#line 326 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 328 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yyloc).begin.line);
     ((*yyvalp).decl) = NULL;
   }
-#line 1494 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1494 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 40:
-#line 330 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 332 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yyloc).begin.line);
     ((*yyvalp).decl) = NULL;
   }
-#line 1503 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1503 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 41:
-#line 334 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 336 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in method declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line);
     ((*yyvalp).decl) = NULL;
   }
-#line 1512 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1512 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 42:
-#line 338 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 340 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in method declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line);
     ((*yyvalp).decl) = NULL;
   }
-#line 1521 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1521 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 43:
-#line 344 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 346 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).params) = new tidl::Parameters();
     if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.param) != nullptr) {
       ((*yyvalp).params)->Add((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.param));
     }
   }
-#line 1532 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1532 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 44:
-#line 350 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 352 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).params) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.params);
     if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.param) != nullptr) {
@@ -1544,222 +1544,245 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
       }
     }
   }
-#line 1548 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1548 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 45:
-#line 361 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 363 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ps->ReportError("syntax error in parameter list", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line);
     ((*yyvalp).params) = new tidl::Parameters();
   }
-#line 1557 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1557 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 46:
-#line 367 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 369 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).direction) = new tidl::Token("in", "");
   }
-#line 1565 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1565 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 47:
-#line 370 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 372 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).direction) = new tidl::Token("out", "");
   }
-#line 1573 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1573 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 48:
-#line 373 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 375 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).direction) = new tidl::Token("ref", "");
   }
-#line 1581 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1581 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 49:
-#line 378 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 380 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).param) = nullptr;
   }
-#line 1589 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1589 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 50:
-#line 381 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 383 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).param) = nullptr;
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
   }
-#line 1598 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1598 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 51:
-#line 385 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 387 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
     ((*yyvalp).param) = new tidl::Parameter((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.p_type), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line);
     delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
   }
-#line 1607 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1607 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 52:
-#line 391 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 393 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).p_type) = new tidl::ParameterType((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.b_type));
     }
-#line 1615 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1615 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 53:
-#line 394 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 396 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).p_type) = new tidl::ParameterType((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.b_type), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.direction)->ToString());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.direction);
     }
-#line 1624 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1624 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 54:
-#line 400 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 402 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.b_type);
     }
-#line 1632 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1632 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
   case 55:
-#line 403 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+#line 405 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
+    {
+      if (!ps->IsBetaEnabled()) {
+        ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line);
+        ((*yyvalp).b_type) = NULL;
+        delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
+      } else {
+        ((*yyvalp).b_type) = new tidl::BaseType("file", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
+        delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
+      }
+    }
+#line 1647 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
+    break;
+
+  case 56:
+#line 417 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
+    {
+      ((*yyvalp).b_type) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.b_type);
+    }
+#line 1655 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
+    break;
+
+  case 57:
+#line 420 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType("void", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1641 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1664 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 56:
-#line 407 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 58:
+#line 424 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType("char", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1650 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1673 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 57:
-#line 411 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 59:
+#line 428 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType("short", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1659 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1682 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 58:
-#line 415 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 60:
+#line 432 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType("int", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1668 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1691 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 59:
-#line 419 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 61:
+#line 436 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType("long", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1677 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1700 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 60:
-#line 423 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 62:
+#line 440 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType("float", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1686 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1709 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 61:
-#line 427 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 63:
+#line 444 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType("double", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1695 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1718 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 62:
-#line 431 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 64:
+#line 448 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType("bundle", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1704 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1727 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 63:
-#line 435 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 65:
+#line 452 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType("string", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1713 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1736 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 64:
-#line 439 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 66:
+#line 456 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType("bool", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1722 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1745 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 65:
-#line 443 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 67:
+#line 460 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments(), true);
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1731 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1754 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 66:
-#line 449 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 68:
+#line 466 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).b_type) = new tidl::BaseType((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token)->GetComments());
       ((*yyvalp).b_type)->SetMetaType((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.b_type));
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token);
     }
-#line 1741 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1764 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 67:
-#line 456 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 69:
+#line 473 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).token) = new tidl::Token("list", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1750 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1773 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
-  case 68:
-#line 460 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:783
+  case 70:
+#line 477 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816
     {
       ((*yyvalp).token) = new tidl::Token("array", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments());
       delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token);
     }
-#line 1759 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1782 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
     break;
 
 
-#line 1763 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:783
+#line 1786 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816
       default: break;
     }
 
@@ -1856,7 +1879,7 @@ yylhsNonterm (yyRuleNum yyrule)
 }
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-68)))
+  (!!((Yystate) == (-67)))
 
 /** True iff LR state YYSTATE has only a default reduction (regardless
  *  of token).  */
@@ -3234,7 +3257,7 @@ yyparse (yy::parser& yyparser, tidl::Parser* ps)
 
   /* User initialization code.  */
   yylloc.initialize ();
-#line 3238 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2237
+#line 3261 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2270
 
   if (! yyinitGLRStack (yystackp, YYINITDEPTH))
     goto yyexhaustedlab;
@@ -3535,7 +3558,7 @@ yypdumpstack (yyGLRStack* yystackp)
 
 
 
-#line 466 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.c:2551
+#line 483 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:2584
 
 
 #include <ctype.h>
@@ -3547,7 +3570,7 @@ void yy::parser::error(const yy::parser::location_type& l,
 }
 
 
-#line 3551 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2551
+#line 3574 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2584
 
 /*------------------.
 | Report an error.  |
@@ -3564,7 +3587,7 @@ yyerror (const yy::parser::location_type *yylocationp, yy::parser& yyparser, tid
 
 
 namespace yy {
-#line 3568 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2551
+#line 3591 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2584
   /// Build a parser object.
   parser::parser (tidl::Parser* ps_yyarg)
     :
@@ -3645,4 +3668,4 @@ namespace yy {
 #endif
 
 } // yy
-#line 3649 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2551
+#line 3672 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2584
index fa8c197..e903a9a 100644 (file)
@@ -1,8 +1,8 @@
-// A Bison parser, made by GNU Bison 3.0.2.
+// A Bison parser, made by GNU Bison 3.0.4.
 
 // Skeleton interface for Bison GLR parsers in C++
 
-// Copyright (C) 2002-2013 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -32,8 +32,8 @@
 
 // C++ GLR parser skeleton written by Akim Demaille.
 
-#ifndef YY_YY_HOME_GOGO_WORK_NEXT_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED
-# define YY_YY_HOME_GOGO_WORK_NEXT_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED
+#ifndef YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED
+# define YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED
 
 
 #include <stdexcept>
@@ -48,7 +48,7 @@
 
 
 namespace yy {
-#line 52 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329
+#line 52 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329
 
 
   /// A Bison parser.
@@ -59,7 +59,7 @@ namespace yy {
     /// Symbol semantic values.
     union semantic_type
     {
-    #line 37 "/home/gogo/work/next/tidl/idlc/ast/tidlc.yy" // glr.cc:329
+    #line 37 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.cc:329
 
   tidl::Document* doc;
   tidl::Interface* interf;
@@ -78,7 +78,7 @@ namespace yy {
   tidl::Attribute* attr;
   tidl::Attributes* attrs;
 
-#line 82 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329
+#line 82 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329
     };
 #else
     typedef YYSTYPE semantic_type;
@@ -130,16 +130,20 @@ namespace yy {
         T_ARRAY = 287,
         T_VALUE = 288,
         T_SB_OPEN = 289,
-        T_SB_CLOSE = 290
+        T_SB_CLOSE = 290,
+        T_FILE = 291
       };
     };
 
     /// (External) token type, as returned by yylex.
     typedef token::yytokentype token_type;
 
-    /// Internal symbol number.
+    /// Symbol type: an internal symbol number.
     typedef int symbol_number_type;
 
+    /// The symbol type number to denote an empty symbol.
+    enum { empty_symbol = -2 };
+
     /// Internal symbol number for tokens (subsumed by symbol_number_type).
     typedef unsigned char token_number_type;
 
@@ -170,8 +174,15 @@ namespace yy {
                     const semantic_type& v,
                     const location_type& l);
 
+      /// Destroy the symbol.
       ~basic_symbol ();
 
+      /// Destroy contents, and record that is empty.
+      void clear ();
+
+      /// Whether empty.
+      bool empty () const;
+
       /// Destructive move, \a s is emptied into this.
       void move (basic_symbol& s);
 
@@ -201,21 +212,23 @@ namespace yy {
       /// Constructor from (external) token numbers.
       by_type (kind_type t);
 
+      /// Record that this symbol is empty.
+      void clear ();
+
       /// Steal the symbol type from \a that.
       void move (by_type& that);
 
       /// The (internal) type number (corresponding to \a type).
-      /// -1 when this symbol is empty.
+      /// \a empty when empty.
       symbol_number_type type_get () const;
 
       /// The token.
       token_type token () const;
 
-      enum { empty = 0 };
-
       /// The symbol type.
-      /// -1 when this symbol is empty.
-      token_number_type type;
+      /// \a empty_symbol when empty.
+      /// An int, not token_number_type, to be able to store empty_symbol.
+      int type;
     };
 
     /// "External" symbols: returned by the scanner.
@@ -286,7 +299,7 @@ namespace yy {
 
 
 } // yy
-#line 290 "/home/gogo/work/next/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329
+#line 303 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329
 
 
-#endif // !YY_YY_HOME_GOGO_WORK_NEXT_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED
+#endif // !YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED
index b9ffb69..626fff2 100644 (file)
@@ -32,7 +32,8 @@ CppGeneratorBase::CppGeneratorBase(std::shared_ptr<Document> doc)
       {"char", "char"}, {"int", "int"}, {"short", "short"},
       {"long", "long long"}, {"string", "std::string"}, {"bool", "bool"},
       {"list", "std::list"}, {"float", "float"}, {"double", "double"},
-      {"bundle", "Bundle"}, {"void", "void"}, {"array", "std::vector"}
+      {"file", "File"}, {"bundle", "Bundle"}, {"void", "void"},
+      {"array", "std::vector"}
   };
 
   parcel_type_map_ = {
@@ -45,6 +46,7 @@ CppGeneratorBase::CppGeneratorBase(std::shared_ptr<Document> doc)
     {"float", "float"},
     {"double", "double"},
     {"bundle", "bundle"},
+    {"file", "string"},
   };
 
   type_init_map_ = {
@@ -60,6 +62,7 @@ CppGeneratorBase::CppGeneratorBase(std::shared_ptr<Document> doc)
 
 void CppGeneratorBase::GenStructuresForHeader(std::ofstream& stream) {
   stream << CB_BUNDLE;
+  stream << CB_FILE;
   for (auto& i : GetDocument().GetBlocks()) {
     if (i->GetType() != Block::TYPE_STRUCTURE)
       continue;
@@ -150,7 +153,8 @@ void CppGeneratorBase::GenSetter(std::ofstream& stream, const Element& ele) {
       if (ele.GetType().IsUserDefinedType() ||
         ele.GetType().GetMetaType() != nullptr ||
         ele.GetType().ToString() == "string" ||
-        ele.GetType().ToString() == "bundle") {
+        ele.GetType().ToString() == "bundle" ||
+        ele.GetType().ToString() == "file") {
         return "std::move(" + ele.GetID() + ")";
       }
 
@@ -170,7 +174,8 @@ void CppGeneratorBase::GenGetter(std::ofstream& stream, const Element& ele) {
       if (ele.GetType().IsUserDefinedType() ||
         ele.GetType().GetMetaType() != nullptr ||
         ele.GetType().ToString() == "string" ||
-        ele.GetType().ToString() == "bundle") {
+        ele.GetType().ToString() == "bundle" ||
+        ele.GetType().ToString() == "file") {
         return "const " + ConvertTypeToString(ele.GetType()) + "&";
       }
 
@@ -484,6 +489,33 @@ void CppGeneratorBase::GenDeclaration(std::ofstream& stream,
   stream << ") ";
 }
 
+std::string CppGeneratorBase::GenPrivateSharingRequest(const BaseType& type,
+    std::string id) {
+  std::string ret;
+  if (type.GetMetaType() != nullptr && (type.GetMetaType()->GetFullName() == "file")) {
+    ret += std::string("for (const auto& i : " + id + ") {\n")
+        + std::string("  std::vector<const char*> v;\n")
+        + std::string("  std::string name = i.GetFileName();\n")
+        + std::string("  v.push_back(name.c_str());\n")
+        + std::string("  int r = rpc_port_set_private_sharing(port_, v.data(), v.size());\n")
+        + std::string("  if (r != RPC_PORT_ERROR_NONE) {\n")
+        + std::string("    _E(\"Failed to set private sharing\");\n")
+        + std::string("    throw InvalidIOException();\n")
+        + std::string("  }\n")
+        + std::string("}\n");
+  } else if (type.ToString() == "file") {
+    ret += "std::vector<const char*> v;\n"
+        + std::string("std::string name = " + id + ".GetFileName();\n")
+        + std::string("v.push_back(name.c_str());\n")
+        + std::string("int r = rpc_port_set_private_sharing(port_, v.data(), v.size());\n")
+        + std::string("if (r != RPC_PORT_ERROR_NONE) {\n")
+        + std::string("  _E(\"Failed to set private sharing\");\n")
+        + std::string("  throw InvalidIOException();\n")
+        + std::string("}\n");
+  }
+  return ret;
+}
+
 std::string CppGeneratorBase::ConvertTypeToSerializer(
     const BaseType& type, std::string id, std::string parcel) {
   std::string ret;
@@ -492,6 +524,10 @@ std::string CppGeneratorBase::ConvertTypeToSerializer(
     ret += "rpc_port_parcel_write_"
         + parcel_type_map_[type.ToString()]
         + "(" + parcel + ", " + id + ".c_str());\n";
+  } else if (type.ToString() == "file") {
+    ret += "rpc_port_parcel_write_"
+        + parcel_type_map_[type.ToString()]
+        + "(" + parcel + ", " + id + ".GetFileName()" + ".c_str());\n";
   } else if (type.ToString() == "bundle") {
     ret += "rpc_port_parcel_write_bundle(" + parcel + ", "
         + id + ".GetHandle());\n";
@@ -524,6 +560,16 @@ std::string CppGeneratorBase::ConvertTypeToDeserializer(
       ret += id + " = " + id + "_raw;\n";
     }
     ret += "free(" + id + "_raw);\n";
+  } else if (type.ToString() == "file") {
+    ret += "char* " + id + "_raw = nullptr;\n";
+    ret += "rpc_port_parcel_read_" + parcel_type_map_[type.ToString()]
+        + "(" + parcel + ", &" + id + "_raw);\n";
+    if (make_new_type) {
+      ret += "File " + id + "(" + id + "_raw);\n";
+    } else {
+      ret +=  id + " = " + id + "_raw;\n"
+          + "free(" + id + "_raw);\n";
+    }
   } else if (type.ToString() == "bundle") {
     ret += "bundle* " + id + "_raw = nullptr;\n";
     ret += "rpc_port_parcel_read_" + parcel_type_map_[type.ToString()]
@@ -594,6 +640,8 @@ void CppGeneratorBase::GenBodyCallback(std::ofstream& stream,
         for (auto& i : decl.GetParameters().GetParams()) {
           auto& pt = i->GetParameterType();
           m += AddIndent(TAB_SIZE,
+              GenPrivateSharingRequest(pt.GetBaseType(), i->GetID()));
+          m += AddIndent(TAB_SIZE,
               ConvertTypeToSerializer(pt.GetBaseType(), i->GetID(), "p"));
         }
         return m;
index d0e37d1..fce6c56 100644 (file)
@@ -56,6 +56,7 @@ class CppGeneratorBase : public Generator {
                                         bool make_new_type = true);
   std::string ConvertTypeToSerializer(const BaseType& type,
                                       std::string id, std::string parcel);
+  std::string GenPrivateSharingRequest(const BaseType& type, std::string id);
   std::string GetParameters(const Parameters& ps);
   void GenLogTag(std::ofstream& stream, std::string id);
   void GenLogDefinition(std::ofstream& stream);
index 56216c4..b8ac596 100644 (file)
@@ -59,6 +59,25 @@ const char CB_BUNDLE[] = R"__cls_bundle(class Bundle final {
 
 )__cls_bundle";
 
+const char CB_FILE[] = R"__cls_file(class File final {
+ public:
+  File() {
+  }
+
+  File(std::string filename) {
+    filename_ = filename;
+  }
+
+  std::string GetFileName() const {
+    return filename_;
+  }
+
+ private:
+  std::string filename_;
+};
+
+)__cls_file";
+
 const char CB_CALLBACK_BASE[] =
 R"__cpp_cb(
 std::atomic<int> ##::CallbackBase::seq_num_ { 0 };
index c6afe03..fe5f74a 100644 (file)
@@ -38,6 +38,7 @@ void CppProxyBodyGen::OnInitGen(std::ofstream& stream) {
   stream << "#include <stdlib.h>" << NLine(1)
          << "#include <assert.h>" << NLine(1)
          << "#include <dlog.h>" << NLine(1)
+         << "#include <rpc-port-internal.h>" << NLine(1)
          <<  NLine(1)
          << "#include \"" << header_file << "\"" << NLine(2);
   GenLogTag(stream, "RPC_PORT_PROXY");
@@ -147,6 +148,7 @@ void CppProxyBodyGen::GenInvocation(std::ofstream& stream,
     auto& pt = i->GetParameterType();
     if (pt.GetDirection() == ParameterType::Direction::OUT)
       continue;
+    m += GenPrivateSharingRequest(pt.GetBaseType(), i->GetID());
     m += ConvertTypeToSerializer(pt.GetBaseType(), i->GetID(), "p");
     if (IsDelegateType(pt.GetBaseType())) {
       l += "delegate_list_.emplace_back(" + i->GetID() + ".release());\n";
index 93308d8..8235950 100644 (file)
@@ -39,6 +39,7 @@ void CppStubBodyGen::OnInitGen(std::ofstream& stream) {
          << "#include <assert.h>" << NLine(1)
          << "#include <libgen.h>" << NLine(1)
          << "#include <dlog.h>" << NLine(1)
+         << "#include <rpc-port-internal.h>" << NLine(1)
          <<  NLine(1)
          << "#include \"" << header_file << "\"" << NLine(2);
   GenLogTag(stream, "RPC_PORT_STUB");
@@ -209,11 +210,13 @@ void CppStubBodyGen::GenInvocation(std::ofstream& stream,
     cnt++;
     if (pt.GetDirection() == ParameterType::Direction::IN)
       continue;
+    m += GenPrivateSharingRequest(pt.GetBaseType(), "param" + std::to_string(cnt));
     m += ConvertTypeToSerializer(pt.GetBaseType(),
                                 "param" + std::to_string(cnt), "result");
   }
 
   if (hasRet) {
+    m += GenPrivateSharingRequest(decl.GetType(), "retVal");
     m += ConvertTypeToSerializer(decl.GetType(), "retVal", "result");
   }
 
index 4e19baf..13140e4 100644 (file)
@@ -42,6 +42,7 @@ class Options {
 
   static std::unique_ptr<Options> Parse(int argc, char** argv);
   bool IsProxy() const { return isProxy_; }
+  bool IsBetaEnabled() const { return isBetaEnabled_; }
   std::string GetLanguage() const { return language_; }
   std::string GetInput() const { return input_; }
   std::string GetOutput() const { return output_; }
@@ -78,6 +79,7 @@ class Options {
   std::string help_;
   bool hasNamespace_ = false;
   bool hasRpcPortLib_ = false;
+  bool isBetaEnabled_ = false;
 };
 
 Options::Options() {
@@ -130,11 +132,12 @@ std::unique_ptr<Options> Options::Parse(int argc, char** argv) {
     {"output", required_argument,    NULL, 'o'},
     {"namespace", no_argument,    NULL, 'n'},
     {"rpclib", no_argument,    NULL, 'r'},
+    {"beta", no_argument,    NULL, 'b'},
     {0, 0, 0, 0}
   };
 
   while (true) {
-    int c = getopt_long(argc, argv, "psvhl:i:o:nr", long_options,
+    int c = getopt_long(argc, argv, "bpsvhl:i:o:nr", long_options,
         &option_index);
     if (c == -1)
       break;
@@ -182,6 +185,10 @@ std::unique_ptr<Options> Options::Parse(int argc, char** argv) {
         options->output_ = optarg;
         break;
 
+      case 'b':
+        options->isBetaEnabled_ = true;
+        break;
+
       default:
         cmd[CMD_HELP] = 1;
     }
@@ -233,7 +240,7 @@ int main(int argc, char** argv) {
   if (!options)
     exit(1);
 
-  tidl::Parser ps;
+  tidl::Parser ps(options->IsBetaEnabled());
   std::string path(options->GetInput());
 
   if (!ps.ParseFromFile(path))
index dd8ff66..c495b13 100644 (file)
@@ -37,4 +37,9 @@ interface School {
        int AddClass(in Class cls);
        /* Method GetStudent */
        int GetStudent(in string c_name, in string s_name, out Student student);
+       string GetName(out string name);
+       int SetName(in string name);
+       int ShareFile(file myFile);
+       int ShareFilesList(list<file> myFile);
+       int ShareFilesArray(array<file> myFile);
 }