diff options
author | Adrian Thurston <thurston@complang.org> | 2012-07-15 21:46:24 -0400 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2012-07-15 21:46:24 -0400 |
commit | 516b11d71d8bc5e8d05379d2e98a18e3a23d6461 (patch) | |
tree | b6618667ae254aa87a11d354da6e42f9ae07f5a4 | |
parent | db03a8019692eac96f33890e5a7a775606f16263 (diff) | |
download | colm-516b11d71d8bc5e8d05379d2e98a18e3a23d6461.tar.gz |
some cleanup of parse tree type names
-rw-r--r-- | src/lmparse.kl | 10 | ||||
-rw-r--r-- | src/parsetree.h | 12 | ||||
-rw-r--r-- | src/resolve.cc | 9 | ||||
-rw-r--r-- | src/synthesis.cc | 12 |
4 files changed, 22 insertions, 21 deletions
diff --git a/src/lmparse.kl b/src/lmparse.kl index 9f46de95..07988dd7 100644 --- a/src/lmparse.kl +++ b/src/lmparse.kl @@ -1448,7 +1448,7 @@ statement: var_ref TK_LtLt accumulate ParserText *parserText = ParserText::cons( $2->loc, nspace, region, replItemList ); pd->parserTextList.append( parserText ); - $$->stmt = LangStmt::cons( LangStmt::ParserType, $1->varRef, parserText ); + $$->stmt = LangStmt::cons( LangStmt::SendType, $1->varRef, parserText ); }; statement: KW_Send var_ref accumulate final { @@ -1457,7 +1457,7 @@ statement: KW_Send var_ref accumulate ParserText *parserText = ParserText::cons( $1->loc, nspace, region, replItemList ); pd->parserTextList.append( parserText ); - $$->stmt = LangStmt::cons( LangStmt::ParserType, $2->varRef, parserText ); + $$->stmt = LangStmt::cons( LangStmt::SendType, $2->varRef, parserText ); }; nonterm opt_require_stmt uses statement; @@ -1881,7 +1881,7 @@ code_factor: ParserText *parserText = ParserText::cons( $2->loc, nspace, region, replItemList ); pd->parserTextList.append( parserText ); - $$->expr = LangExpr::cons( LangTerm::cons( $1->loc, LangTerm::Parser2Type, + $$->expr = LangExpr::cons( LangTerm::cons( $1->loc, LangTerm::Parse2Type, varRef, $2->objField, parserTypeRef, $4->fieldInitVect, replacement, parserText ) ); /* Check for redeclaration. */ @@ -1918,7 +1918,7 @@ code_factor: KW_Parse opt_capture type_ref '(' opt_code_expr_list ')' if ( $2->objField != 0 ) varRef = new LangVarRef( $2->objField->loc, new QualItemVect, $2->objField->name ); - $$->expr = LangExpr::cons( LangTerm::cons( $1->loc, LangTerm::ParseType, + $$->expr = LangExpr::cons( LangTerm::cons( $1->loc, LangTerm::OrigParseType, varRef, $2->objField, $3->typeRef, generic, parserTypeRef, replacement ) ); $$->expr->term->args = $5->exprVect; @@ -1957,7 +1957,7 @@ code_factor: KW_ParseStop opt_capture type_ref '(' opt_code_expr_list ')' if ( $2->objField != 0 ) varRef = new LangVarRef( $2->objField->loc, new QualItemVect, $2->objField->name ); - $$->expr = LangExpr::cons( LangTerm::cons( $1->loc, LangTerm::ParseStopType, + $$->expr = LangExpr::cons( LangTerm::cons( $1->loc, LangTerm::OrigParseStopType, varRef, $2->objField, $3->typeRef, generic, parserTypeRef, replacement ) ); $$->expr->term->args = $5->exprVect; diff --git a/src/parsetree.h b/src/parsetree.h index d813a3ee..60028476 100644 --- a/src/parsetree.h +++ b/src/parsetree.h @@ -2337,12 +2337,14 @@ struct LangTerm NilType, TrueType, FalseType, - ParseType, - ParseStopType, + /* Parser that returns the tree, not the parser class. Can't get any + * parse error if present. */ + OrigParseType, + OrigParseStopType, + Parse2Type, MakeTreeType, MakeTokenType, EmbedStringType, - Parser2Type, }; LangTerm() @@ -2618,7 +2620,7 @@ struct LangStmt YieldType, ForIterType, BreakType, - ParserType + SendType }; LangStmt() @@ -2773,7 +2775,7 @@ struct LangStmt void resolve( Compiler *pd ) const; void resolveParserItems( Compiler *pd ) const; - void evaluateParserItems( Compiler *pd, CodeVect &code ) const; + void evaluateSend( Compiler *pd, CodeVect &code ) const; LangTerm *chooseDefaultIter( Compiler *pd, LangTerm *fromVarRef ) const; void compileWhile( Compiler *pd, CodeVect &code ) const; void compileForIterBody( Compiler *pd, CodeVect &code, UniqueType *iterUT ) const; diff --git a/src/resolve.cc b/src/resolve.cc index e3e29950..bfb5b9d9 100644 --- a/src/resolve.cc +++ b/src/resolve.cc @@ -333,7 +333,7 @@ void LangTerm::resolve( Compiler *pd ) (*pi)->expr->resolve( pd ); } break; - case Parser2Type: + case Parse2Type: typeRef->lookupType( pd ); /* Evaluate the initialization expressions. */ if ( fieldInitArgs != 0 ) { @@ -371,8 +371,8 @@ void LangTerm::resolve( Compiler *pd ) case FalseType: break; - case ParseType: - case ParseStopType: + case OrigParseType: + case OrigParseStopType: typeRef->lookupType( pd ); parserTypeRef->lookupType( pd ); generic = parserTypeRef->generic; @@ -500,8 +500,7 @@ void LangStmt::resolve( Compiler *pd ) const varRef->resolve( pd ); break; } - case ParserType: { - //for ( ) + case SendType: { break; } } diff --git a/src/synthesis.cc b/src/synthesis.cc index 90766227..8b014ffc 100644 --- a/src/synthesis.cc +++ b/src/synthesis.cc @@ -1650,13 +1650,13 @@ UniqueType *LangTerm::evaluate( Compiler *pd, CodeVect &code ) const } case MatchType: return evaluateMatch( pd, code ); - case ParseType: + case OrigParseType: return evaluateParse( pd, code, false ); - case ParseStopType: + case OrigParseStopType: return evaluateParse( pd, code, true ); case ConstructType: return evaluateConstruct( pd, code ); - case Parser2Type: + case Parse2Type: return evaluateParse2( pd, code ); case NewType: return evaluateNew( pd, code ); @@ -2181,7 +2181,7 @@ void LangStmt::compileWhile( Compiler *pd, CodeVect &code ) const pd->curLocalFrame->iterPopScope(); } -void LangStmt::evaluateParserItems( Compiler *pd, CodeVect &code ) const +void LangStmt::evaluateSend( Compiler *pd, CodeVect &code ) const { varRef->evaluate( pd, code ); @@ -2415,8 +2415,8 @@ void LangStmt::compile( Compiler *pd, CodeVect &code ) const objField->refActive = false; break; } - case ParserType: { - evaluateParserItems( pd, code ); + case SendType: { + evaluateSend( pd, code ); break; } } |