Просмотр исходного кода

ncd: NCDConfigParser: Change function call syntax.
The new syntax is changed from "func arg" to "func(arg1, ...)". The restricted syntax will allow easier implementation of lazy evaluation, for function calls only.

Ambroz Bizjak 11 лет назад
Родитель
Сommit
4a2f98c9c7
4 измененных файлов с 889 добавлено и 1034 удалено
  1. 399 407
      generated/NCDConfigParser_parse.c
  2. 478 603
      generated/NCDConfigParser_parse.out
  3. 6 12
      generated/NCDConfigParser_parse.y
  4. 6 12
      ncd/NCDConfigParser_parse.y

Разница между файлами не показана из-за своего большого размера
+ 399 - 407
generated/NCDConfigParser_parse.c


Разница между файлами не показана из-за своего большого размера
+ 478 - 603
generated/NCDConfigParser_parse.out


+ 6 - 12
generated/NCDConfigParser_parse.y

@@ -101,7 +101,6 @@ static void free_value (struct value o) { if (o.have) NCDValue_Free(&o.v); }
 %type map_contents { struct value }
 %type map_contents { struct value }
 %type map  { struct value }
 %type map  { struct value }
 %type invoc { struct value }
 %type invoc { struct value }
-%type noninvoc_value  { struct value }
 %type value  { struct value }
 %type value  { struct value }
 %type name_maybe { char * }
 %type name_maybe { char * }
 %type process_or_template { int }
 %type process_or_template { int }
@@ -120,7 +119,6 @@ static void free_value (struct value o) { if (o.have) NCDValue_Free(&o.v); }
 %destructor map_contents { free_value($$); }
 %destructor map_contents { free_value($$); }
 %destructor map { free_value($$); }
 %destructor map { free_value($$); }
 %destructor invoc { free_value($$); }
 %destructor invoc { free_value($$); }
-%destructor noninvoc_value { free_value($$); }
 %destructor value { free_value($$); }
 %destructor value { free_value($$); }
 %destructor name_maybe { free($$); }
 %destructor name_maybe { free($$); }
 
 
@@ -659,7 +657,7 @@ map(R) ::= BRACKET_OPEN map_contents(A) BRACKET_CLOSE. {
     R = A;
     R = A;
 }
 }
 
 
-invoc(R) ::= value(F) noninvoc_value(A). {
+invoc(R) ::= value(F) ROUND_OPEN list_contents(A) ROUND_CLOSE. {
     if (!F.have || !A.have) {
     if (!F.have || !A.have) {
         goto failQ0;
         goto failQ0;
     }
     }
@@ -680,7 +678,7 @@ doneQ:
     free_value(A);
     free_value(A);
 }
 }
 
 
