mumble

A Lisp written in C, following the *Build Your Own Lisp* book
Log | Files | Refs | README

line_reader.c (619B)


      1 #include "../mpc.h"
      2 
      3 static void* read_line(void* line) {
      4   printf("Reading Line: %s", (char*)line);
      5   return line;
      6 }
      7 
      8 int main(int argc, char **argv) {
      9   
     10   const char *input = 
     11     "abcHVwufvyuevuy3y436782\n"
     12     "\n"
     13     "\n"
     14     "rehre\n"
     15     "rew\n"
     16     "-ql.;qa\n"
     17     "eg";
     18 		
     19   mpc_parser_t* Line = mpc_many(
     20     mpcf_strfold, 
     21     mpc_apply(mpc_re("[^\\n]*(\\n|$)"), read_line));
     22   
     23   mpc_result_t r;
     24 
     25   (void)argc; (void)argv;
     26 
     27   mpc_parse("input", input, Line, &r);
     28   printf("\nParsed String: %s", (char*)r.output);
     29   free(r.output);
     30   
     31   mpc_delete(Line);
     32   
     33   return 0;
     34 }