Rename close_item_set -> item_set_closure

This commit is contained in:
Max Brunsfeld 2014-01-12 09:13:53 -08:00
parent 9231fa6095
commit a21c42ca85
5 changed files with 17 additions and 20 deletions

View file

@ -1,4 +1,4 @@
#include "close_item_set.h"
#include "item_set_closure.h"
#include "./next_symbols.h"
#include "grammar.h"
#include "item.h"
@ -22,14 +22,11 @@ namespace tree_sitter {
}
}
static vector<Item> closure_in_grammar(const Item &item, const Grammar &grammar) {
vector<Item> result;
add_item(result, item, grammar);
return result;
}
ItemSet close_item_set(const ItemSet &item_set, const Grammar &grammar) {
return ItemSet(closure_in_grammar(*item_set.begin(), grammar));
ItemSet item_set_closure(const ItemSet &item_set, const Grammar &grammar) {
vector<Item> items;
for (Item item : item_set)
add_item(items, item, grammar);
return ItemSet(items);
}
}
}

View file

@ -7,7 +7,7 @@ namespace tree_sitter {
class Grammar;
namespace build_tables {
ItemSet close_item_set(const ItemSet &item_set, const Grammar &grammar);
ItemSet item_set_closure(const ItemSet &item_set, const Grammar &grammar);
}
}

View file

@ -1,5 +1,5 @@
#include "item_set_transitions.h"
#include "close_item_set.h"
#include "item_set_closure.h"
#include "rule_transitions.h"
using std::dynamic_pointer_cast;
@ -19,7 +19,7 @@ namespace tree_sitter {
for (Item item : item_set) {
for (auto transition : item_transitions(item)) {
auto rule = dynamic_pointer_cast<const RuleClass>(transition.first);
auto new_item_set = make_shared<ItemSet>(close_item_set(ItemSet({ *transition.second }), grammar));
auto new_item_set = make_shared<ItemSet>(item_set_closure(ItemSet({ *transition.second }), grammar));
if (rule.get()) result.add(rule, new_item_set);
}
}

View file

@ -1,6 +1,6 @@
#include "./perform.h"
#include "item_set.h"
#include "close_item_set.h"
#include "item_set_closure.h"
#include "next_symbols.h"
#include "item_set_transitions.h"
#include "rules.h"
@ -111,7 +111,7 @@ namespace tree_sitter {
pair<ParseTable, LexTable> build() {
auto item = Item(ParseTable::START, rules::sym(grammar.start_rule_name), 0);
auto item_set = close_item_set(ItemSet({ item }), grammar);
auto item_set = item_set_closure(ItemSet({ item }), grammar);
add_parse_state(item_set);
return pair<ParseTable, LexTable>(parse_table, lex_table);
}

View file

@ -32,7 +32,7 @@
12EDCFB418820519005A7A07 /* compile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12EDCFAC18820181005A7A07 /* compile.cpp */; };
12EDCFBC188205BF005A7A07 /* rule_transitions_spec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12EDCFB6188205BA005A7A07 /* rule_transitions_spec.cpp */; };
12EDCFBD188205BF005A7A07 /* perform_spec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12EDCFB7188205BA005A7A07 /* perform_spec.cpp */; };
12EDCFC018820880005A7A07 /* close_item_set.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12EDCFBE18820880005A7A07 /* close_item_set.cpp */; };
12EDCFC018820880005A7A07 /* item_set_closure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12EDCFBE18820880005A7A07 /* item_set_closure.cpp */; };
12EDCFC318820A70005A7A07 /* item_set_transitions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12EDCFC118820A70005A7A07 /* item_set_transitions.cpp */; };
12EDCFC61882153D005A7A07 /* next_symbols.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12EDCFC41882153D005A7A07 /* next_symbols.cpp */; };
12F9A64E182DD5FD00FAF50C /* spec_helper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12F9A64C182DD5FD00FAF50C /* spec_helper.cpp */; };
@ -127,8 +127,8 @@
12EDCFAD18820181005A7A07 /* compile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compile.h; sourceTree = "<group>"; };
12EDCFB6188205BA005A7A07 /* rule_transitions_spec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rule_transitions_spec.cpp; sourceTree = "<group>"; };
12EDCFB7188205BA005A7A07 /* perform_spec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = perform_spec.cpp; sourceTree = "<group>"; };
12EDCFBE18820880005A7A07 /* close_item_set.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = close_item_set.cpp; sourceTree = "<group>"; };
12EDCFBF18820880005A7A07 /* close_item_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = close_item_set.h; sourceTree = "<group>"; };
12EDCFBE18820880005A7A07 /* item_set_closure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = item_set_closure.cpp; sourceTree = "<group>"; };
12EDCFBF18820880005A7A07 /* item_set_closure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = item_set_closure.h; sourceTree = "<group>"; };
12EDCFC118820A70005A7A07 /* item_set_transitions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = item_set_transitions.cpp; sourceTree = "<group>"; };
12EDCFC218820A70005A7A07 /* item_set_transitions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = item_set_transitions.h; sourceTree = "<group>"; };
12EDCFC41882153D005A7A07 /* next_symbols.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = next_symbols.cpp; sourceTree = "<group>"; };
@ -205,12 +205,12 @@
12130618182C84B700FCF928 /* build_tables */ = {
isa = PBXGroup;
children = (
12EDCFBE18820880005A7A07 /* close_item_set.cpp */,
12EDCFBF18820880005A7A07 /* close_item_set.h */,
12EDCFA218820137005A7A07 /* item.cpp */,
12EDCFA318820137005A7A07 /* item.h */,
12EDCFA018820137005A7A07 /* item_set.cpp */,
12EDCFA118820137005A7A07 /* item_set.h */,
12EDCFBE18820880005A7A07 /* item_set_closure.cpp */,
12EDCFBF18820880005A7A07 /* item_set_closure.h */,
12EDCFC118820A70005A7A07 /* item_set_transitions.cpp */,
12EDCFC218820A70005A7A07 /* item_set_transitions.h */,
12EDCFC41882153D005A7A07 /* next_symbols.cpp */,
@ -470,7 +470,7 @@
12EDCFB31882039A005A7A07 /* rule_transitions.cpp in Sources */,
12FD40D9185FEEDF0041A84E /* pattern_spec.cpp in Sources */,
12130617182C3D2900FCF928 /* string.cpp in Sources */,
12EDCFC018820880005A7A07 /* close_item_set.cpp in Sources */,
12EDCFC018820880005A7A07 /* item_set_closure.cpp in Sources */,
12EDCFBD188205BF005A7A07 /* perform_spec.cpp in Sources */,
12EDCFC61882153D005A7A07 /* next_symbols.cpp in Sources */,
12130611182C3A1100FCF928 /* blank.cpp in Sources */,