annotate c/regexParser/main.cc @ 95:1cdad0468484 impl-bitvector

rename createRegexTree to createRegexParser
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Tue, 10 Nov 2015 15:35:49 +0900
parents 912d7bd51f38
children 66c633575b53
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
55
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 54
diff changeset
1 /*
56
8901bc071d33 implement string() and literal()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
2 * <literal> ::= [a-z][A-Z][0-9]
8901bc071d33 implement string() and literal()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
3 * <charClass> ::= '['<literal>'-'<literal>']'
58
4053c3e0fa7f implement group()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
4 * <group> ::= '('<regex>')'
66
f8fb3b463f70 fix when '|' come procces
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 65
diff changeset
5 * <regexAtom> ::= <literal>|<charClass>|<group>
f8fb3b463f70 fix when '|' come procces
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 65
diff changeset
6 * <regex> ::= <regexAtom>|<regexAtom>'*'|<regexAtom>'|'<regex>|<regexAtom><regex>
55
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 54
diff changeset
7 */
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 54
diff changeset
8
45
89a198fa6b23 add dfrTobin
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 #include <stdio.h>
56
8901bc071d33 implement string() and literal()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
10 #include <stdlib.h>
8901bc071d33 implement string() and literal()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
11 #include <string.h>
77
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 76
diff changeset
12 #include "regexParser.h"
95
1cdad0468484 rename createRegexTree to createRegexParser
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
13 #include "bitVector.h"
76
d98a036441e2 add createNode comment
masa
parents: 75
diff changeset
14
82
1d9bbf922bb6 add createRegexTree.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 81
diff changeset
15 extern NodePtr regex(RegexInfoPtr);
79
52da06c3f050 add printTree.cc & fix Makefile
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
16 extern void printTree(NodePtr);
95
1cdad0468484 rename createRegexTree to createRegexParser
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
17 BitVectorListPtr createBitVectorList(NodePtr);
64
e0ad6c145f89 remove some errors
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
18
66
f8fb3b463f70 fix when '|' come procces
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 65
diff changeset
19
62
a49b4a8b8c14 implement isLiteral
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 61
diff changeset
20 int main(int argc, char **argv)
55
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 54
diff changeset
21 {
80
0a452d69f0e2 remove global variable in main.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 79
diff changeset
22 RegexInfoPtr ri = (RegexInfoPtr)malloc(sizeof(RegexInfo));
91
912d7bd51f38 remove static variable in createRegexTree.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 82
diff changeset
23 ri->nodeNumber = 1;
80
0a452d69f0e2 remove global variable in main.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 79
diff changeset
24
56
8901bc071d33 implement string() and literal()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
25 for (int i = 1; i < argc; i++) {
8901bc071d33 implement string() and literal()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
26 if (strcmp(argv[i],"-regex") == 0) {
80
0a452d69f0e2 remove global variable in main.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 79
diff changeset
27 ri->ptr = (unsigned char*)argv[i+1]; i++;
56
8901bc071d33 implement string() and literal()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
28 }
8901bc071d33 implement string() and literal()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
29 }
55
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 54
diff changeset
30
80
0a452d69f0e2 remove global variable in main.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 79
diff changeset
31 printf("regex : %s\n",ri->ptr);
0a452d69f0e2 remove global variable in main.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 79
diff changeset
32 NodePtr n = regex(ri);
66
f8fb3b463f70 fix when '|' come procces
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 65
diff changeset
33 printTree(n);
95
1cdad0468484 rename createRegexTree to createRegexParser
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
34 createBitVectorList(n);
45
89a198fa6b23 add dfrTobin
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 return 0;
89a198fa6b23 add dfrTobin
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 }