15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
{
sprintf_s(s)("%d", i);
}
char *
exchangestr(char *o, const char *n)
{
gp()->deallocstr(o);
return newstring(n);
}
// contains ALL vars/commands/aliases
static OFMutableDictionary<OFString *, __kindof Identifier *> *identifiers;
void
alias(OFString *name, OFString *action)
|
|
|
|
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
{
sprintf_s(s)("%d", i);
}
char *
exchangestr(char *o, const char *n)
{
free(o);
return strdup(n);
}
// contains ALL vars/commands/aliases
static OFMutableDictionary<OFString *, __kindof Identifier *> *identifiers;
void
alias(OFString *name, OFString *action)
|
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
brak--;
else if (!c) {
p--;
conoutf(@"missing \"%c\"", right);
return NULL;
}
}
char *s = newstring(word, p - word - 1);
if (left == '(') {
string t;
// evaluate () exps directly, and substitute result
@autoreleasepool {
itoa(t, execute(@(s)));
}
s = exchangestr(s, t);
|
|
|
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
brak--;
else if (!c) {
p--;
conoutf(@"missing \"%c\"", right);
return NULL;
}
}
char *s = strndup(word, p - word - 1);
if (left == '(') {
string t;
// evaluate () exps directly, and substitute result
@autoreleasepool {
itoa(t, execute(@(s)));
}
s = exchangestr(s, t);
|
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
p += strspn(p, " \t\r");
if (p[0] == '/' && p[1] == '/')
p += strcspn(p, "\n\0");
if (*p == '\"') {
p++;
char *word = p;
p += strcspn(p, "\"\r\n\0");
char *s = newstring(word, p - word);
if (*p == '\"')
p++;
return s;
}
if (*p == '(')
return parseexp(p, ')');
if (*p == '[')
return parseexp(p, ']');
char *word = p;
p += strcspn(p, "; \t\r\n\0");
if (p - word == 0)
return NULL;
return newstring(word, p - word);
}
OFString *
lookup(OFString *n) // find value of ident referenced with $ in exp
{
@autoreleasepool {
__kindof Identifier *identifier =
|
|
|
|
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
p += strspn(p, " \t\r");
if (p[0] == '/' && p[1] == '/')
p += strcspn(p, "\n\0");
if (*p == '\"') {
p++;
char *word = p;
p += strcspn(p, "\"\r\n\0");
char *s = strndup(word, p - word);
if (*p == '\"')
p++;
return s;
}
if (*p == '(')
return parseexp(p, ')');
if (*p == '[')
return parseexp(p, ']');
char *word = p;
p += strcspn(p, "; \t\r\n\0");
if (p - word == 0)
return NULL;
return strndup(word, p - word);
}
OFString *
lookup(OFString *n) // find value of ident referenced with $ in exp
{
@autoreleasepool {
__kindof Identifier *identifier =
|