summaryrefslogtreecommitdiff
path: root/src/parsetree.cc
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@complang.org>2015-06-07 15:35:02 -0400
committerAdrian Thurston <thurston@complang.org>2015-06-07 15:35:02 -0400
commit9ed46192f42837b4c066b5e1ebf859c9f5070106 (patch)
treea6b04026c8a95a344fae7abe96058666d2a9397e /src/parsetree.cc
parentc158a685a7bad2c4d06b4c160704b6913f5e70bf (diff)
downloadcolm-9ed46192f42837b4c066b5e1ebf859c9f5070106.tar.gz
now creating list and map el structures in the declare pass
Diffstat (limited to 'src/parsetree.cc')
-rw-r--r--src/parsetree.cc44
1 files changed, 2 insertions, 42 deletions
diff --git a/src/parsetree.cc b/src/parsetree.cc
index 6f6758de..7a6f131d 100644
--- a/src/parsetree.cc
+++ b/src/parsetree.cc
@@ -37,48 +37,6 @@ ostream &operator<<( ostream &out, const NameRef &nameRef );
ostream &operator<<( ostream &out, const NameInst &nameInst );
ostream &operator<<( ostream &out, const Token &token );
-string TypeRef::stringify()
-{
- string s;
- switch ( type ) {
- case Unspecified: {
- if ( uniqueType->typeId == TYPE_INT )
- s = "int";
- else
- s = "unspecified";
- break;
- }
- case Name:
- s = typeName;
- break;
- case Literal:
- s = "literal";
- break;
- case Iterator:
- s = "iterator";
- break;
- case List:
- s = "list";
- break;
- case ListPtrs:
- s = "list_ptrs";
- break;
- case Map:
- s = "map";
- break;
- case MapPtrs:
- s = "map_ptrs";
- break;
- case Parser:
- s = "parser";
- break;
- case Ref:
- s = "ref";
- break;
- }
- return s;
-}
-
/* Convert the literal string which comes in from the scanner into an array of
* characters with escapes and options interpreted. Also null terminates the
* string. Though this null termination should not be relied on for
@@ -214,11 +172,13 @@ int CmpUniqueGeneric::compare( const UniqueGeneric &ut1, const UniqueGeneric &ut
switch ( ut1.type ) {
case UniqueGeneric::List:
case UniqueGeneric::ListPtrs:
+ case UniqueGeneric::ListEl:
case UniqueGeneric::Parser:
break;
case UniqueGeneric::Map:
case UniqueGeneric::MapPtrs:
+ case UniqueGeneric::MapEl:
if ( ut1.key < ut2.key )
return -1;
else if ( ut1.key > ut2.key )