projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lexer: Add support for macro punctuation.
[pspp]
/
src
/
language
/
lexer
/
scan.c
diff --git
a/src/language/lexer/scan.c
b/src/language/lexer/scan.c
index 94437d9dd8af5b6967fa5235d4765d5af3467c18..cae523cb37efbe83fc71ba8bbba1aa28b735309f 100644
(file)
--- a/
src/language/lexer/scan.c
+++ b/
src/language/lexer/scan.c
@@
-324,6
+324,7
@@
scan_punct1__ (char c0)
case '<': return T_LT;
case '>': return T_GT;
case '~': return T_NOT;
case '<': return T_LT;
case '>': return T_GT;
case '~': return T_NOT;
+ default: return T_MACRO_PUNCT;
}
NOT_REACHED ();
}
NOT_REACHED ();
@@
-467,6
+468,8
@@
scan_start__ (struct scanner *scanner, enum segment_type type,
else
{
token->type = scan_punct__ (s);
else
{
token->type = scan_punct__ (s);
+ if (token->type == T_MACRO_PUNCT)
+ ss_alloc_substring (&token->string, s);
return SCAN_DONE;
}
return SCAN_DONE;
}