aboutsummaryrefslogtreecommitdiff
path: root/parts/precedence.h
blob: 6fe40dbcf70e1606c982649550d365d807fd27a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef PRECEDENCE_H
#define PRECEDENCE_H

enum precedence_flag {
    PRECEDENCE_LEFT_ASSOC,
    PRECEDENCE_RIGHT_ASSOC,
    // PRECEDENCE_NO_ASSOC,
};

#define PRECEDENCE_SET(flag, num) (((num) << 2 /*2*/) | (flag))
#define PRECEDENCE_NUM(prec) ((prec) >> 2)
#define PRECEDENCE_FLAG(prec) ((prec) & 0x3)

extern int *precedence_symbol;
extern int *precedence_production;

#endif