Skip to content

Commit 8f5bb74

Browse files
committed
Minor changes to examples
1 parent 9c2328d commit 8f5bb74

3 files changed

Lines changed: 30 additions & 34 deletions

File tree

examples/02_hashmap.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
#define shift(argc, argv) ((argc)--, *(argv)++)
1818

19-
const char *symbols = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
20-
2119
typedef struct {
2220
StringSlice key;
2321
size_t value;
@@ -36,6 +34,7 @@ typedef struct {
3634
Allocator *allocator;
3735
} WordArray;
3836

37+
static const char *symbols = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
3938
static bool reverse;
4039

4140
static int qsort_cmp(const void *a, const void *b) {

examples/02_inline_hashmap.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
#define shift(argc, argv) ((argc)--, *(argv)++)
1515
#define HIST_DEF 80
1616

17-
const char *symbols = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
18-
static bool reverse;
19-
2017
typedef Entry(StringSlice, size_t) WordFreq;
2118

19+
static const char *symbols = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
20+
static bool reverse;
21+
2222
static int qsort_cmp(const void *a, const void *b) {
2323
const WordFreq *e1 = a, *e2 = b;
2424
if(e1->value < e2->value) return reverse ? -1 : 1;

examples/03_arena.c

Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,10 @@ int printf(const char *fmt, ...);
1919
#define EXTLIB_IMPL
2020
#include "../extlib.h"
2121

22-
Arena arena = make_arena();
22+
static Arena arena = make_arena();
2323

24-
const char *prec[] = {
25-
"+-",
26-
"*/",
27-
};
28-
const size_t max_prec = ARR_SIZE(prec);
24+
static const char *prec[] = {"+-", "*/"};
25+
static const size_t max_prec = ARR_SIZE(prec);
2926

3027
size_t get_prec(char op) {
3128
for(size_t i = 0; i < ARR_SIZE(prec); i++) {
@@ -54,7 +51,7 @@ typedef struct Expr {
5451
} as;
5552
} Expr;
5653

57-
void error(const Src *src, const char *msg) {
54+
static void error(const Src *src, const char *msg) {
5855
int col = src->ptr - src->src;
5956
ASSERT(col >= 0, "negative column");
6057
printf("%d: ", col);
@@ -70,19 +67,19 @@ static int is_space(int c) {
7067
return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r';
7168
}
7269

73-
char advance(Src *src) {
70+
static char advance(Src *src) {
7471
while(is_space(*src->ptr)) src->ptr++;
7572
return *src->ptr++;
7673
}
7774

78-
char peek(const Src *src) {
75+
static char peek(const Src *src) {
7976
Src s = *src;
8077
return advance(&s);
8178
}
8279

83-
Expr *parse_bin_expr(Src *expr, size_t prec);
80+
static Expr *parse_bin_expr(Src *expr, size_t prec);
8481

85-
Expr *parse_lit(Src *src) {
82+
static Expr *parse_lit(Src *src) {
8683
char c = advance(src);
8784

8885
if(c == '(') {
@@ -122,7 +119,7 @@ Expr *parse_lit(Src *src) {
122119
return lit;
123120
}
124121

125-
Expr *parse_bin_expr(Src *src, size_t prec) {
122+
static Expr *parse_bin_expr(Src *src, size_t prec) {
126123
if(prec >= max_prec) return parse_lit(src);
127124

128125
Expr *l = parse_bin_expr(src, prec + 1);
@@ -144,7 +141,7 @@ Expr *parse_bin_expr(Src *src, size_t prec) {
144141
return l;
145142
}
146143

147-
Expr *parse_expr(const char *expr) {
144+
static Expr *parse_expr(const char *expr) {
148145
Src src = {expr, expr};
149146
Expr *res = parse_bin_expr(&src, 0);
150147
if(!res) return NULL;
@@ -158,7 +155,7 @@ Expr *parse_expr(const char *expr) {
158155
return res;
159156
}
160157

161-
double interpret_expr(const Expr *e) {
158+
static double interpret_expr(const Expr *e) {
162159
ASSERT(e, "e is NULL");
163160
switch(e->kind) {
164161
case BIN: {
@@ -183,7 +180,21 @@ double interpret_expr(const Expr *e) {
183180
UNREACHABLE();
184181
}
185182

186-
void dump_expr(const Expr *e) {
183+
#ifdef EXTLIB_WASM
184+
// Export function in wasm to pase & evaluate an expression (see 03_arena.html)
185+
double eval_expr(char *src) {
186+
Expr *expr = parse_expr(src);
187+
if(!expr) {
188+
arena_reset(&arena);
189+
return 0.0 / 0.0; // NaN
190+
}
191+
192+
double res = interpret_expr(expr);
193+
arena_reset(&arena);
194+
return res;
195+
}
196+
#else
197+
static void dump_expr(const Expr *e) {
187198
ASSERT(e, "e is NULL");
188199
switch(e->kind) {
189200
case BIN:
@@ -199,20 +210,6 @@ void dump_expr(const Expr *e) {
199210
}
200211
}
201212

202-
#ifdef EXTLIB_WASM
203-
// Export function in wasm to pase & evaluate an expression (see 03_arena.html)
204-
double eval_expr(char *src) {
205-
Expr *expr = parse_expr(src);
206-
if(!expr) {
207-
arena_reset(&arena);
208-
return 0.0 / 0.0; // NaN
209-
}
210-
211-
double res = interpret_expr(expr);
212-
arena_reset(&arena);
213-
return res;
214-
}
215-
#else
216213
int main(int argc, char **argv) {
217214
if(argc < 2) {
218215
fprintf(stderr, "%s expression\n", argv[0]);

0 commit comments

Comments
 (0)