-noninvoc_value(R) ::= STRING(A). {
+value(R) ::= STRING(A). {
     ASSERT(A.str)
     ASSERT(A.str)
 
 
     if (!NCDValue_InitStringBin(&R.v, (uint8_t *)A.str, A.len)) {
     if (!NCDValue_InitStringBin(&R.v, (uint8_t *)A.str, A.len)) {
@@ -697,7 +695,7 @@ doneU:
     free_token(A);
     free_token(A);
 }
 }
 
 
-noninvoc_value(R) ::= dotted_name(A). {
+value(R) ::= dotted_name(A). {
     if (!A) {
     if (!A) {
         goto failV0;
         goto failV0;
     }
     }
@@ -716,15 +714,15 @@ doneV:
     free(A);
     free(A);
 }
 }
 
 
-noninvoc_value(R) ::= list(A). {
+value(R) ::= list(A). {
     R = A;
     R = A;
 }
 }
 
 
-noninvoc_value(R) ::= map(A). {
+value(R) ::= map(A). {
     R = A;
     R = A;
 }
 }
 
 
-noninvoc_value(R) ::= ROUND_OPEN value(A) ROUND_CLOSE. {
+value(R) ::= ROUND_OPEN value(A) ROUND_CLOSE. {
     R = A;
     R = A;
 }
 }
 
 
@@ -732,10 +730,6 @@ value(R) ::= invoc(A). {
     R = A;
     R = A;
 }
 }
 
 
-value(R) ::= noninvoc_value(A). {
-    R = A;
-}
-
 name_maybe(R) ::= . {
 name_maybe(R) ::= . {
     R = NULL;
     R = NULL;
 }
 }

+ 6 - 12
ncd/NCDConfigParser_parse.y

@@ -101,7 +101,6 @@ static void free_value (struct value o) { if (o.have) NCDValue_Free(&o.v); }
 %type map_contents { struct value }
 %type map_contents { struct value }
 %type map  { struct value }
 %type map  { struct value }
 %type invoc { struct value }
 %type invoc { struct value }
-%type noninvoc_value  { struct value }
 %type value  { struct value }
 %type value  { struct value }
 %type name_maybe { char * }
 %type name_maybe { char * }
 %type process_or_template { int }
 %type process_or_template { int }
@@ -120,7 +119,6 @@ static void free_value (struct value o) { if (o.have) NCDValue_Free(&o.v); }
 %destructor map_contents { free_value($$); }
 %destructor map_contents { free_value($$); }
 %destructor map { free_value($$); }
 %destructor map { free_value($$); }
 %destructor invoc { free_value($$); }
 %destructor invoc { free_value($$); }
-%destructor noninvoc_value { free_value($$); }
 %destructor value { free_value($$); }
 %destructor value { free_value($$); }
 %destructor name_maybe { free($$); }
 %destructor name_maybe { free($$); }
 
 
@@ -659,7 +657,7 @@ map(R) ::= BRACKET_OPEN map_contents(A) BRACKET_CLOSE. {
     R = A;
     R = A;
 }
 }
 
 
-invoc(R) ::= value(F) noninvoc_value(A). {
+invoc(R) ::= value(F) ROUND_OPEN list_contents(A) ROUND_CLOSE. {
     if (!F.have || !A.have) {
     if (!F.have || !A.have) {
         goto failQ0;
         goto failQ0;
     }
     }
@@ -680,7 +678,7 @@ doneQ:
     free_value(A);
     free_value(A);
 }
 }
 
 
-noninvoc_value(R) ::= STRING(A). {
+value(R) ::= STRING(A). {
     ASSERT(A.str)
     ASSERT(A.str)
 
 
     if (!NCDValue_InitStringBin(&R.v, (uint8_t *)A.str, A.len)) {
     if (!NCDValue_InitStringBin(&R.v, (uint8_t *)A.str, A.len)) {
@@ -697,7 +695,7 @@ doneU:
     free_token(A);
     free_token(A);
 }
 }
 
 
-noninvoc_value(R) ::= dotted_name(A). {
+value(R) ::= dotted_name(A). {
     if (!A) {
     if (!A) {
         goto failV0;
         goto failV0;
     }
     }
@@ -716,15 +714,15 @@ doneV:
     free(A);
     free(A);
 }
 }
 
 
-noninvoc_value(R) ::= list(A). {
+value(R) ::= list(A). {
     R = A;
     R = A;
 }
 }
 
 
-noninvoc_value(R) ::= map(A). {
+value(R) ::= map(A). {
     R = A;
     R = A;
 }
 }
 
 
-noninvoc_value(R) ::= ROUND_OPEN value(A) ROUND_CLOSE. {
+value(R) ::= ROUND_OPEN value(A) ROUND_CLOSE. {
     R = A;
     R = A;
 }
 }
 
 
@@ -732,10 +730,6 @@ value(R) ::= invoc(A). {
     R = A;
     R = A;
 }
 }
 
 
-value(R) ::= noninvoc_value(A). {
-    R = A;
-}
-
 name_maybe(R) ::= . {
 name_maybe(R) ::= . {
     R = NULL;
     R = NULL;
 }
 }

Некоторые файлы не были показаны из-за большого количества измененных файлов