Skip to content
Snippets Groups Projects
Commit 4ec1c7f2 authored by Paweł Kędzia's avatar Paweł Kędzia
Browse files

Fixed grammar

parent 24c39c6e
Branches
No related merge requests found
...@@ -21,7 +21,7 @@ public: ...@@ -21,7 +21,7 @@ public:
* @returns Name of the function: "not" * @returns Name of the function: "not"
*/ */
std::string raw_name() const { std::string raw_name() const {
return "nor"; return "not";
} }
protected : protected :
......
...@@ -92,6 +92,21 @@ private: ...@@ -92,6 +92,21 @@ private:
return ret_ustr; return ret_ustr;
} }
// //
const std::string str_token_rem_grav(antlr::RefToken& rstr) const {
size_t len = 0;
std::string ret = token_ref_to_std_string(rstr);
if ((len = ret.length()) < 2) {
return ret;
}
if (ret[0] == '`' && ret[len - 1] == '`') {
return ret.substr(1, len - 2);
}
return ret;
}
//
const std::string token_ref_to_std_string(antlr::RefToken& rstr) const { const std::string token_ref_to_std_string(antlr::RefToken& rstr) const {
return (((antlr::Token*)rstr)->getText()); return (((antlr::Token*)rstr)->getText());
} }
...@@ -187,7 +202,10 @@ str_set_literal ...@@ -187,7 +202,10 @@ str_set_literal
{ {
s_set.reset(new Wccl::StrSet()); s_set.reset(new Wccl::StrSet());
} }
: LBRACKET : s0: STRING {
s_set->insert(str_token_ref_to_ustring(s0));
}
| LBRACKET
( s1: STRING { ( s1: STRING {
s_set->insert(str_token_ref_to_ustring(s1)); s_set->insert(str_token_ref_to_ustring(s1));
} }
...@@ -217,7 +235,7 @@ sym_set_elem ...@@ -217,7 +235,7 @@ sym_set_elem
[const Corpus2::Tagset& tagset, boost::shared_ptr<Wccl::TSet>& t_set] [const Corpus2::Tagset& tagset, boost::shared_ptr<Wccl::TSet>& t_set]
: s1: SYMBOL { : s1: SYMBOL {
try { try {
t_set->insert_symbol(tagset, token_ref_to_std_string(s1)); t_set->insert_symbol(tagset, str_token_rem_grav(s1));
} }
catch(Corpus2::TagParseError &e) { catch(Corpus2::TagParseError &e) {
throw(ParserException(e.info())); throw(ParserException(e.info()));
...@@ -234,7 +252,8 @@ sym_set_literal ...@@ -234,7 +252,8 @@ sym_set_literal
{ {
t_set.reset(new Wccl::TSet()); t_set.reset(new Wccl::TSet());
} }
: LCURLY : sym_set_elem[tagset, t_set]
| LCURLY
( sym_set_elem[tagset, t_set] (COMMA sym_set_elem[tagset, t_set])* )? ( sym_set_elem[tagset, t_set] (COMMA sym_set_elem[tagset, t_set])* )?
RCURLY RCURLY
; ;
...@@ -328,10 +347,10 @@ position_variable_acc ...@@ -328,10 +347,10 @@ position_variable_acc
[Wccl::Variables& vars] [Wccl::Variables& vars]
returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::Position> > pos_acc] returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::Position> > pos_acc]
: POS_PREFIX n: SYMBOL { : POS_PREFIX n: SYMBOL {
vars.get_put<Wccl::Position>(token_ref_to_std_string(n)); vars.get_put<Wccl::Position>(str_token_rem_grav(n));
Wccl::VariableAccessor<Wccl::Position> acc = Wccl::VariableAccessor<Wccl::Position> acc =
vars.create_accessor<Wccl::Position>(token_ref_to_std_string(n)); vars.create_accessor<Wccl::Position>(str_token_rem_grav(n));
pos_acc.reset(new Wccl::VariableAccessor<Wccl::Position>(acc)); pos_acc.reset(new Wccl::VariableAccessor<Wccl::Position>(acc));
} }
...@@ -371,11 +390,11 @@ str_set_variable_acc ...@@ -371,11 +390,11 @@ str_set_variable_acc
returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::StrSet> > strset_acc] returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::StrSet> > strset_acc]
: STR_PREFIX n: SYMBOL { : STR_PREFIX n: SYMBOL {
// get/put variable to variables // get/put variable to variables
vars.get_put<Wccl::StrSet>(token_ref_to_std_string(n)); vars.get_put<Wccl::StrSet>(str_token_rem_grav(n));
// makes accessor for value // makes accessor for value
Wccl::VariableAccessor<Wccl::StrSet> acc = Wccl::VariableAccessor<Wccl::StrSet> acc =
vars.create_accessor<Wccl::StrSet>(token_ref_to_std_string(n)); vars.create_accessor<Wccl::StrSet>(str_token_rem_grav(n));
strset_acc.reset(new Wccl::VariableAccessor<Wccl::StrSet>(acc)); strset_acc.reset(new Wccl::VariableAccessor<Wccl::StrSet>(acc));
} }
...@@ -400,10 +419,10 @@ sym_set_variable_acc ...@@ -400,10 +419,10 @@ sym_set_variable_acc
[Wccl::Variables& vars] [Wccl::Variables& vars]
returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::TSet> > symset_acc] returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::TSet> > symset_acc]
: TST_PREFIX n: SYMBOL { : TST_PREFIX n: SYMBOL {
vars.get_put<Wccl::TSet>(token_ref_to_std_string(n)); vars.get_put<Wccl::TSet>(str_token_rem_grav(n));
Wccl::VariableAccessor<Wccl::TSet> acc = Wccl::VariableAccessor<Wccl::TSet> acc =
vars.create_accessor<Wccl::TSet>(token_ref_to_std_string(n)); vars.create_accessor<Wccl::TSet>(str_token_rem_grav(n));
symset_acc.reset(new Wccl::VariableAccessor<Wccl::TSet>(acc)); symset_acc.reset(new Wccl::VariableAccessor<Wccl::TSet>(acc));
} }
...@@ -428,10 +447,10 @@ boolean_variable_acc ...@@ -428,10 +447,10 @@ boolean_variable_acc
[Wccl::Variables& vars] [Wccl::Variables& vars]
returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::Bool> > bool_acc] returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::Bool> > bool_acc]
: BOOL_PREFIX n: SYMBOL { : BOOL_PREFIX n: SYMBOL {
vars.get_put<Wccl::Bool>(token_ref_to_std_string(n)); vars.get_put<Wccl::Bool>(str_token_rem_grav(n));
Wccl::VariableAccessor<Wccl::Bool> acc = Wccl::VariableAccessor<Wccl::Bool> acc =
vars.create_accessor<Wccl::Bool>(token_ref_to_std_string(n)); vars.create_accessor<Wccl::Bool>(str_token_rem_grav(n));
bool_acc.reset(new Wccl::VariableAccessor<Wccl::Bool>(acc)); bool_acc.reset(new Wccl::VariableAccessor<Wccl::Bool>(acc));
} }
...@@ -1004,8 +1023,8 @@ STRING ...@@ -1004,8 +1023,8 @@ STRING
options { options {
paraphrase = "a string"; paraphrase = "a string";
} }
: '"' (~'"')* '"' : '"'! (~'"')* '"'!
| '\'' (~'\'')* '\'' | '\''! (~'\'')* '\''!
; ;
SIGNED_INT SIGNED_INT
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment