Home | History | Annotate | Download | only in glsl

Lines Matching refs:src

44 skip_whitespace(const char *&src, char *&symbol_buffer)
46 size_t n = strspn(src, " \v\t\r\n");
47 src += n;
50 if (src[0] == ';') {
51 n = strcspn(src, "\n");
52 src += n;
54 skip_whitespace(src, symbol_buffer);
59 read_atom(void *ctx, const char *&src, char *&symbol_buffer)
63 skip_whitespace(src, symbol_buffer);
65 size_t n = strcspn(src, "( \v\t\r\n);");
72 if (n == 4 && strncmp(src, "+INF", 4) == 0) {
77 float f = _mesa_strtof(src, &float_end);
78 if (float_end != src) {
80 int i = strtol(src, &int_end, 10);
93 src += n;
100 __read_expression(void *ctx, const char *&src, char *&symbol_buffer)
102 s_expression *atom = read_atom(ctx, src, symbol_buffer);
106 skip_whitespace(src, symbol_buffer);
107 if (src[0] == '(') {
108 ++src;
114 while ((expr = __read_expression(ctx, src, symbol_buffer)) != NULL) {
117 skip_whitespace(src, symbol_buffer);
118 if (src[0] != ')') {
122 ++src;
130 s_expression::read_expression(void *ctx, const char *&src)
132 assert(src != NULL);
144 char *symbol_buffer = ralloc_strdup(ctx, src);
145 return __read_expression(ctx, src, symbol_buffer);