static char *image_desc_cocoa(const char *image_path) { const char *func_name_pre = "NSImage *()"; char *func_name = gen_func_name(image_path); char *comment = (char *)malloc(strlen(image_path) + 10); sprintf(comment, " // %s", image_path); char *content_func_name = (char*)malloc(strlen(func_name_pre) + strlen(func_name) + strlen(comment) + 1); sprintf(content_func_name, "NSImage *%s()%s", func_name, comment); free(func_name); free(comment); char *int64desc = image_int64_descpt(image_path); char *lastpart = kInt64CocoaDesc; char *func = (char*)malloc(strlen(content_func_name) + strlen(int64desc) + strlen(lastpart) + 10); sprintf(func, "%s\n{\n%s%s}\n", content_func_name, int64desc, lastpart); free(int64desc); free(content_func_name); return func; }
void output_lang2_file (void) { char **strs; int nopts; int i, n; puts("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); puts("<language id=\"gretl\" _name=\"gretl\" version=\"2.0\" _section=\"Scripts\">"); puts("<metadata>"); puts(" <property name=\"mimetypes\">application/x-gretlscript</property>"); puts(" <property name=\"globs\">*.inp</property>"); puts("</metadata>"); puts("<styles>"); puts(" <style id=\"comment\" _name=\"Comment\" map-to=\"def:comment\"/>"); puts(" <style id=\"function\" _name=\"Function\" map-to=\"def:function\"/>"); puts(" <style id=\"data-type\" _name=\"Data Type\" map-to=\"def:type\"/>"); puts(" <style id=\"string\" _name=\"String\" map-to=\"def:string\"/>"); puts(" <style id=\"keyword\" _name=\"Keyword\" map-to=\"def:keyword\"/>"); puts("</styles>"); puts("<definitions>"); puts(" <context id=\"line-comment\" style-ref=\"comment\" end-at-line-end=\"true\">"); puts(" <start>#</start>"); puts(" <include>"); puts(" <context ref=\"def:escape\"/>"); puts(" <context ref=\"def:line-continue\"/>"); puts(" </include>"); puts(" </context>"); puts(" <context id=\"block-comment\" style-ref=\"comment\">"); puts(" <start>/\\*</start>"); puts(" <end>\\*/</end>"); puts(" <include>"); puts(" <context ref=\"def:escape\"/>"); puts(" <context ref=\"def:line-continue\"/>"); puts(" </include>"); puts(" </context>"); puts(" <context id=\"string\" style-ref=\"string\" end-at-line-end=\"true\">"); puts(" <start>\"</start>"); puts(" <end>\"</end>"); puts(" <include>"); puts(" <context ref=\"def:escape\"/>"); puts(" <context ref=\"def:line-continue\"/>"); puts(" </include>"); puts(" </context>"); #if 0 /* not yet */ puts(" <context id=\"foreign\" style-inside=\"true\" style-ref=\"comment\">"); puts(" <start>(?<=foreign language)</start>"); puts(" <end>(?=end foreign)</end>"); puts(" </context>"); #endif /* gretl data types */ puts(" <context id=\"gretl-types\" style-ref=\"data-type\">"); for (i=0; gretl_data_types[i] != NULL; i++) { printf(" <keyword>%s</keyword>\n", gretl_data_types[i]); } puts(" </context>"); /* gretl functions */ puts(" <context id=\"genr-functions\" style-ref=\"function\">"); n = gen_func_count(); for (i=0; i<n; i++) { printf(" <keyword>%s</keyword>\n", gen_func_name(i)); } printf(" <keyword>catch</keyword>\n"); puts(" </context>"); /* gretl commands */ puts(" <context id=\"commands\" style-ref=\"keyword\">"); puts(" <prefix>(^|\\040|\\011)</prefix>"); puts(" <suffix>(?![\\w\\-\\.\\(])</suffix>"); for (i=1; i<NC; i++) { printf(" <keyword>%s</keyword>\n", gretl_command_word(i)); } /* plus a few specials */ for (i=0; special_keyword[i] != NULL; i++) { printf(" <keyword>%s</keyword>\n", special_keyword[i]); } puts(" </context>"); /* command option strings */ strs = get_all_option_strings(&nopts); qsort(strs, nopts, sizeof *strs, compare_options); if (strs != NULL) { puts(" <context id=\"options\" style-ref=\"data-type\">"); puts(" <prefix>--</prefix>"); for (i=1; i<nopts; i++) { printf(" <keyword>%s</keyword>\n", strs[i]); } puts(" </context>"); strings_array_free(strs, nopts); } /* dollar variables */ puts(" <context id=\"internalvars\" style-ref=\"data-type\">"); puts(" <prefix>\\$</prefix>"); puts(" <suffix></suffix>"); strs = make_var_name_list(&n); if (strs != NULL) { for (i=0; i<n; i++) { printf(" <keyword>%s</keyword>\n", strs[i]); } strings_array_free(strs, n); } puts(" </context>"); puts(" <context id=\"gretl\">"); puts(" <include>"); puts(" <context ref=\"line-comment\"/>"); puts(" <context ref=\"block-comment\"/>"); puts(" <context ref=\"string\"/>"); puts(" <context ref=\"gretl-types\"/>"); puts(" <context ref=\"commands\"/>"); puts(" <context ref=\"genr-functions\"/>"); puts(" <context ref=\"options\"/>"); puts(" <context ref=\"internalvars\"/>"); puts(" </include>"); puts(" </context>"); puts("</definitions>"); puts("</language>"); }
void output_emacs_block (void) { char **strs; int nopts; int i, n; /* gretl commands */ n = 1; fputs("(defvar gretl-command-words\n '(", stdout); for (i=1; i<NC; i++) { printf("\"%s\"", gretl_command_word(i)); if (n % 8 == 0) { fputs("\n ", stdout); } else { putchar(' '); } n++; } for (i=0; special_keyword[i] != NULL; i++) { printf("\"%s\"", special_keyword[i]); if (special_keyword[i+1] != NULL) { if (n % 8 == 0) { fputs("\n ", stdout); } else { putchar(' '); } } n++; } puts(")\n \"Commands in Gretl (these names are also reserved).\")\n"); /* functions in "genr" command */ fputs("(defvar gretl-genr-functions\n '(", stdout); n = gen_func_count(); for (i=0; i<n; i++) { printf("\"%s\"", gen_func_name(i)); if (i < n-1) { if ((i+1) % 8 == 0) { fputs("\n ", stdout); } else { putchar(' '); } } } puts(")\n \"Builtin functions for Gretl's genr command.\")\n"); /* option strings */ strs = get_all_option_strings(&nopts); if (strs != NULL) { n = 1; fputs("(defvar gretl-option-flags\n '(", stdout); for (i=1; i<nopts; i++) { printf("\"%s\"", strs[i]); if (i < nopts-1) { if (n % 4 == 0) { fputs("\n ", stdout); } else { putchar(' '); } } n++; } puts(")\n \"Gretl option flags.\")\n"); strings_array_free(strs, nopts); } /* internal "dollar" variables */ fputs("(defvar gretl-internal-vars\n '(", stdout); strs = make_var_name_list(&n); if (strs != NULL) { for (i=0; i<n; i++) { printf("\"%s\"", strs[i]); if ((i+1) % 7 == 0) { fputs("\n ", stdout); } else { putchar(' '); } } strings_array_free(strs, n); } puts(")\n \"Model- and dataset-related variables.\")\n"); }