added bool type

git-svn-id: svn://anubis/jtlc/trunk@20 f5bc74b8-7b62-4e90-9214-7121d538519f
This commit is contained in:
josh 2010-01-13 22:58:07 +00:00
parent ba841d3bcf
commit 3301142147
3 changed files with 31 additions and 23 deletions

View File

@ -8,28 +8,30 @@ string PrimitiveTypeNode::getString()
{
switch (m_integer)
{
case BYTE:
return "int8_t";
case UBYTE:
return "uint8_t";
case CHAR:
return "char";
case WCHAR:
return "wchar_t";
case SHORT:
return "int16_t";
case USHORT:
return "uint16_t";
case INT:
return "int32_t";
case UINT:
return "uint32_t";
case LONG:
return "int64_t";
case ULONG:
return "uint64_t";
default:
cerr << "Error: Unknown primitive type " << m_integer << endl;
return "<UNKNOWN-TYPE>";
case BOOL:
return "uint8_t";
case BYTE:
return "int8_t";
case UBYTE:
return "uint8_t";
case CHAR:
return "char";
case WCHAR:
return "wchar_t";
case SHORT:
return "int16_t";
case USHORT:
return "uint16_t";
case INT:
return "int32_t";
case UINT:
return "uint32_t";
case LONG:
return "int64_t";
case ULONG:
return "uint64_t";
default:
cerr << "Error: Unknown primitive type " << m_integer << endl;
return "<UNKNOWN-TYPE>";
}
}

View File

@ -86,6 +86,7 @@ static uint64_t parseInt(const char * text, int base)
}
/* primitive types */
bool return BOOL;
byte return BYTE;
ubyte return UBYTE;
char return CHAR;
@ -101,10 +102,12 @@ double return DOUBLE;
/* keywords */
c return C;
false return FALSE;
import return IMPORT;
module return MODULE;
return return RETURN;
struct return STRUCT;
true return TRUE;
/* identifiers */
[a-zA-Z_][a-zA-Z_0-9]* {

View File

@ -64,6 +64,7 @@ static YYSTYPE parse_result;
%token STRING_LITERAL;
/* primitive types */
%token BOOL;
%token BYTE;
%token UBYTE;
%token CHAR;
@ -79,10 +80,12 @@ static YYSTYPE parse_result;
/* keywords */
%token C;
%token FALSE;
%token IMPORT;
%token MODULE;
%token RETURN;
%token STRUCT;
%token TRUE;
/* identifiers */
%token IDENTIFIER;