소스 검색

Update lexer.c

main
Vank143 3 년 전
committed by GitHub
부모
커밋
4b562ff629
No known key found for this signature in database GPG 키 ID: 4AEE18F83AFDEB23
1개의 변경된 파일19개의 추가작업 그리고 6개의 파일을 삭제
  1. +19
    -6
      lexer.c

+ 19
- 6
lexer.c 파일 보기

@ -8,7 +8,8 @@ typedef struct Exploration Exploration;
enum opcode {
STRING,
AND
AND,
STAR
};
struct Exploration
{
@ -78,6 +79,13 @@ Node *mkAnd(Node *node1, Node *node2)
return node;
}
Node *mkStar(Node *child)
{
Node *node= mkNode(STAR);
node->children[0]= child;
return node;
}
int execute(Node *node, Exploration *in)
{
@ -107,6 +115,10 @@ int execute(Node *node, Exploration *in)
return execute(node->children[1], in);
}
}
case STAR: {
//TODO
return 0;
}
}
printf("this cannot happen\n");
abort();
@ -118,21 +130,22 @@ int main(int argc, char **argv)
Exploration *in= mkExploration("aabbcc");
/*Node *program=
mkString("aabbcc");*/
mkString("aabbcc");
Node *program=
mkAnd(mkString("aab"),
mkString("bcc"));
mkString("bcc"));*/
/*Node *program=
Node *program=
mkAnd(mkString("aa"),
mkAnd(mkString("bb"),
mkString("cc"));
mkString("cc")));
Node *program=
/*Node *program=
mkAnd(mkStar(mkString("a")), // "a"*"b"*"c"*
mkAnd(mkStar(mkString("b")),
mkStar(mkString("c")));*/
if (execute(program, in)<=0)
{
printf("no match\n");

불러오는 중...
취소
저장