Recovered from cvs revision 2007-05-29 15:08:00
This commit is contained in:
		| @ -39,13 +39,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asetestlsp", "test\lsp\aset | |||||||
| 		{42FE7CED-34B7-45C8-92C9-8856E16640D2} = {42FE7CED-34B7-45C8-92C9-8856E16640D2} | 		{42FE7CED-34B7-45C8-92C9-8856E16640D2} = {42FE7CED-34B7-45C8-92C9-8856E16640D2} | ||||||
| 	EndProjectSection | 	EndProjectSection | ||||||
| EndProject | EndProject | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "asetestcnt", "test\cnt\asetestcnt.csproj", "{F14B75D8-3ED7-4621-B5B9-E96A80B5D809}" |  | ||||||
| EndProject |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "asecnt", "cnt\asecnt.csproj", "{7F679165-41FB-4E1E-B3F5-23C5EE94166A}" |  | ||||||
| 	ProjectSection(ProjectDependencies) = postProject |  | ||||||
| 		{963AF7B5-12E6-42B6-8CBE-89136C1A109B} = {963AF7B5-12E6-42B6-8CBE-89136C1A109B} |  | ||||||
| 	EndProjectSection |  | ||||||
| EndProject |  | ||||||
| Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aseawk++", "awk\aseawk++.vcproj", "{E7A8B741-4E9D-4ED4-9F77-E7F637A678A5}" | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aseawk++", "awk\aseawk++.vcproj", "{E7A8B741-4E9D-4ED4-9F77-E7F637A678A5}" | ||||||
| 	ProjectSection(ProjectDependencies) = postProject | 	ProjectSection(ProjectDependencies) = postProject | ||||||
| 		{5F2E77D5-1485-48D1-9371-987BC55FEE83} = {5F2E77D5-1485-48D1-9371-987BC55FEE83} | 		{5F2E77D5-1485-48D1-9371-987BC55FEE83} = {5F2E77D5-1485-48D1-9371-987BC55FEE83} | ||||||
| @ -57,8 +50,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asetestawk++", "test\awk\as | |||||||
| 		{57F1E1D0-28B6-42BF-BAFB-045AEE2DCF4F} = {57F1E1D0-28B6-42BF-BAFB-045AEE2DCF4F} | 		{57F1E1D0-28B6-42BF-BAFB-045AEE2DCF4F} = {57F1E1D0-28B6-42BF-BAFB-045AEE2DCF4F} | ||||||
| 	EndProjectSection | 	EndProjectSection | ||||||
| EndProject | EndProject | ||||||
| Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asenet", "net\asenet.vcproj", "{A63E9DF9-1D47-4D81-834C-1D40406C18C4}" |  | ||||||
| EndProject |  | ||||||
| Global | Global | ||||||
| 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||||
| 		Debug|Any CPU = Debug|Any CPU | 		Debug|Any CPU = Debug|Any CPU | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| /* | /* | ||||||
|  * $Id: Awk.cpp,v 1.38 2007/05/25 11:49:42 bacon Exp $ |  * $Id: Awk.cpp,v 1.40 2007/05/28 13:53:31 bacon Exp $ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include <ase/awk/Awk.hpp> | #include <ase/awk/Awk.hpp> | ||||||
| @ -364,7 +364,7 @@ namespace ASE | |||||||
| 	{ | 	{ | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	int Awk::Run::stop () | 	int Awk::Run::stop () const | ||||||
| 	{ | 	{ | ||||||
| 		ASE_ASSERT (this->run != ASE_NULL); | 		ASE_ASSERT (this->run != ASE_NULL); | ||||||
| 		return ase_awk_stop (this->run); | 		return ase_awk_stop (this->run); | ||||||
| @ -566,7 +566,7 @@ namespace ASE | |||||||
| 		ase_awk_setmaxdepth (awk, ids, depth); | 		ase_awk_setmaxdepth (awk, ids, depth); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	int Awk::getMaxDepth (int id) | 	int Awk::getMaxDepth (int id) const | ||||||
| 	{ | 	{ | ||||||
| 		ASE_ASSERT (awk != ASE_NULL); | 		ASE_ASSERT (awk != ASE_NULL); | ||||||
| 		return ase_awk_getmaxdepth (awk, id); | 		return ase_awk_getmaxdepth (awk, id); | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| /* | /* | ||||||
|  * $Id: Awk.hpp,v 1.36 2007/05/25 11:49:42 bacon Exp $ |  * $Id: Awk.hpp,v 1.38 2007/05/28 13:53:31 bacon Exp $ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #ifndef _ASE_AWK_AWK_HPP_ | #ifndef _ASE_AWK_AWK_HPP_ | ||||||
| @ -363,7 +363,7 @@ namespace ASE | |||||||
| 			Run (Awk* awk); | 			Run (Awk* awk); | ||||||
|  |  | ||||||
| 		public: | 		public: | ||||||
| 			int stop (); | 			int stop () const; | ||||||
|  |  | ||||||
| 			ErrorCode getErrorCode () const; | 			ErrorCode getErrorCode () const; | ||||||
| 			size_t getErrorLine () const; | 			size_t getErrorLine () const; | ||||||
| @ -407,7 +407,7 @@ namespace ASE | |||||||
| 		}; | 		}; | ||||||
|  |  | ||||||
| 		virtual void setMaxDepth (int ids, size_t depth); | 		virtual void setMaxDepth (int ids, size_t depth); | ||||||
| 		virtual int  getMaxDepth (int id); | 		virtual int  getMaxDepth (int id) const; | ||||||
|  |  | ||||||
| 		virtual int parse (); | 		virtual int parse (); | ||||||
| 		virtual int run (const char_t* main = ASE_NULL,  | 		virtual int run (const char_t* main = ASE_NULL,  | ||||||
|  | |||||||
| @ -1,23 +1,23 @@ | |||||||
| /* | /* | ||||||
|  * $Id: func.c,v 1.4 2007/05/05 16:32:46 bacon Exp $ |  * $Id: func.c,v 1.5 2007/05/28 13:54:47 bacon Exp $ | ||||||
|  * |  * | ||||||
|  * {License} |  * {License} | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include <ase/awk/awk_i.h> | #include <ase/awk/awk_i.h> | ||||||
|  |  | ||||||
| static int __bfn_close   (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_close   (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
| static int __bfn_fflush  (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_fflush  (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
| static int __bfn_index   (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_index   (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
| static int __bfn_length  (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_length  (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
| static int __bfn_substr  (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_substr  (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
| static int __bfn_split   (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_split   (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
| static int __bfn_tolower (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_tolower (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
| static int __bfn_toupper (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_toupper (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
| static int __bfn_gsub    (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_gsub    (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
| static int __bfn_sub     (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_sub     (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
| static int __bfn_match   (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_match   (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
| static int __bfn_sprintf (ase_awk_run_t*, const ase_char_t*, ase_size_t); | static int bfn_sprintf (ase_awk_run_t*, const ase_char_t*, ase_size_t); | ||||||
|  |  | ||||||
| #undef MAX | #undef MAX | ||||||
| #define MAX ASE_TYPE_UNSIGNED_MAX(ase_size_t) | #define MAX ASE_TYPE_UNSIGNED_MAX(ase_size_t) | ||||||
| @ -25,20 +25,20 @@ static int __bfn_sprintf (ase_awk_run_t*, const ase_char_t*, ase_size_t); | |||||||
| static ase_awk_bfn_t __sys_bfn[] =  | static ase_awk_bfn_t __sys_bfn[] =  | ||||||
| { | { | ||||||
| 	/* io functions */ | 	/* io functions */ | ||||||
| 	{ {ASE_T("close"),   5}, ASE_AWK_EXTIO, {1, 1, ASE_NULL}, __bfn_close}, | 	{ {ASE_T("close"),   5}, ASE_AWK_EXTIO, {1, 1, ASE_NULL}, bfn_close}, | ||||||
| 	{ {ASE_T("fflush"),  6}, ASE_AWK_EXTIO, {0, 1, ASE_NULL}, __bfn_fflush}, | 	{ {ASE_T("fflush"),  6}, ASE_AWK_EXTIO, {0, 1, ASE_NULL}, bfn_fflush}, | ||||||
|  |  | ||||||
| 	/* string functions */ | 	/* string functions */ | ||||||
| 	{ {ASE_T("index"),   5}, 0,  {2,   2, ASE_NULL},     __bfn_index}, | 	{ {ASE_T("index"),   5}, 0,  {2,   2, ASE_NULL},     bfn_index}, | ||||||
| 	{ {ASE_T("substr"),  6}, 0,  {2,   3, ASE_NULL},     __bfn_substr}, | 	{ {ASE_T("substr"),  6}, 0,  {2,   3, ASE_NULL},     bfn_substr}, | ||||||
| 	{ {ASE_T("length"),  6}, 0,  {1,   1, ASE_NULL},     __bfn_length}, | 	{ {ASE_T("length"),  6}, 0,  {1,   1, ASE_NULL},     bfn_length}, | ||||||
| 	{ {ASE_T("split"),   5}, 0,  {2,   3, ASE_T("vrv")}, __bfn_split}, | 	{ {ASE_T("split"),   5}, 0,  {2,   3, ASE_T("vrv")}, bfn_split}, | ||||||
| 	{ {ASE_T("tolower"), 7}, 0,  {1,   1, ASE_NULL},     __bfn_tolower}, | 	{ {ASE_T("tolower"), 7}, 0,  {1,   1, ASE_NULL},     bfn_tolower}, | ||||||
| 	{ {ASE_T("toupper"), 7}, 0,  {1,   1, ASE_NULL},     __bfn_toupper}, | 	{ {ASE_T("toupper"), 7}, 0,  {1,   1, ASE_NULL},     bfn_toupper}, | ||||||
| 	{ {ASE_T("gsub"),    4}, 0,  {2,   3, ASE_T("xvr")}, __bfn_gsub}, | 	{ {ASE_T("gsub"),    4}, 0,  {2,   3, ASE_T("xvr")}, bfn_gsub}, | ||||||
| 	{ {ASE_T("sub"),     3}, 0,  {2,   3, ASE_T("xvr")}, __bfn_sub}, | 	{ {ASE_T("sub"),     3}, 0,  {2,   3, ASE_T("xvr")}, bfn_sub}, | ||||||
| 	{ {ASE_T("match"),   5}, 0,  {2,   2, ASE_T("vx")},  __bfn_match}, | 	{ {ASE_T("match"),   5}, 0,  {2,   2, ASE_T("vx")},  bfn_match}, | ||||||
| 	{ {ASE_T("sprintf"), 7}, 0,  {1, MAX, ASE_NULL},     __bfn_sprintf}, | 	{ {ASE_T("sprintf"), 7}, 0,  {1, MAX, ASE_NULL},     bfn_sprintf}, | ||||||
|  |  | ||||||
| 	{ {ASE_NULL,         0}, 0,  {0,   0, ASE_NULL},     ASE_NULL} | 	{ {ASE_NULL,         0}, 0,  {0,   0, ASE_NULL},     ASE_NULL} | ||||||
| }; | }; | ||||||
| @ -178,7 +178,7 @@ ase_awk_bfn_t* ase_awk_getbfn ( | |||||||
| 	return ASE_NULL; | 	return ASE_NULL; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_close ( | static int bfn_close ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| { | { | ||||||
| 	ase_size_t nargs; | 	ase_size_t nargs; | ||||||
| @ -289,7 +289,7 @@ static int __flush_extio ( | |||||||
| 	return n; | 	return n; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_fflush ( | static int bfn_fflush ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| { | { | ||||||
| 	ase_size_t nargs; | 	ase_size_t nargs; | ||||||
| @ -376,7 +376,7 @@ skip_flush: | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_index ( | static int bfn_index ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| { | { | ||||||
| 	ase_size_t nargs; | 	ase_size_t nargs; | ||||||
| @ -439,7 +439,7 @@ static int __bfn_index ( | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_length ( | static int bfn_length ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| { | { | ||||||
| 	ase_size_t nargs; | 	ase_size_t nargs; | ||||||
| @ -474,7 +474,7 @@ static int __bfn_length ( | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_substr ( | static int bfn_substr ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| { | { | ||||||
| 	ase_size_t nargs; | 	ase_size_t nargs; | ||||||
| @ -545,7 +545,7 @@ static int __bfn_substr ( | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_split ( | static int bfn_split ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| { | { | ||||||
| 	ase_size_t nargs; | 	ase_size_t nargs; | ||||||
| @ -797,7 +797,7 @@ static int __bfn_split ( | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_tolower ( | static int bfn_tolower ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| { | { | ||||||
| 	ase_size_t nargs; | 	ase_size_t nargs; | ||||||
| @ -837,7 +837,7 @@ static int __bfn_tolower ( | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_toupper ( | static int bfn_toupper ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| { | { | ||||||
| 	ase_size_t nargs; | 	ase_size_t nargs; | ||||||
| @ -1167,19 +1167,19 @@ static int __substitute (ase_awk_run_t* run, ase_long_t max_count) | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_gsub ( | static int bfn_gsub ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| { | { | ||||||
| 	return __substitute (run, 0); | 	return __substitute (run, 0); | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_sub ( | static int bfn_sub ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| { | { | ||||||
| 	return __substitute (run, 1); | 	return __substitute (run, 1); | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_match ( | static int bfn_match ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| { | { | ||||||
| 	ase_size_t nargs; | 	ase_size_t nargs; | ||||||
| @ -1298,7 +1298,7 @@ static int __bfn_match ( | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int __bfn_sprintf ( | static int bfn_sprintf ( | ||||||
| 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | 	ase_awk_run_t* run, const ase_char_t* fnm, ase_size_t fnl) | ||||||
| {	 | {	 | ||||||
| 	ase_size_t nargs; | 	ase_size_t nargs; | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| /* | /* | ||||||
|  * $Id: run.c,v 1.7 2007/05/19 16:45:27 bacon Exp $ |  * $Id: run.c,v 1.8 2007/05/28 13:53:31 bacon Exp $ | ||||||
|  * |  * | ||||||
|  * {License} |  * {License} | ||||||
|  */ |  */ | ||||||
| @ -1719,12 +1719,17 @@ static int __run_block0 (ase_awk_run_t* run, ase_awk_nde_blk_t* nde) | |||||||
| 	return n; | 	return n; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | #define ON_STATEMENT(run,nde) \ | ||||||
|  | 	if ((run)->cbs != ASE_NULL &&  \ | ||||||
|  | 	    (run)->cbs->on_statement != ASE_NULL) \ | ||||||
|  | 	{ \ | ||||||
|  | 		(run)->cbs->on_statement ( \ | ||||||
|  | 			run, (nde)->line, (run)->custom_data); \ | ||||||
|  | 	}  | ||||||
|  |  | ||||||
| static int __run_statement (ase_awk_run_t* run, ase_awk_nde_t* nde) | static int __run_statement (ase_awk_run_t* run, ase_awk_nde_t* nde) | ||||||
| { | { | ||||||
| 	if (run->cbs != ASE_NULL && run->cbs->on_statement != ASE_NULL) | 	ON_STATEMENT (run, nde); | ||||||
| 	{ |  | ||||||
| 		run->cbs->on_statement (run, nde->line, run->custom_data); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	switch (nde->type)  | 	switch (nde->type)  | ||||||
| 	{ | 	{ | ||||||
| @ -1889,6 +1894,8 @@ static int __run_while (ase_awk_run_t* run, ase_awk_nde_while_t* nde) | |||||||
|  |  | ||||||
| 		while (1) | 		while (1) | ||||||
| 		{ | 		{ | ||||||
|  | 			ON_STATEMENT (run, nde->test); | ||||||
|  |  | ||||||
| 			test = __eval_expression (run, nde->test); | 			test = __eval_expression (run, nde->test); | ||||||
| 			if (test == ASE_NULL) return -1; | 			if (test == ASE_NULL) return -1; | ||||||
|  |  | ||||||
| @ -1920,6 +1927,7 @@ static int __run_while (ase_awk_run_t* run, ase_awk_nde_while_t* nde) | |||||||
| 				run->exit_level = EXIT_NONE; | 				run->exit_level = EXIT_NONE; | ||||||
| 			} | 			} | ||||||
| 			else if (run->exit_level != EXIT_NONE) break; | 			else if (run->exit_level != EXIT_NONE) break; | ||||||
|  |  | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	else if (nde->type == ASE_AWK_NDE_DOWHILE) | 	else if (nde->type == ASE_AWK_NDE_DOWHILE) | ||||||
| @ -1943,6 +1951,8 @@ static int __run_while (ase_awk_run_t* run, ase_awk_nde_while_t* nde) | |||||||
| 			} | 			} | ||||||
| 			else if (run->exit_level != EXIT_NONE) break; | 			else if (run->exit_level != EXIT_NONE) break; | ||||||
|  |  | ||||||
|  | 			ON_STATEMENT (run, nde->test); | ||||||
|  |  | ||||||
| 			test = __eval_expression (run, nde->test); | 			test = __eval_expression (run, nde->test); | ||||||
| 			if (test == ASE_NULL) return -1; | 			if (test == ASE_NULL) return -1; | ||||||
|  |  | ||||||
| @ -1969,6 +1979,8 @@ static int __run_for (ase_awk_run_t* run, ase_awk_nde_for_t* nde) | |||||||
| 	if (nde->init != ASE_NULL) | 	if (nde->init != ASE_NULL) | ||||||
| 	{ | 	{ | ||||||
| 		ASE_ASSERT (nde->init->next == ASE_NULL); | 		ASE_ASSERT (nde->init->next == ASE_NULL); | ||||||
|  |  | ||||||
|  | 		ON_STATEMENT (run, nde->init); | ||||||
| 		val = __eval_expression(run,nde->init); | 		val = __eval_expression(run,nde->init); | ||||||
| 		if (val == ASE_NULL) return -1; | 		if (val == ASE_NULL) return -1; | ||||||
|  |  | ||||||
| @ -1986,6 +1998,7 @@ static int __run_for (ase_awk_run_t* run, ase_awk_nde_for_t* nde) | |||||||
| 			 * the for statement are allowed */ | 			 * the for statement are allowed */ | ||||||
| 			ASE_ASSERT (nde->test->next == ASE_NULL); | 			ASE_ASSERT (nde->test->next == ASE_NULL); | ||||||
|  |  | ||||||
|  | 			ON_STATEMENT (run, nde->test); | ||||||
| 			test = __eval_expression (run, nde->test); | 			test = __eval_expression (run, nde->test); | ||||||
| 			if (test == ASE_NULL) return -1; | 			if (test == ASE_NULL) return -1; | ||||||
|  |  | ||||||
| @ -2025,7 +2038,9 @@ static int __run_for (ase_awk_run_t* run, ase_awk_nde_for_t* nde) | |||||||
| 		if (nde->incr != ASE_NULL) | 		if (nde->incr != ASE_NULL) | ||||||
| 		{ | 		{ | ||||||
| 			ASE_ASSERT (nde->incr->next == ASE_NULL); | 			ASE_ASSERT (nde->incr->next == ASE_NULL); | ||||||
| 			val = __eval_expression(run,nde->incr); |  | ||||||
|  | 			ON_STATEMENT (run, nde->incr); | ||||||
|  | 			val = __eval_expression (run, nde->incr); | ||||||
| 			if (val == ASE_NULL) return -1; | 			if (val == ASE_NULL) return -1; | ||||||
|  |  | ||||||
| 			ase_awk_refupval (run, val); | 			ase_awk_refupval (run, val); | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ | |||||||
|     <ProjectGuid>{7F679165-41FB-4E1E-B3F5-23C5EE94166A}</ProjectGuid> |     <ProjectGuid>{7F679165-41FB-4E1E-B3F5-23C5EE94166A}</ProjectGuid> | ||||||
|     <OutputType>Library</OutputType> |     <OutputType>Library</OutputType> | ||||||
|     <AppDesignerFolder>Properties</AppDesignerFolder> |     <AppDesignerFolder>Properties</AppDesignerFolder> | ||||||
|     <RootNamespace>AESCNT</RootNamespace> |     <RootNamespace>ASECNT</RootNamespace> | ||||||
|     <AssemblyName>asecnt</AssemblyName> |     <AssemblyName>asecnt</AssemblyName> | ||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | ||||||
| @ -55,4 +55,4 @@ | |||||||
|   <Target Name="AfterBuild"> |   <Target Name="AfterBuild"> | ||||||
|   </Target> |   </Target> | ||||||
|   --> |   --> | ||||||
| </Project> | </Project> | ||||||
|  | |||||||
| @ -10,10 +10,9 @@ ASE is a programming library implementing various programming languages and text | |||||||
|  |  | ||||||
| Download the library source code from the following links. | Download the library source code from the following links. | ||||||
|  |  | ||||||
| ase-0.1.0.tgz | ase-0.2.0.tgz | ||||||
| [[[ | [[[ | ||||||
| * {Link 1,ase-0.1.0.tgz} | * {Link 1,ase-0.2.0.tgz} | ||||||
| * Link 2 |  | ||||||
| ]]] | ]]] | ||||||
|  |  | ||||||
| == Documentation == | == Documentation == | ||||||
|  | |||||||
| @ -10,9 +10,9 @@ ASE는 임베딩을 목적으로 여러가지 프로그래밍언어를 구현하 | |||||||
|  |  | ||||||
| 다음 링크에서 소스코드를 받을수 있다. | 다음 링크에서 소스코드를 받을수 있다. | ||||||
|  |  | ||||||
| ase-0.1.0.tgz | ase-0.2.0.tgz | ||||||
| [[[ | [[[ | ||||||
| * {링크 1,ase-0.1.0.tgz} | * {링크 1,ase-0.2.0.tgz} | ||||||
| * 링크 2 | * 링크 2 | ||||||
| ]]] | ]]] | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,15 +1,27 @@ | |||||||
| /* | /* | ||||||
|  * $Id: AseAwk.java,v 1.7 2007/05/26 10:23:52 bacon Exp $ |  * $Id: AseAwk.java,v 1.8 2007/05/28 10:29:57 bacon Exp $ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| import java.awt.*; | import java.awt.*; | ||||||
| import java.awt.event.*; | import java.awt.event.*; | ||||||
| import java.io.*; |  | ||||||
|  | import java.io.FileInputStream; | ||||||
|  | import java.io.FileOutputStream; | ||||||
|  | import java.io.Reader; | ||||||
|  | import java.io.Writer; | ||||||
|  | import java.io.BufferedReader; | ||||||
|  | import java.io.BufferedWriter; | ||||||
|  | import java.io.InputStreamReader; | ||||||
|  | import java.io.OutputStreamWriter; | ||||||
|  | import java.io.IOException; | ||||||
|  |  | ||||||
| import java.util.LinkedList; | import java.util.LinkedList; | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.Iterator; | import java.util.Iterator; | ||||||
| import java.net.URL; | import java.net.URL; | ||||||
| import ase.awk.*; |  | ||||||
|  | import ase.awk.StdAwk; | ||||||
|  | import ase.awk.Console; | ||||||
|  |  | ||||||
| public class AseAwk extends StdAwk | public class AseAwk extends StdAwk | ||||||
| { | { | ||||||
|  | |||||||
| @ -78,10 +78,6 @@ | |||||||
|       <Project>{7F679165-41FB-4E1E-B3F5-23C5EE94166A}</Project> |       <Project>{7F679165-41FB-4E1E-B3F5-23C5EE94166A}</Project> | ||||||
|       <Name>asecnt</Name> |       <Name>asecnt</Name> | ||||||
|     </ProjectReference> |     </ProjectReference> | ||||||
|     <ProjectReference Include="..\..\net\asenet.vcproj"> |  | ||||||
|       <Project>{A63E9DF9-1D47-4D81-834C-1D40406C18C4}</Project> |  | ||||||
|       <Name>asenet</Name> |  | ||||||
|     </ProjectReference> |  | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> |   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> | ||||||
|   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  |   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  | ||||||
| @ -91,4 +87,4 @@ | |||||||
|   <Target Name="AfterBuild"> |   <Target Name="AfterBuild"> | ||||||
|   </Target> |   </Target> | ||||||
|   --> |   --> | ||||||
| </Project> | </Project> | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user