# pEpACIDLang "The current problem at hand is to replace a handwritten C API with a pEpACIDlang generated one." pEpACIDLang stands for "pEp Abstract C Interface Description Language". pEpACIDLang is language to describe a programming interface. 'Abstract', because the interfaces defined in pEpACIDLang are agnostic to the target language. 'C' because the syntax and some concepts are based on the C language. A concrete interface and client code using the interface can be generated for any language where there exist a language mapping for. A language mapping consists of: * A language mapping specification (lms) * An interface generator (ig) # pEp-IDL The pEp interface description language ... TODO: * ODR checks for types (global) * ODR checks for func param names * ODR checks for struct field names * method: * doc * throws statements * !!!decouple ig-c99 from idl using idl-api * generate enum STATUS * generate list implementation