changed: the way how functions' arguments are parsed

now this [fun1 fun2 "something" fun3]
         will call fun1 with three arguments: fun2, "something" and fun3
         and this [fun1 [fun2 "something"] fun3]
         will call fun1 with two arguments: [fun2 "something] and fun3
         "something" is an argument for fun2 function
removed: statements: [if-one] [if-any] [if-no] [if-any-no] [if-one-no]



git-svn-id: svn://ttmath.org/publicrep/ezc/trunk@1004 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2015-03-08 02:31:21 +00:00
parent b519c79a3e
commit 6b42cdf76e
7 changed files with 256 additions and 406 deletions
+7 -11
View File
@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2007-2014, Tomasz Sowa
* Copyright (c) 2007-2015, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -130,9 +130,6 @@ private:
// temporary object for a file name
std::string afile_name;
// temporary object for a EZC function's parameter
std::wstring temp_param;
// temporary object for a EZC function
Item::Function temp_function;
@@ -150,7 +147,9 @@ private:
int ReadCharInText();
bool IsWhite(wchar_t c);
void SkipWhite();
void SkipOneStatement();
void CheckWhiteAndDelete(std::wstring & s);
void CheckFunctionIsNumber(Item::Function & function);
bool IsNameChar(wchar_t c);
bool IsDigit(wchar_t c);
@@ -158,16 +157,13 @@ private:
bool ReadName(std::wstring & name);
bool ReadString(std::wstring & str);
bool ReadNestedFunction(Item::Function & function);
bool ReadParamString(Item::Function & function);
bool ReadParams(Item::Function & function);
bool ReadFunction(Item::Function & function);
bool ReadFunctions(Item & item);
bool ReadFunction(Item::Function & function, bool with_params);
bool ReadFunction(Item & item);
void ReadDirectiveIf(Item & item);
void ReadDirectiveIfno(Item & item);
void ReadDirectiveIfany(Item & item);
void ReadDirectiveIfone(Item & item);
void ReadDirectiveIfanyno(Item & item);
void ReadDirectiveIfoneno(Item & item);
void ReadDirectiveEnd(Item & item);
void ReadDirectiveElse(Item & item);
void ReadDirectiveFor(Item & item);