X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Flexer%2Fscan.c;h=f2dcebca15ea562543d5fde64b7cac95ec96ab4b;hb=e80c032386b6524fe760efc6f10bd9adb8a6ac20;hp=3150470caa9e379af16d2072b63d2b5be3717488;hpb=3d5011bbd45f2bd802caf55211bc060ed777a321;p=pspp diff --git a/src/language/lexer/scan.c b/src/language/lexer/scan.c index 3150470caa..f2dcebca15 100644 --- a/src/language/lexer/scan.c +++ b/src/language/lexer/scan.c @@ -188,6 +188,8 @@ scan_punct1__ (char c0) 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; @@ -196,6 +198,8 @@ scan_punct1__ (char c0) 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; } @@ -290,6 +294,7 @@ tokenize_string_segment__ (enum segment_type type, else { tokenize_error__ (token, error); + ss_dealloc (&out); return TOKENIZE_ERROR; } } @@ -328,6 +333,7 @@ token_from_segment (enum segment_type type, struct substring s, 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;