Kaynağa Gözat

ncd: NCDConfigTokenizer: Implement at-sign token.

Ambroz Bizjak 11 yıl önce
ebeveyn
işleme
c7a919dddf

+ 5 - 1
examples/ncd_tokenizer_test.c

@@ -117,8 +117,12 @@ static int tokenizer_output (void *user, int token, char *value, size_t value_le
         case NCD_TOKEN_INCLUDE_GUARD:
             printf("include_guard\n");
             break;
+        case NCD_TOKEN_AT:
+            printf("at\n");
+            break;
         default:
-            ASSERT(0);
+            printf("UNKNOWN_TOKEN\n");
+            break;
     }
     
     return 1;

+ 3 - 0
ncd/NCDConfigTokenizer.c

@@ -111,6 +111,9 @@ void NCDConfigTokenizer_Tokenize (char *str, size_t left, NCDConfigTokenizer_out
         else if (l = data_begins_with(str, left, "]")) {
             token = NCD_TOKEN_BRACKET_CLOSE;
         }
+        else if (l = data_begins_with(str, left, "@")) {
+            token = NCD_TOKEN_AT;
+        }
         else if (l = data_begins_with(str, left, "->")) {
             token = NCD_TOKEN_ARROW;
         }

+ 1 - 0
ncd/NCDConfigTokenizer.h

@@ -56,6 +56,7 @@
 #define NCD_TOKEN_AS 20
 #define NCD_TOKEN_INCLUDE 21
 #define NCD_TOKEN_INCLUDE_GUARD 22
+#define NCD_TOKEN_AT 23
 
 typedef int (*NCDConfigTokenizer_output) (void *user, int token, char *value, size_t value_len, size_t line, size_t line_char);