Copied from old documentation. Removed all Gedcom_val details.
[gedcom-parse.git] / gedcom / gedcom_1byte.lex
index 05cda4038bf4768d0dbca48a9cfd506c314e114f..69d6d15a4fccd4c847588063f97eaa49cf26dfbe 100644 (file)
@@ -49,7 +49,7 @@ alphanum     {alpha}|{digit}
 gen_delim    {delim}|{tab}
 
 escape       @#{any_char}+@
-pointer      @{alphanum}{non_at}+@
+pointer      @{alphanum}{non_at}*@
 
 %%
 
@@ -214,6 +214,8 @@ ACTION_BEFORE_REGEXPS
 
 {normal_at}               ACTION_NORMAL_AT
 
+{tab}                     ACTION_TAB
+
 .                         ACTION_UNEXPECTED
 
 %%
@@ -230,6 +232,7 @@ int gedcom_check_token(const char* str, ParseState state, int check_token)
   yy_delete_buffer(YY_CURRENT_BUFFER);
   buffer = yy_scan_string(str);
 
+  INIT_LINE_LEN;
   if (state == STATE_NORMAL)
     BEGIN(NORMAL);
   else if (state == STATE_INITIAL)