Recovered from cvs revision 2007-06-30 03:05:00

This commit is contained in:
2007-07-02 23:04:00 +00:00
parent 26a9dfe8f4
commit 8064c884fb
11 changed files with 300 additions and 173 deletions

View File

@ -1,5 +1,5 @@
/*
* $Id: Awk.hpp,v 1.43 2007/06/28 15:45:57 bacon Exp $
* $Id: Awk.hpp,v 1.44 2007/06/29 11:36:45 bacon Exp $
*/
#ifndef _ASE_AWK_AWK_HPP_
@ -239,6 +239,7 @@ namespace ASE
ERR_SOUTCL = ASE_AWK_ESOUTCL,
ERR_SOUTWR = ASE_AWK_ESOUTWR,
ERR_LXCHR = ASE_AWK_ELXCHR,
ERR_LXDIG = ASE_AWK_ELXDIG,
ERR_LXUNG = ASE_AWK_ELXUNG,
ERR_ENDSRC = ASE_AWK_EENDSRC,
ERR_ENDCMT = ASE_AWK_EENDCMT,

View File

@ -1,5 +1,5 @@
/*
* $Id: Exception.java,v 1.4 2007/06/25 14:13:23 bacon Exp $
* $Id: Exception.java,v 1.5 2007/06/29 11:36:45 bacon Exp $
*
* {License}
*/
@ -43,100 +43,101 @@ public class Exception extends java.lang.Exception
public static final int SOUTCL = 28;
public static final int SOUTWR = 29;
public static final int LXCHR = 30;
public static final int LXUNG = 31;
public static final int ENDSRC = 32;
public static final int ENDCMT = 33;
public static final int ENDSTR = 34;
public static final int ENDREX = 35;
public static final int LBRACE = 36;
public static final int LPAREN = 37;
public static final int RPAREN = 38;
public static final int RBRACK = 39;
public static final int COMMA = 40;
public static final int SCOLON = 41;
public static final int COLON = 42;
public static final int STMEND = 43;
public static final int IN = 44;
public static final int NOTVAR = 45;
public static final int EXPRES = 46;
public static final int WHILE = 47;
public static final int ASSIGN = 48;
public static final int IDENT = 49;
public static final int FNNAME = 50;
public static final int BLKBEG = 51;
public static final int BLKEND = 52;
public static final int DUPBEG = 53;
public static final int DUPEND = 54;
public static final int BFNRED = 55;
public static final int AFNRED = 56;
public static final int GBLRED = 57;
public static final int PARRED = 58;
public static final int DUPPAR = 59;
public static final int DUPGBL = 60;
public static final int DUPLCL = 61;
public static final int BADPAR = 62;
public static final int BADVAR = 63;
public static final int UNDEF = 64;
public static final int LVALUE = 65;
public static final int GBLTM = 66;
public static final int LCLTM = 67;
public static final int PARTM = 68;
public static final int DELETE = 69;
public static final int BREAK = 70;
public static final int CONTINUE = 71;
public static final int NEXTBEG = 72;
public static final int NEXTEND = 73;
public static final int NEXTFBEG = 74;
public static final int NEXTFEND = 75;
public static final int PRINTFARG = 76;
public static final int PREPST = 77;
public static final int GLNCPS = 78;
public static final int DIVBY0 = 79;
public static final int OPERAND = 80;
public static final int POSIDX = 81;
public static final int ARGTF = 82;
public static final int ARGTM = 83;
public static final int FNNONE = 84;
public static final int NOTIDX = 85;
public static final int NOTDEL = 86;
public static final int NOTMAP = 87;
public static final int NOTMAPIN = 88;
public static final int NOTMAPNILIN = 89;
public static final int NOTREF = 90;
public static final int NOTASS = 91;
public static final int IDXVALASSMAP = 92;
public static final int POSVALASSMAP = 93;
public static final int MAPTOSCALAR = 94;
public static final int SCALARTOMAP = 95;
public static final int MAPNOTALLOWED = 96;
public static final int VALTYPE = 97;
public static final int RDELETE = 98;
public static final int RNEXTBEG = 99;
public static final int RNEXTEND = 100;
public static final int RNEXTFBEG = 101;
public static final int RNEXTFEND = 102;
public static final int BFNUSER = 103;
public static final int BFNIMPL = 104;
public static final int IOUSER = 105;
public static final int IONONE = 106;
public static final int IOIMPL = 107;
public static final int IONMEM = 108;
public static final int IONMNL = 109;
public static final int FMTARG = 110;
public static final int FMTCNV = 111;
public static final int CONVFMTCHR = 112;
public static final int OFMTCHR = 113;
public static final int REXRECUR = 114;
public static final int REXRPAREN = 115;
public static final int REXRBRACKET = 116;
public static final int REXRBRACE = 117;
public static final int REXUNBALPAR = 118;
public static final int REXCOLON = 119;
public static final int REXCRANGE = 120;
public static final int REXCCLASS = 121;
public static final int REXBRANGE = 122;
public static final int REXEND = 123;
public static final int REXGARBAGE = 124;
public static final int LXDIG = 31;
public static final int LXUNG = 32;
public static final int ENDSRC = 33;
public static final int ENDCMT = 34;
public static final int ENDSTR = 35;
public static final int ENDREX = 36;
public static final int LBRACE = 37;
public static final int LPAREN = 38;
public static final int RPAREN = 39;
public static final int RBRACK = 40;
public static final int COMMA = 41;
public static final int SCOLON = 42;
public static final int COLON = 43;
public static final int STMEND = 44;
public static final int IN = 45;
public static final int NOTVAR = 46;
public static final int EXPRES = 47;
public static final int WHILE = 48;
public static final int ASSIGN = 49;
public static final int IDENT = 50;
public static final int FNNAME = 51;
public static final int BLKBEG = 52;
public static final int BLKEND = 53;
public static final int DUPBEG = 54;
public static final int DUPEND = 55;
public static final int BFNRED = 56;
public static final int AFNRED = 57;
public static final int GBLRED = 58;
public static final int PARRED = 59;
public static final int DUPPAR = 60;
public static final int DUPGBL = 61;
public static final int DUPLCL = 62;
public static final int BADPAR = 63;
public static final int BADVAR = 64;
public static final int UNDEF = 65;
public static final int LVALUE = 66;
public static final int GBLTM = 67;
public static final int LCLTM = 68;
public static final int PARTM = 69;
public static final int DELETE = 70;
public static final int BREAK = 71;
public static final int CONTINUE = 72;
public static final int NEXTBEG = 73;
public static final int NEXTEND = 74;
public static final int NEXTFBEG = 75;
public static final int NEXTFEND = 76;
public static final int PRINTFARG = 77;
public static final int PREPST = 78;
public static final int GLNCPS = 79;
public static final int DIVBY0 = 80;
public static final int OPERAND = 81;
public static final int POSIDX = 82;
public static final int ARGTF = 83;
public static final int ARGTM = 84;
public static final int FNNONE = 85;
public static final int NOTIDX = 86;
public static final int NOTDEL = 87;
public static final int NOTMAP = 88;
public static final int NOTMAPIN = 89;
public static final int NOTMAPNILIN = 90;
public static final int NOTREF = 91;
public static final int NOTASS = 92;
public static final int IDXVALASSMAP = 93;
public static final int POSVALASSMAP = 94;
public static final int MAPTOSCALAR = 95;
public static final int SCALARTOMAP = 96;
public static final int MAPNOTALLOWED = 97;
public static final int VALTYPE = 98;
public static final int RDELETE = 99;
public static final int RNEXTBEG = 100;
public static final int RNEXTEND = 101;
public static final int RNEXTFBEG = 102;
public static final int RNEXTFEND = 103;
public static final int BFNUSER = 104;
public static final int BFNIMPL = 105;
public static final int IOUSER = 106;
public static final int IONONE = 107;
public static final int IOIMPL = 108;
public static final int IONMEM = 109;
public static final int IONMNL = 110;
public static final int FMTARG = 111;
public static final int FMTCNV = 112;
public static final int CONVFMTCHR = 113;
public static final int OFMTCHR = 114;
public static final int REXRECUR = 115;
public static final int REXRPAREN = 116;
public static final int REXRBRACKET = 117;
public static final int REXRBRACE = 118;
public static final int REXUNBALPAR = 119;
public static final int REXCOLON = 120;
public static final int REXCRANGE = 121;
public static final int REXCCLASS = 122;
public static final int REXBRANGE = 123;
public static final int REXEND = 124;
public static final int REXGARBAGE = 125;
// end of error codes
public Exception ()

