1 /* PSPPIRE - a graphical user interface for PSPP. 2 Copyright (C) 2007, 2008, 2011 Free Software Foundation, Inc. 3 4 This program is free software: you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation, either version 3 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 16 17 #ifndef SYNTAX_GEN_H 18 #define SYNTAX_GEN_H 1 19 20 /* These functions aid in composing PSPP syntax. */ 21 22 #include <stdarg.h> 23 #include <stddef.h> 24 #include "libpspp/compiler.h" 25 #include "libpspp/str.h" 26 27 struct fmt_spec; 28 struct substring; 29 struct string; 30 union value; 31 32 void syntax_gen_string (struct string *output, struct substring in); 33 void syntax_gen_number (struct string *output, 34 double, const struct fmt_spec *format); 35 void syntax_gen_value (struct string *output, const union value *value, 36 int width, const struct fmt_spec *format); 37 void syntax_gen_num_range (struct string *output, double low, double high, 38 const struct fmt_spec *format); 39 40 void syntax_gen_pspp_valist (struct string *output, const char *format, 41 va_list) 42 PRINTF_FORMAT (2, 0); 43 void syntax_gen_pspp (struct string *output, const char *format, ...) 44 PRINTF_FORMAT (2, 3); 45 46 #endif /* format-syntax.h */ 47