diff options
author | van Hauser <vh@thc.org> | 2021-07-20 08:57:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-20 08:57:37 +0200 |
commit | fff8c49f7c73a1531166ad52fc50306dbd01775f (patch) | |
tree | 217b85dfd5b6ccf62a8fa4ac59a65d615a08143f /custom_mutators/gramatron/test.h | |
parent | b3fe3b8877931f7ba7c4150fcc24e8cd18835d86 (diff) | |
parent | 5bcbb2f59affc411a1e8bb7ccaabaa5ba63e6596 (diff) | |
download | afl++-fff8c49f7c73a1531166ad52fc50306dbd01775f.tar.gz |
Merge pull request #1034 from AFLplusplus/grammatron
Grammatron
Diffstat (limited to 'custom_mutators/gramatron/test.h')
-rw-r--r-- | custom_mutators/gramatron/test.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/custom_mutators/gramatron/test.h b/custom_mutators/gramatron/test.h new file mode 100644 index 00000000..857cb5fc --- /dev/null +++ b/custom_mutators/gramatron/test.h @@ -0,0 +1,57 @@ +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <json-c/json.h> +#include <unistd.h> +#include "hashmap.h" +#include "uthash.h" +#include "utarray.h" + +#define INIT_SIZE 100 // Initial size of the dynamic array holding the input + +typedef struct terminal { + + int state; + int trigger_idx; + size_t symbol_len; + char * symbol; + +} terminal; + +typedef struct trigger { + + char * id; + int dest; + char * term; + size_t term_len; + +} trigger; + +typedef struct state { + + int state_name; // Integer State name + int trigger_len; // Number of triggers associated with this state + trigger *ptr; // Pointer to beginning of the list of triggers + +} state; + +typedef struct { + + size_t used; + size_t size; + size_t inputlen; + terminal *start; + +} Array; + +int init_state; +int curr_state; +int final_state; + +state *create_pda(char *); +Array *gen_input(state *, Array *); +void print_repr(Array *, char *); +void initArray(Array *, size_t); +void insertArray(Array *, int, char *, size_t, int); + |