bool read_assembly_file (int context, char *path, char *file_name) { FILE *file = fopen (path, "rt"); if (file == NULL) { error ("Cannot open file: `%s'\n", path); return false; } else { if (file_name == NULL) { file_name = strrchr(path, '/'); file_name = file_name == NULL ? path : file_name + 1; } initialize_scanner (file, file_name); initialize_parser (path); while (!yyparse ()) ; fclose (file); flush_local_labels (!parse_error_occurred); end_of_assembly_file (); return true; } }
static int cdn_html_filter(ap_filter_t * f, apr_bucket_brigade * bb) { apr_bucket *b; const char *buf = 0; apr_size_t bytes = 0; /* now do HTML filtering if necessary, and pass the brigade onward */ saxctxt *ctxt = check_html_filter_init(f); if (!ctxt) return ap_pass_brigade(f->next, bb); for(b = APR_BRIGADE_FIRST(bb); b != APR_BRIGADE_SENTINEL(bb); b = APR_BUCKET_NEXT(b)) { if(APR_BUCKET_IS_EOS(b) || APR_BUCKET_IS_FLUSH(b)) { consume_buffer(ctxt, buf, 0, 1); APR_BUCKET_REMOVE(b); APR_BRIGADE_INSERT_TAIL(ctxt->bb, b); ap_pass_brigade(ctxt->f->next, ctxt->bb); return APR_SUCCESS; } if(apr_bucket_read(b, &buf, &bytes, APR_BLOCK_READ) == APR_SUCCESS && buf) { if(ctxt->parser == NULL) { /* * for now, always output utf-8; we could incorporate * mod_proxy_html's output transcoding with little problem if * necessary */ ap_set_content_type(f->r, "text/html;charset=utf-8"); if(!initialize_parser(f, ctxt, &buf, bytes)) { apr_status_t rv = ap_pass_brigade(ctxt->f->next, bb); ap_remove_output_filter(f); return rv; } else ap_fputs(f->next, ctxt->bb, ctxt->cfg->doctype); } consume_buffer(ctxt, buf, bytes, 0); } } /*ap_fflush(ctxt->f->next, ctxt->bb) ; */ /* uncomment for debug */ apr_brigade_cleanup(bb); return APR_SUCCESS; }
PyMODINIT_FUNC initjit(void) { PyThunk_Init(); initialize_thunk_methods(); initialize_operation(); initialize_thunk_as_number(); initialize_thunk_as_sequence(); initialize_parser(); initialize_compiler(); initialize_scheduler(); initialize_thunk_as_mapping(); //initialize module PyObject *m = Py_InitModule3("jit", module_methods, module_docstring); if (m == NULL) return; create_threads(); }
/* ** Get all tetriminos from dir tetriminos */ int initialize_files(t_list *list, t_tetris *game) { int count; t_files file; t_parser parser; count = 0; init_parser(&parser); if ((file.dir = opendir("./tetriminos/")) == NULL) exit_tetris("Error with opendir", -1); while ((file.dirent = readdir(file.dir))) { if (file.dirent->d_type == DT_REG) { if (initialize_parser(&file, &parser, list, game)) count++; free(file.link); close(file.fd); } } closedir(file.dir); return ((count != 0) ? (1) : (0)); }
int main(void){ configure_nvic(); initialize_i2c(I2C_BASE_ADDRESS + read_i2c_address()); // Configure all of the hardware and internal state initialize_motion_queue(); initialize_parser(); reset_parameters(); initialize_stepper_state(); set_microstepping(DEFAULT_MICROSTEPPING); reset_hardware(); float_sync_line(); while(1){ if(parser.status == PARSER_ERR){ send_response(IMC_RSP_UNKNOWN,0); initialize_parser(); continue; } if(parser.status == PARSER_NEW_EVENT){ switch(parser.packet_type){ case IMC_MSG_INITIALIZE: initialize_motion_queue(); initialize_parser(); // Unlike out first initialization round, don't reset parameters initialize_stepper_state(); float_sync_line(); response.init.slave_hw_ver = 0; response.init.slave_fw_ver = 0; response.init.queue_depth = MOTION_QUEUE_LENGTH; send_response(IMC_RSP_OK,sizeof(rsp_initialize_t)); break; case IMC_MSG_GETPARAM: handle_get_parameter(&parser.packet.get_param, &response.param); send_response(IMC_RSP_OK,sizeof(rsp_get_param_t)); break; case IMC_MSG_SETPARAM: handle_set_parameter(&parser.packet.set_param); send_response(IMC_RSP_OK,0); break; case IMC_MSG_QUEUEMOVE: { int space = enqueue_block(&parser.packet.move); send_response(space < 0 ? IMC_RSP_QUEUEFULL : IMC_RSP_OK,0); // If we're adding moves in idle state, make sure that the sync interface is listening if(st.state == STATE_IDLE) enable_sync_interrupt(); } break; case IMC_MSG_STATUS: response.status.queued_moves = queue_length(); if(st.state == STATE_ERROR){ response.status.status = parameters.error_low; }else{ response.status.status = IMC_ERR_NONE; } send_response(IMC_RSP_OK,sizeof(rsp_status_t)); break; case IMC_MSG_HOME: send_response(IMC_RSP_OK,0); enter_homing_routine(); break; case IMC_MSG_QUICKSTOP: send_response(IMC_RSP_ERROR,0); break; } initialize_parser(); } } }