removed: statements: [if-index ...] [is ...] and [is-no ...]
we can provide a user definied function which does the same added: to FunInfo<>: Stack * stack_tab size_t stack_index a stack table and an index to the current stack item git-svn-id: svn://ttmath.org/publicrep/ezc/trunk@988 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -685,28 +685,6 @@ void PatternParser::ReadDirectiveIfoneno(Item & item)
|
||||
|
||||
|
||||
|
||||
void PatternParser::ReadDirectiveIs(Item & item)
|
||||
{
|
||||
item.type = Item::item_is;
|
||||
ReadFunctions(item);
|
||||
|
||||
if( item.functions.size() != 2 )
|
||||
item.type = Item::item_err;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void PatternParser::ReadDirectiveIsno(Item & item)
|
||||
{
|
||||
item.type = Item::item_isno;
|
||||
ReadFunctions(item);
|
||||
|
||||
if( item.functions.size() != 2 )
|
||||
item.type = Item::item_err;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void PatternParser::ReadDirectiveEnd(Item & item)
|
||||
{
|
||||
item.type = Item::item_end;
|
||||
@@ -721,26 +699,6 @@ void PatternParser::ReadDirectiveElse(Item & item)
|
||||
|
||||
|
||||
|
||||
void PatternParser::ReadDirectiveIfindex(Item & item)
|
||||
{
|
||||
item.type = Item::item_err;
|
||||
item.functions.clear();
|
||||
temp_function.Clear();
|
||||
|
||||
// reading: odd, even, first or a number (without quotes)
|
||||
if( !ReadName(temp_function.name) )
|
||||
return;
|
||||
|
||||
if( temp_function.name != L"odd" && temp_function.name != L"even" &&
|
||||
temp_function.name != L"first" && !IsPositiveNumber(temp_function.name) )
|
||||
return;
|
||||
|
||||
item.functions.push_back(temp_function);
|
||||
item.type = Item::item_ifindex;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void PatternParser::ReadDirectiveFor(Item & item)
|
||||
{
|
||||
item.type = Item::item_for;
|
||||
@@ -869,9 +827,6 @@ std::wstring name;
|
||||
else if( name == L"if-one" ) ReadDirectiveIfone(item);
|
||||
else if( name == L"if-any-no" ) ReadDirectiveIfanyno(item);
|
||||
else if( name == L"if-one-no" ) ReadDirectiveIfoneno(item);
|
||||
else if( name == L"if-index" ) ReadDirectiveIfindex(item);
|
||||
else if( name == L"is" ) ReadDirectiveIs(item);
|
||||
else if( name == L"is-no" ) ReadDirectiveIsno(item);
|
||||
else if( name == L"end" ) ReadDirectiveEnd(item);
|
||||
else if( name == L"else" ) ReadDirectiveElse(item);
|
||||
else if( name == L"for" ) ReadDirectiveFor(item);
|
||||
@@ -1043,10 +998,7 @@ void PatternParser::CreateTree(Item & item)
|
||||
pitem->type == Item::item_ifany ||
|
||||
pitem->type == Item::item_ifone ||
|
||||
pitem->type == Item::item_ifanyno ||
|
||||
pitem->type == Item::item_ifoneno ||
|
||||
pitem->type == Item::item_ifindex ||
|
||||
pitem->type == Item::item_is ||
|
||||
pitem->type == Item::item_isno )
|
||||
pitem->type == Item::item_ifoneno )
|
||||
CreateTreeReadIf(*pitem);
|
||||
|
||||
if( pitem->type == Item::item_for ||
|
||||
|
Reference in New Issue
Block a user