/* * Routine: * Purpose: * Algorithm: * Data Structures: * * Params: * Returns: * Called By: * Calls: * Assumptions: * Side Effects: * TODO: None */ int main(int ac, char* av[]) { template_t *pTemplate; process_options (ac, av); if (!is_set("QUIET")) { fprintf (stderr, "%s Query Generator (Version %d.%d.%d%s)\n", get_str("PROG"), VERSION, RELEASE, MODIFICATION, PATCH); fprintf (stderr, "Copyright %s %s\n", COPYRIGHT, C_DATES); } TemplateList = makeList(L_FL_TAIL, NULL); /* sync the keyword defines between lex/yacc/qgen */ InitKeywords(); if (is_set("YYDEBUG")) yydebug = 1; if (is_set("TEMPLATE")) parseTemplate(get_str("TEMPLATE"), 1); else parseQueries(); /* load the query templates */ if (is_set("VERBOSE") && !is_set("QUIET")) fprintf(stderr, "Parsed %d templates\n", length(TemplateList)); if (is_set("DUMP")) { for (pTemplate = (template_t *)getHead(TemplateList); pTemplate; pTemplate = (template_t *)getNext(TemplateList)) PrintTemplate(pTemplate); } init_rand(); generateQueryStreams(); /* output the resulting SQL */ exit(0); }
void PythonSyntax::Highlight(const wchar *start, const wchar *end, HighlightOutput& hls, CodeEditor *editor, int line, int pos) { InitKeywords(); bool isComment = false; bool isStr = false; char strOpening; const wchar* p = start; while(p < end) { if((*p == '#' || isComment) && !isStr) { isComment = true; hls.Put(hl_style[INK_COMMENT]); } else if(*p == '\'' || *p == '\"' || isStr) { hls.Put(hl_style[INK_CONST_STRING]); if((*p == '\'' || *p == '\"') && p - 1 != start && *(p - 1) != '\\') if (!isStr || strOpening == *p) { isStr = !isStr; strOpening = (char)*p; } } else if(IsSeparator(p) || p == start) { WString w; bool isW = false; const wchar* bp = (p == start && !IsSeparator(p)) ? p : p + 1; while (bp != end && !IsSeparator(bp)) w += *bp++; bool isPutted = false; if(IsSeparator(p)) { hls.Put(hl_style[INK_NORMAL]); isPutted = true; } if(IsKeyword(w)) { hls.Put(w.GetLength(), hl_style[INK_KEYWORD]); isW = true; } else if(IsSpecialVar(w)) { hls.Put(w.GetLength(), hl_style[INK_UPP]); isW = true; } else if(IsNumber(w)) { hls.Put(w.GetLength(), hl_style[INK_CONST_INT]); isW = true; } if(isW) { p += w.GetLength() - (isPutted ? 0 : 1); } } else hls.Put(hl_style[INK_NORMAL]); p++; } }