fork download
  1. #ifndef REGEX_H_
  2. #define REGEX_H_
  3.  
  4. #include <stdio.h>
  5. #include <stdbool.h>
  6. #include <stdarg.h>
  7. #include <stdlib.h>
  8. #include <string.h>
  9. #include <ctype.h>
  10.  
  11. #define LABELS_SIZE 128
  12.  
  13. struct _NFA {
  14. struct _NFA *edges[2];
  15. bool noname[2]; /* 添字のラベルが付けられてないなら真 */
  16. int labels[LABELS_SIZE]; /* 添字はラベル名として扱い、中の値はedgesの添字として扱う。*/
  17. int id; /* ループ判定用。edgesの先のノードのidより大きいならループ。 */
  18. };
  19.  
  20. typedef struct _NFA *NFA;
  21.  
  22. NFA regex_compile(const char *str);
  23. char* regex_search(NFA node, const char *str);
  24.  
  25. #endif
  26.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty