Example #1
0
void print_resources(void)
{
  TYPEINFO *type_ptr;
  int i;

  COUTPUT(("/* TWIN Resource Compiler Version " RC_VERSION " */\n"));
  COUTPUT(("\n"));
  COUTPUT(("#define NOAPIPROTO\n"));
  COUTPUT(("\n"));
  COUTPUT(("#include \"windows.h\"\n"));
  COUTPUT(("#include \"Resources.h\"\n"));
  COUTPUT(("\n"));
  for(i = 0; i < MAX_TYPES; i++)
  {
    type_ptr = resource_table + i;
    if (type_ptr->rcscount > 0 )
      print_func(type_ptr);
  }
  
  parse_module();      /* Load the Module Definition file */

  COUTPUT(("%sTYPEINFO hsmt_resource_%s[] = {\n",
      (strlen(tbl_name))?"":"static ",
      (strlen(tbl_name))?tbl_name:"table"));

  for (i = 0; i < MAX_TYPES; i++)
    {
      type_ptr = resource_table + i;
      if (type_ptr->rcscount > 0 )
	{
	  if (HIWORD((DWORD)type_ptr->rcstypename) == 0)
	    COUTPUT(( "\t{ (char *) %d, ", LOWORD((DWORD)type_ptr->rcstypename)));
	  else
	    COUTPUT(( "\t{ \"%s\", ", type_ptr->rcstypename));
	  COUTPUT(( " %d, ", type_ptr->rcscount));
	  if ((HIWORD((DWORD)type_ptr->rcstypename) == 0) &&
	      (LOWORD((DWORD)type_ptr->rcstypename) < 16))
	    COUTPUT(( " %s },\n", info_name_tbl[LOWORD((DWORD)type_ptr->rcstypename) - 1]));
	  else
	    if (HIWORD(type_ptr->rcstypename) == 0)
	      COUTPUT(( "u%d_info},\n", (int)type_ptr->rcstypename));
	    else
	      COUTPUT(( "%s_info},\n", type_ptr->rcstypename));
	  
	}
    }
  print_last_entry(3);
  COUTPUT(("};\n\n"));
  print_module();
}
Example #2
0
int main(int argc, char **argv)
{
	struct string_list *filelist = NULL;
	struct symbol_list *builtins;
	char *file;

	builtins = sparse_initialize(argc, argv, &filelist);
	FOR_EACH_PTR_NOTAG(filelist, file) {
		struct symbol_list *syms;
		module_t m;

		syms = sparse(file);
		if (die_if_error)
			return 1;
		m = alloc_module(file);
		compile(m, builtins);
		compile(m, syms);
		verify_module(m);
		print_module(m, STDOUT_FILENO);
		free_module(m);
	} END_FOR_EACH_PTR_NOTAG(file);
	return 0;
}
Example #3
0
void pp_print_module_var(Var* mv)
{
	print_module(&V_MODULE(mv));
}