Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
742 B

  1. // ptree.h
  2. #ifndef __INC_PTREE_H
  3. #define __INC_PTREE_H
  4. #include "common.h"
  5. #include "intset.h"
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9. typedef struct tagPARSETREE {
  10. int value;
  11. BOOL nullable;
  12. IntSet FirstPos;
  13. IntSet LastPos;
  14. unsigned int position; // used only for leaves
  15. struct tagPARSETREE *left;
  16. struct tagPARSETREE *right;
  17. } PARSETREE;
  18. void DestroyPARSETREE(PARSETREE *tree);
  19. PARSETREE *MakePARSETREE(int value);
  20. PARSETREE *MergePARSETREE(PARSETREE *tree1, PARSETREE *tree2);
  21. int SizePARSETREE(PARSETREE *tree);
  22. PARSETREE *CopyPARSETREE(PARSETREE *tree);
  23. BOOL MakePureRegularExpression(PARSETREE *tree);
  24. int ComputeNodeAttributes(PARSETREE *tree, IntSet **paFollowpos, WCHAR **paPos2Wchar);
  25. #ifdef __cplusplus
  26. }
  27. #endif
  28. #endif