Commit 521c6ff8 by Aaron Leung

Trying to get things to link. Not succeeding.

parent ca2649b5
...@@ -143,9 +143,12 @@ CHAR_MATCHER (eq, '='); ...@@ -143,9 +143,12 @@ CHAR_MATCHER (eq, '=');
CHAR_MATCHER (assign, '='); CHAR_MATCHER (assign, '=');
CHARS_MATCHER(equal, "=="); CHARS_MATCHER(equal, "==");
CLASS_CHAR_MATCHER(sign, "+-");
CLASS_CHAR_MATCHER(delimiter, "()[]{}");
static ALTERNATIVES_MATCHER(identifier_initial, prefix_is_alphas, prefix_is_underscore); static ALTERNATIVES_MATCHER(identifier_initial, prefix_is_alphas, prefix_is_underscore);
static ALTERNATIVES_MATCHER(identifier_trailer, prefix_is_alnums, prefix_is_underscore); static ALTERNATIVES_MATCHER(identifier_trailer, prefix_is_alnums, prefix_is_underscore);
FIRST_REST_MATCHER(identifier, prefix_is_identifier_initial, prefix_is_identifier_trailer); FIRST_REST_MATCHER(identifier, prefix_is_identifier_initial, prefix_is_identifier_trailer);
static ALTERNATIVES_MATCHER(optional_sign, prefix_is_plus, prefix_is_minus, prefix_epsilon); static OPTIONAL_MATCHER(optional_sign, prefix_is_sign);
SEQUENCE_MATCHER(integer, prefix_is_optional_sign, prefix_is_digits); SEQUENCE_MATCHER(integer, prefix_is_optional_sign, prefix_is_digits);
\ No newline at end of file
...@@ -19,7 +19,7 @@ char *prefix_is ## name(char *src) { \ ...@@ -19,7 +19,7 @@ char *prefix_is ## name(char *src) { \
} }
#define CLASS_CHARS_MATCHER(name, class) \ #define CLASS_CHARS_MATCHER(name, class) \
char *prefix)us ## name(char *src) { \ char *prefix_is ## name(char *src) { \
return prefix_is_some_of(src, class); \ return prefix_is_some_of(src, class); \
} }
...@@ -148,5 +148,9 @@ DECLARE(eq); ...@@ -148,5 +148,9 @@ DECLARE(eq);
DECLARE(assign); DECLARE(assign);
DECLARE(equal); DECLARE(equal);
char *prefix_is_sign(char *);
DECLARE(sign);
DECLARE(delimiter);
DECLARE(identifier); DECLARE(identifier);
DECLARE(integer); DECLARE(integer);
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include "prefix_primitives.h" #include "prefix_primitives.h"
#include "lexical_patterns.h" // #include "lexical_patterns.h"
void print_slice(char *s, char *t) { void print_slice(char *s, char *t) {
if (t) { if (t) {
...@@ -100,8 +100,8 @@ int main() { ...@@ -100,8 +100,8 @@ int main() {
test1(prefix_is_integer, integer3); test1(prefix_is_integer, integer3);
test1(prefix_is_integer, word2); test1(prefix_is_integer, word2);
test1(prefix_is_word, word2); // test1(prefix_is_word, word2);
test1(prefix_is_word, non_word); // test1(prefix_is_word, non_word);
return 0; return 0;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment