Mercurial > hg > Applications > Grep
comparison c/regexParser/main.cc @ 61:67cade0e35b0
impl isLiteral
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 14 Jul 2015 16:00:44 +0900 |
parents | 8616a045a7f4 |
children | a49b4a8b8c14 |
comparison
equal
deleted
inserted
replaced
60:8616a045a7f4 | 61:67cade0e35b0 |
---|---|
62 NodePtr n = createNode(c,0,0); | 62 NodePtr n = createNode(c,0,0); |
63 ptr++; | 63 ptr++; |
64 return n; | 64 return n; |
65 } | 65 } |
66 | 66 |
67 bool isLiteral(char c) { | |
68 if (('a'<=c && c<='z')||('A'<=c && c<='Z')||('0'<=c && c<='9')) { | |
69 return true; | |
70 } | |
71 return false; | |
72 } | |
73 | |
67 // <string> ::= <literal><literal>* | 74 // <string> ::= <literal><literal>* |
68 NodePtr string() { | 75 NodePtr string() { |
69 char c = *ptr; | 76 char c = *ptr; |
70 NodePtr n = NULL; | 77 NodePtr n = NULL; |
71 if (('a'<=c && c<='z')||('A'<=c && c<='Z')||('0'<=c && c<='9')) { | 78 if (isLiteral(c)) { |
72 n = createNode(0,literal(),string()); | 79 n = createNode(0,literal(),string()); |
73 } else { | 80 } else { |
74 n = createNode(0,0,0); | 81 n = createNode(0,0,0); |
75 } | 82 } |
76 return n; | 83 return n; |