DDC::XS::CQueryCompiler - XS interface to DDC C++ CQueryCompiler objects


 # Preliminaries
 use DDC::XS;

 # Constructors etc.
 $compiler = DDC::XS::CQueryCompiler->new();
 undef $compiler;                            #-- auto-magically freed

 # Accessors
 $CQuery = $compiler->getQuery();
 undef   = $compiler->setQuery($query);      #-- may leak memory!
 $bool   = $compiler->getKeepLexerComments();
 undef   = $compiler->setKeepLexerComments($bool);

 # Methods
 $CQuery = $compiler->ParseQuery($string);  #-- croak()s on syntax errors
 undef   = $compiler->CleanParser();        #-- drops associated query
 $string = $compiler->QueryToString();      #-- canonical string for current query
 $string = $compiler->QueryToJson();        #-- json string for current query


The DDC::XS::CQueryCompiler object provides a perl interface to the DDC C++ CQueryCompiler class, used to parse DDC queries. It inherits from "DDC::XS::Object" in DDC::XS::Object. If you only use this class to parse queries and read their properties, you shouldn't need to worry about memory leaks. If you're "stealing" queries from the compiler and/or manipulating them using the perl API, see the caveats in DDC::XS::Object.

The package DDC::XS::QueryCompiler is a backwards-compatible alias for DDC::XS::CQueryCompiler. Names have been changed to protect the innocent and to mirror more precisely the names of the underlying C++ classes.


perl(1), DDC::XS(3perl), DDC::XS::Object(3perl), DDC::XS::CQuery(3perl), DDC::XS::CQCount(3perl), DDC::XS::CQFilter(3perl), DDC::XS::CQueryOptions(3perl).


Bryan Jurish <>


Copyright (C) 2015-2020 by Bryan Jurish

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.