Recovered from cvs revision 2007-06-19 03:59:00

This commit is contained in:
hyung-hwan 2007-06-19 13:14:00 +00:00
parent fdb13f1536
commit 2bf9b055e6
6 changed files with 45 additions and 23 deletions

View File

@ -17,10 +17,6 @@
<Projects Name="asetestawk++.exe">test\awk\asetestawk++.bdsproj</Projects> <Projects Name="asetestawk++.exe">test\awk\asetestawk++.bdsproj</Projects>
<Projects Name="Targets">asecmn.lib aseawk.lib aseawk++.lib aseutl.lib asetestawk.exe asetestawk++.exe</Projects> <Projects Name="Targets">asecmn.lib aseawk.lib aseawk++.lib aseutl.lib asetestawk.exe asetestawk++.exe</Projects>
</Projects> </Projects>
<Dependencies> <Dependencies/>
<Dependency GUID="{F0848980-053C-44B1-B7A0-4C834C1EB585}">
<Dependency GUID="{ECF01FD9-EC35-4278-B781-5106BC34F70E}"/>
</Dependency>
</Dependencies>
</Default.Personality> </Default.Personality>
</BorlandProject> </BorlandProject>

View File

@ -1,5 +1,5 @@
/* /*
* $Id: awk.h,v 1.6 2007/06/17 14:54:10 bacon Exp $ * $Id: awk.h,v 1.7 2007/06/18 14:05:18 bacon Exp $
* *
* {License} * {License}
*/ */
@ -414,7 +414,7 @@ void ase_awk_setoption (ase_awk_t* awk, int opt);
ase_size_t ase_awk_getmaxdepth (ase_awk_t* awk, int type); ase_size_t ase_awk_getmaxdepth (ase_awk_t* awk, int type);
void ase_awk_setmaxdepth (ase_awk_t* awk, int types, ase_size_t depth); void ase_awk_setmaxdepth (ase_awk_t* awk, int types, ase_size_t depth);
int ase_awk_setkeyword (ase_awk_t* awk, int ase_awk_setword (ase_awk_t* awk,
const ase_char_t* okw, ase_size_t olen, const ase_char_t* okw, ase_size_t olen,
const ase_char_t* nkw, ase_size_t nlen); const ase_char_t* nkw, ase_size_t nlen);

View File

