precedence.h.svn-base
来自「Complete support for EBNF notation; Obje」· SVN-BASE 代码 · 共 33 行
SVN-BASE
33 行
#ifndef __WHALE__PRECEDENCE_H#define __WHALE__PRECEDENCE_H#include <iostream>#include <vector>#include "matrix.h"bool process_precedence();std::pair<bool, int> resolve_lr_conflict(int shift_terminal, int shift_state, const std::vector<int> &reduce_rules);class PrecedenceDatabase{ int n; matrix<bool> equivalence_relation; matrix<bool> partial_order_relation; // should be antisymmetricpublic: PrecedenceDatabase() : n(0), equivalence_relation(0, 0), partial_order_relation(0, 0) { } void initialize(int supplied_n); void closure(); void print_tables(std::ostream &os); bool &access_equivalence_relation(int i, int j) { return equivalence_relation[i][j]; } bool &access_partial_order_relation(int i, int j) { return partial_order_relation[i][j]; } friend bool process_precedence();};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?