X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Flanguage%2Flexer%2Fscan.h;h=1c0ff7a1e5477286ff1d1256a4e6c5823877fba0;hb=3bfaa3bb31985596dde140cb7b28083d29626e0d;hp=fdb50801c44c34b8fdeae4181a705d3ad4ea5651;hpb=afdf3096926b561f4e6511c10fcf73fc6796b9d2;p=pspp diff --git a/src/language/lexer/scan.h b/src/language/lexer/scan.h index fdb50801c4..1c0ff7a1e5 100644 --- a/src/language/lexer/scan.h +++ b/src/language/lexer/scan.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2010, 2011, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,7 +45,6 @@ struct token; \ SCAN_TYPE(EXPECTED_QUOTE) \ SCAN_TYPE(EXPECTED_EXPONENT) \ - SCAN_TYPE(UNEXPECTED_DOT) \ SCAN_TYPE(UNEXPECTED_CHAR) \ \ SCAN_TYPE(SKIP) @@ -89,5 +88,19 @@ enum scan_result void scanner_init (struct scanner *, struct token *); enum scan_result scanner_push (struct scanner *, enum segment_type, struct substring, struct token *); + +/* A simplified lexer for handling syntax in a string. */ + +struct string_lexer + { + const char *input; + size_t length; + size_t offset; + struct segmenter segmenter; + }; + +void string_lexer_init (struct string_lexer *, const char *input, + size_t length, enum segmenter_mode, bool is_snippet); +bool string_lexer_next (struct string_lexer *, struct token *); #endif /* scan.h */