@ -1,5 +1,5 @@
/* /*
* $Id: func.c,v 1.5 2007/05/28 13:54:47 bacon Exp $ * $Id: func.c,v 1.7 2007/06/18 14:26:30 bacon Exp $
* *
* {License} * {License}
*/ */
@ -156,14 +156,28 @@ ase_awk_bfn_t* ase_awk_getbfn (
ase_awk_t* awk, const ase_char_t* name, ase_size_t len) ase_awk_t* awk, const ase_char_t* name, ase_size_t len)
{ {
ase_awk_bfn_t* p; ase_awk_bfn_t* p;
ase_awk_pair_t* pair;
const ase_char_t* k;
ase_size_t l;
for (p = __sys_bfn; p->name.ptr != ASE_NULL; p++) for (p = __sys_bfn; p->name.ptr != ASE_NULL; p++)
{ {
if (p->valid != 0 && if (p->valid != 0 &&
(awk->option & p->valid) == 0) continue; (awk->option & p->valid) == 0) continue;
if (ase_strxncmp ( pair = ase_awk_map_get (awk->kwtab, p->name.ptr, p->name.len);
p->name.ptr, p->name.len, name, len) == 0) return p; if (pair != ASE_NULL)
{
k = ((ase_cstr_t*)(pair->val))->ptr;
l = ((ase_cstr_t*)(pair->val))->len;
}
else
{
k = p->name.ptr;
l = p->name.len;
}
if (ase_strxncmp (k, l, name, len) == 0) return p;
} }
for (p = awk->bfn.user; p != ASE_NULL; p = p->next) for (p = awk->bfn.user; p != ASE_NULL; p = p->next)
@ -171,8 +185,19 @@ ase_awk_bfn_t* ase_awk_getbfn (
if (p->valid != 0 && if (p->valid != 0 &&
(awk->option & p->valid) == 0) continue; (awk->option & p->valid) == 0) continue;
if (ase_strxncmp ( pair = ase_awk_map_get (awk->kwtab, p->name.ptr, p->name.len);
p->name.ptr, p->name.len, name, len) == 0) return p; if (pair != ASE_NULL)
{
k = ((ase_cstr_t*)(pair->val))->ptr;
l = ((ase_cstr_t*)(pair->val))->len;
}
else
{
k = p->name.ptr;
l = p->name.len;
}
if (ase_strxncmp (k, l, name, len) == 0) return p;
} }
return ASE_NULL; return ASE_NULL;

View File

@ -1,5 +1,5 @@
/* /*
* $Id: parse.c,v 1.7 2007/06/17 15:29:29 bacon Exp $ * $Id: parse.c,v 1.8 2007/06/18 14:05:18 bacon Exp $
* *
* {License} * {License}
*/ */
@ -398,7 +398,7 @@ const ase_char_t* ase_awk_getglobalname (
} }
int ase_awk_setkeyword (ase_awk_t* awk, int ase_awk_setword (ase_awk_t* awk,
const ase_char_t* okw, ase_size_t olen, const ase_char_t* okw, ase_size_t olen,
const ase_char_t* nkw, ase_size_t nlen) const ase_char_t* nkw, ase_size_t nlen)
{ {
@ -4772,7 +4772,6 @@ static int classify_ident (
kwent_t* kwp; kwent_t* kwp;
ase_awk_pair_t* pair; ase_awk_pair_t* pair;
for (kwp = kwtab; kwp->name != ASE_NULL; kwp++) for (kwp = kwtab; kwp->name != ASE_NULL; kwp++)
{ {
const ase_char_t* k; const ase_char_t* k;

View File

@ -1,6 +1,8 @@
[0.2.1] [0.2.1]
* changed the wrong macro name WIN32 to _WIN32 in utl/stdio.h * changed the wrong macro name WIN32 to _WIN32 in utl/stdio.h
* added ase_awk_setword to enable customization of keywords and
implicit function names.
[0.2.0] [0.2.0]

View File

@ -215,7 +215,7 @@
<Debugging Name="DebugSourceDirs"></Debugging> <Debugging Name="DebugSourceDirs"></Debugging>
</Debugging> </Debugging>
<Parameters> <Parameters>
<Parameters Name="RunParams">arg.awk ""</Parameters> <Parameters Name="RunParams">-f arg.awk ""</Parameters>
<Parameters Name="Launcher"></Parameters> <Parameters Name="Launcher"></Parameters>
<Parameters Name="UseLauncher">True</Parameters> <Parameters Name="UseLauncher">True</Parameters>
<Parameters Name="DebugCWD">C:\projects\ase\test\awk</Parameters> <Parameters Name="DebugCWD">C:\projects\ase\test\awk</Parameters>
@ -248,16 +248,16 @@
</IDEOPTIONS> </IDEOPTIONS>
</BCBPROJECT> </BCBPROJECT>
<buildevents> <buildevents>
<buildevent file="aseawk.bdsproj"> <buildevent file="aseawk.bdsproj">
<precompile mode="0" cancancel="0" capture="-1" showconsole="0">mkdir $(PROJECTDIR)..\..\release\win32\bds <precompile mode="0" cancancel="0" capture="-1" showconsole="0">mkdir $(PROJECTDIR)..\..\release\win32\bds
mkdir $(PROJECTDIR)..\..\debug\win32\bds mkdir $(PROJECTDIR)..\..\debug\win32\bds
</precompile> </precompile>
</buildevent> </buildevent>
<buildevent file="asetestawk.bdsproj"> <buildevent file="asetestawk.bdsproj">
<precompile mode="0" cancancel="0" capture="-1" showconsole="0">mkdir $(PROJECTDIR)..\release\bin <precompile mode="0" cancancel="0" capture="-1" showconsole="0">mkdir $(PROJECTDIR)..\release\bin
mkdir $(PROJECTDIR)..\debug\bin mkdir $(PROJECTDIR)..\debug\bin
</precompile> </precompile>
</buildevent> </buildevent>
</buildevents> </buildevents>
</CPlusPlusBuilder.Personality> </CPlusPlusBuilder.Personality>
</BorlandProject> </BorlandProject>