Esempio n. 1
0
static void desugar_whitespace(HAllocator *mm__, HCFStack *stk__, void *env) {

  HCharset ws_cs = new_charset(mm__);
  for(size_t i=0; i<sizeof(SPACE_CHRS); i++)
    charset_set(ws_cs, SPACE_CHRS[i], 1);
  
  HCFS_BEGIN_CHOICE() {
    HCFS_BEGIN_SEQ() {
      HCFS_BEGIN_CHOICE() {
	HCFS_BEGIN_SEQ() {
	  HCFS_ADD_CHARSET(ws_cs);
	  HCFS_APPEND(HCFS_THIS_CHOICE); // yay circular pointer!
	} HCFS_END_SEQ();
	HCFS_BEGIN_SEQ() {
	} HCFS_END_SEQ();
      } HCFS_END_CHOICE();
      HCFS_DESUGAR( (HParser*)env );
    } HCFS_END_SEQ();
    HCFS_THIS_CHOICE->reshape = h_act_last;
  } HCFS_END_CHOICE();
}
Esempio n. 2
0
static void desugar_charset(HAllocator *mm__, HCFStack *stk__, void *env) {
  HCFS_ADD_CHARSET( (HCharset)env );
}