Mercurial > hg > Applications > Grep
view c/regexParser/main.cc @ 112:ec485345daf9 pairPro
some function use static
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 23 Nov 2015 15:54:19 +0900 |
parents | 1cdad0468484 |
children | 66c633575b53 |
line wrap: on
line source
/* * <literal> ::= [a-z][A-Z][0-9] * <charClass> ::= '['<literal>'-'<literal>']' * <group> ::= '('<regex>')' * <regexAtom> ::= <literal>|<charClass>|<group> * <regex> ::= <regexAtom>|<regexAtom>'*'|<regexAtom>'|'<regex>|<regexAtom><regex> */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include "regexParser.h" #include "bitVector.h" extern NodePtr regex(RegexInfoPtr); extern void printTree(NodePtr); BitVectorListPtr createBitVectorList(NodePtr); int main(int argc, char **argv) { RegexInfoPtr ri = (RegexInfoPtr)malloc(sizeof(RegexInfo)); ri->nodeNumber = 1; for (int i = 1; i < argc; i++) { if (strcmp(argv[i],"-regex") == 0) { ri->ptr = (unsigned char*)argv[i+1]; i++; } } printf("regex : %s\n",ri->ptr); NodePtr n = regex(ri); printTree(n); createBitVectorList(n); return 0; }