diff options
author | Adrian Thurston <thurston@complang.org> | 2015-06-07 15:35:02 -0400 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2015-06-07 15:35:02 -0400 |
commit | 9ed46192f42837b4c066b5e1ebf859c9f5070106 (patch) | |
tree | a6b04026c8a95a344fae7abe96058666d2a9397e /src/parsetree.cc | |
parent | c158a685a7bad2c4d06b4c160704b6913f5e70bf (diff) | |
download | colm-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.cc | 44 |
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 ) |