X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fcpp.h;h=49bdd31ed2b6a5392facfe67b5ab6822aae3b213;hp=b778b14b0179762acb3e9aae439e1d1555c7a88b;hb=3d77b5b65efb78c1da9485dfde1fcd417066b803;hpb=42f44eb5bf4ecd36e26e051fada79d861d0f92d2 diff --git a/src/cpp.h b/src/cpp.h index b778b14..49bdd31 100644 --- a/src/cpp.h +++ b/src/cpp.h @@ -32,11 +32,9 @@ # define PSI_CPP_DEBUG 0 #endif -struct psi_cpp_tokiter { -}; - struct psi_cpp { - HashTable *defs; + HashTable defs; + HashTable once; struct psi_parser *parser; struct psi_plist *tokens; const char *search; @@ -61,11 +59,13 @@ bool psi_cpp_undef(struct psi_cpp *cpp, struct psi_token *tok); #define PSI_CPP_INCLUDE_NEXT 0x1 #define PSI_CPP_INCLUDE_ONCE 0x2 -bool psi_cpp_include(struct psi_cpp *cpp, const char *file, unsigned flags); +bool psi_cpp_include(struct psi_cpp *cpp, const struct psi_token *file, unsigned flags); void psi_cpp_tokiter_reset(struct psi_cpp *cpp); bool psi_cpp_tokiter_seek(struct psi_cpp *cpp, size_t index); +#if PSI_CPP_DEBUG > 1 void psi_cpp_tokiter_dump(int fd, struct psi_cpp *cpp); +#endif struct psi_token *psi_cpp_tokiter_current(struct psi_cpp *cpp); size_t psi_cpp_tokiter_index(struct psi_cpp *cpp); void psi_cpp_tokiter_next(struct psi_cpp *cpp);