X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=idl%2Fmain.c;h=c4664be36b45d426523d69d9487a0bfb0f0520ea;hp=fe49647bf49b398229c3f48c3ac0aa19bd2ce2f8;hb=c6d07b29eac45a9dc6f121b6a636ff32bc7609a3;hpb=5917ec1de81d919ac670af18166a41238aa1d3f6 diff --git a/idl/main.c b/idl/main.c index fe49647..c4664be 100644 --- a/idl/main.c +++ b/idl/main.c @@ -1,8 +1,8 @@ #include #include #include -#include "lexer.h" -#include "parser.h" + +#include "main.h" static int TRACE; @@ -32,6 +32,7 @@ static void loop(PSI_Lexer *L, void *P) int main(int argc, char *argv[]) { PSI_Lexer L; + PSI_Validator V; void *P = PSI_ParserAlloc(malloc); TRACE = !!getenv("TRACE"); @@ -44,7 +45,18 @@ int main(int argc, char *argv[]) loop(&L, P); PSI_ParserFree(P, free); + + if (!PSI_ValidatorInit(&V, &L)) { + perror("Failed to init validator"); + return 2; + } + PSI_LexerDtor(&L); + if (PSI_ValidatorValidate(&V)) { + printf("Whoa! VALID.\n"); + } + PSI_ValidatorDtor(&V); + return 0; }