case '-': return T_DASH;
case '[': return T_LBRACK;
case ']': return T_RBRACK;
+ case '{': return T_LCURLY;
+ case '}': return T_RCURLY;
case '&': return T_AND;
case '|': return T_OR;
case '+': return T_PLUS;
case '<': return T_LT;
case '>': return T_GT;
case '~': return T_NOT;
+ case ';': return T_SEMICOLON;
+ case ':': return T_COLON;
default: return T_MACRO_PUNCT;
}
else
{
tokenize_error__ (token, error);
+ ss_dealloc (&out);
return TOKENIZE_ERROR;
}
}
case SEG_INLINE_DATA:
case SEG_DOCUMENT:
case SEG_MACRO_BODY:
+ case SEG_MACRO_NAME:
*token = (struct token) { .type = T_STRING };
ss_alloc_substring (&token->string, s);
return TOKENIZE_TOKEN;