34 lines
		
	
	
		
			617 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			617 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#include "../mpc.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								static void* read_line(void* line) {
							 | 
						||
| 
								 | 
							
								  printf("Reading Line: %s", (char*)line);
							 | 
						||
| 
								 | 
							
								  return line;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int main(int argc, char **argv) {
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  const char *input = 
							 | 
						||
| 
								 | 
							
								    "abcHVwufvyuevuy3y436782\n"
							 | 
						||
| 
								 | 
							
								    "\n"
							 | 
						||
| 
								 | 
							
								    "\n"
							 | 
						||
| 
								 | 
							
								    "rehre\n"
							 | 
						||
| 
								 | 
							
								    "rew\n"
							 | 
						||
| 
								 | 
							
								    "-ql.;qa\n"
							 | 
						||
| 
								 | 
							
								    "eg";
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
								  mpc_parser_t* Line = mpc_many(
							 | 
						||
| 
								 | 
							
								    mpcf_strfold, 
							 | 
						||
| 
								 | 
							
								    mpc_apply(mpc_re("[^\\n]*(\\n|$)"), read_line));
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  mpc_result_t r;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  (void)argc; (void)argv;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  mpc_parse("input", input, Line, &r);
							 | 
						||
| 
								 | 
							
								  printf("\nParsed String: %s", (char*)r.output);
							 | 
						||
| 
								 | 
							
								  free(r.output);
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  mpc_delete(Line);
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  return 0;
							 | 
						||
| 
								 | 
							
								}
							 |