View File

@ -1,5 +1,5 @@
/*
* $Id: awk.h,v 1.7 2007/06/18 14:05:18 bacon Exp $
* $Id: awk.h,v 1.8 2007/06/29 11:36:45 bacon Exp $
*
* {License}
*/
@ -233,6 +233,7 @@ enum ase_awk_errnum_t
ASE_AWK_ESOUTWR,
ASE_AWK_ELXCHR, /* lexer came accross an wrong character */
ASE_AWK_ELXDIG, /* invalid digit */
ASE_AWK_ELXUNG, /* lexer failed to unget a character */
ASE_AWK_EENDSRC, /* unexpected end of source */

View File

@ -1,5 +1,5 @@
/*
* $Id: err.c,v 1.4 2007/05/19 12:13:41 bacon Exp $
* $Id: err.c,v 1.5 2007/06/29 11:36:45 bacon Exp $
*
* {License}
*/
@ -47,6 +47,7 @@ static const ase_char_t* __geterrstr (int errnum)
ASE_T("cannot write source output"),
ASE_T("invalid character '%.*s'"),
ASE_T("invalid digit '%.*s'"),
ASE_T("cannot unget character"),
ASE_T("unexpected end of source"),

View File

@ -1,5 +1,5 @@
/*
* $Id: parse.c,v 1.10 2007/06/28 15:45:57 bacon Exp $
* $Id: parse.c,v 1.11 2007/06/29 11:36:45 bacon Exp $
*
* {License}
*/
@ -4423,6 +4423,13 @@ static int get_number (ase_awk_t* awk)
GET_CHAR_TO (awk, c);
}
if (c == ASE_T('8') || c == ASE_T('9'))
{
ase_char_t cc = (ase_char_t)c;
SETERRARG (awk, ASE_AWK_ELXDIG, awk->token.line, &cc, 1);
return -1;
}
return 0;
}
}