src/Parser.cc

changeset 112
def56932f938
parent 111
87d9ebd3ef34
child 114
6cbeb9f8350f
--- a/src/Parser.cc	Sun Feb 23 17:21:18 2014 +0200
+++ b/src/Parser.cc	Sun Feb 23 17:45:34 2014 +0200
@@ -40,7 +40,7 @@
 // ============================================================================
 //
 BotscriptParser::BotscriptParser() :
-	mReadOnly (false),
+	mIsReadOnly (false),
 	mMainBuffer (new DataBuffer),
 	mOnEnterBuffer (new DataBuffer),
 	mMainLoopBuffer (new DataBuffer),
@@ -90,7 +90,7 @@
 	mLexer->ProcessFile (fileName);
 	PushScope();
 
-	while (mLexer->GetNext())
+	while (mLexer->Next())
 	{
 		// Check if else is potentically valid
 		if (TokenIs (TK_Else) && mCanElse == false)
@@ -99,7 +99,7 @@
 		if (TokenIs (TK_Else) == false)
 			mCanElse = false;
 
-		switch (mLexer->GetToken()->type)
+		switch (mLexer->Token()->type)
 		{
 			case TK_State:
 				ParseStateBlock();
@@ -195,7 +195,7 @@
 
 				if (b == false)
 				{
-					mLexer->GetNext();
+					mLexer->Next();
 					Error ("unknown token `%1`", GetTokenString());
 				}
 
@@ -309,7 +309,7 @@
 	Variable* var = new Variable;
 	var->origin = mLexer->DescribeCurrentPosition();
 	var->isarray = false;
-	const bool isconst = mLexer->GetNext (TK_Const);
+	const bool isconst = mLexer->Next (TK_Const);
 	mLexer->MustGetAnyOf ({TK_Int,TK_Str,TK_Void});
 
 	DataType vartype =	(TokenIs (TK_Int)) ? TYPE_Int :
@@ -319,7 +319,7 @@
 	mLexer->MustGetNext (TK_Symbol);
 	String name = GetTokenString();
 
-	if (mLexer->GetNext (TK_BracketStart))
+	if (mLexer->Next (TK_BracketStart))
 	{
 		mLexer->MustGetNext (TK_BracketEnd);
 		var->isarray = true;
@@ -350,10 +350,10 @@
 
 		// If the expression was constexpr, we know its value and thus
 		// can store it in the variable.
-		if (expr.GetResult()->IsConstexpr())
+		if (expr.Result()->IsConstexpr())
 		{
 			var->writelevel = WRITE_Constexpr;
-			var->value = expr.GetResult()->GetValue();
+			var->value = expr.Result()->Value();
 		}
 		else
 		{
@@ -577,7 +577,7 @@
 	// Get a literal value for the case block. Zandronum does not support
 	// expressions here.
 	mLexer->MustGetNext (TK_Number);
-	int num = mLexer->GetToken()->text.ToLong();
+	int num = mLexer->Token()->text.ToLong();
 	mLexer->MustGetNext (TK_Colon);
 
 	for (const CaseInfo& info : SCOPE(0).cases)
@@ -807,7 +807,7 @@
 	// the closing data headers into said buffers too.
 	buffer()->WriteDWord (dataheader);
 	mCurrentMode = PARSERMODE_TopLevel;
-	mLexer->GetNext (TK_Semicolon);
+	mLexer->Next (TK_Semicolon);
 }
 
 // =============================================================================
@@ -820,7 +820,7 @@
 	e->number = GetTokenString().ToLong();
 	mLexer->MustGetNext (TK_Colon);
 	mLexer->MustGetNext (TK_Symbol);
-	e->name = mLexer->GetToken()->text;
+	e->name = mLexer->Token()->text;
 	mLexer->MustGetNext (TK_ParenStart);
 	mLexer->MustGetNext (TK_ParenEnd);
 	mLexer->MustGetNext (TK_Semicolon);
@@ -836,17 +836,17 @@
 
 	// Return value
 	mLexer->MustGetAnyOf ({TK_Int,TK_Void,TK_Bool,TK_Str});
-	comm->returnvalue = GetTypeByName (mLexer->GetToken()->text); // TODO
+	comm->returnvalue = GetTypeByName (mLexer->Token()->text); // TODO
 	assert (comm->returnvalue != -1);
 
 	// Number
 	mLexer->MustGetNext (TK_Number);
-	comm->number = mLexer->GetToken()->text.ToLong();
+	comm->number = mLexer->Token()->text.ToLong();
 	mLexer->MustGetNext (TK_Colon);
 
 	// Name
 	mLexer->MustGetNext (TK_Symbol);
-	comm->name = mLexer->GetToken()->text;
+	comm->name = mLexer->Token()->text;
 
 	// Arguments
 	mLexer->MustGetNext (TK_ParenStart);
@@ -859,12 +859,12 @@
 
 		CommandArgument arg;
 		mLexer->MustGetAnyOf ({TK_Int,TK_Bool,TK_Str});
-		DataType type = GetTypeByName (mLexer->GetToken()->text); // TODO
+		DataType type = GetTypeByName (mLexer->Token()->text); // TODO
 		assert (type != -1 && type != TYPE_Void);
 		arg.type = type;
 
 		mLexer->MustGetNext (TK_Symbol);
-		arg.name = mLexer->GetToken()->text;
+		arg.name = mLexer->Token()->text;
 
 		// If this is an optional parameter, we need the default value.
 		if (comm->minargs < comm->args.Size() || mLexer->PeekNextType (TK_Assign))
@@ -886,7 +886,7 @@
 					break;
 			}
 
-			arg.defvalue = mLexer->GetToken()->text.ToLong();
+			arg.defvalue = mLexer->Token()->text.ToLong();
 		}
 		else
 			comm->minargs++;
@@ -975,7 +975,7 @@
 {
 	mLexer->TokenMustBe (TK_Number);
 	String floatstring = GetTokenString();
-	Lexer::Token tok;
+	Lexer::TokenInfo tok;
 
 	// Go after the decimal point
 	if (mLexer->PeekNext (&tok) && tok.type ==TK_Dot)
@@ -995,7 +995,7 @@
 //
 AssignmentOperator BotscriptParser::ParseAssignmentOperator()
 {
-	const List<TokenType> tokens =
+	const List<ETokenType> tokens =
 	{
 		TK_Assign,
 		TK_AddAssign,
@@ -1009,7 +1009,7 @@
 
 	mLexer->MustGetAnyOf (tokens);
 
-	switch (mLexer->GetTokenType())
+	switch (mLexer->TokenType())
 	{
 		case TK_Assign:			return ASSIGNOP_Assign;
 		case TK_AddAssign:		return ASSIGNOP_Add;
@@ -1086,8 +1086,8 @@
 	{
 		mLexer->MustGetNext (TK_BracketStart);
 		Expression expr (this, mLexer, TYPE_Int);
-		expr.GetResult()->ConvertToBuffer();
-		arrayindex = expr.GetResult()->GetBuffer()->Clone();
+		expr.Result()->ConvertToBuffer();
+		arrayindex = expr.Result()->Buffer()->Clone();
 		mLexer->MustGetNext (TK_BracketEnd);
 	}
 
@@ -1169,11 +1169,11 @@
 		mLexer->Skip (-1);
 
 	Expression expr (this, mLexer, reqtype);
-	expr.GetResult()->ConvertToBuffer();
+	expr.Result()->ConvertToBuffer();
 
 	// The buffer will be destroyed once the function ends so we need to
 	// clone it now.
-	return expr.GetResult()->GetBuffer()->Clone();
+	return expr.Result()->Buffer()->Clone();
 }
 
 // ============================================================================
@@ -1181,7 +1181,7 @@
 DataBuffer* BotscriptParser::ParseStatement()
 {
 	// If it's a variable, expect assignment.
-	if (mLexer->GetNext (TK_DollarSign))
+	if (mLexer->Next (TK_DollarSign))
 	{
 		mLexer->MustGetNext (TK_Symbol);
 		Variable* var = FindVariable (GetTokenString());
@@ -1222,23 +1222,23 @@
 
 // ============================================================================
 //
-bool BotscriptParser::TokenIs (TokenType a)
+bool BotscriptParser::TokenIs (ETokenType a)
 {
-	return (mLexer->GetTokenType() == a);
+	return (mLexer->TokenType() == a);
 }
 
 // ============================================================================
 //
 String BotscriptParser::GetTokenString()
 {
-	return mLexer->GetToken()->text;
+	return mLexer->Token()->text;
 }
 
 // ============================================================================
 //
 String BotscriptParser::DescribePosition() const
 {
-	Lexer::Token* tok = mLexer->GetToken();
+	Lexer::TokenInfo* tok = mLexer->Token();
 	return tok->file + ":" + String (tok->line) + ":" + String (tok->column);
 }
 
@@ -1314,13 +1314,13 @@
 		Error ("couldn't open %1 for writing: %2", outfile, strerror (errno));
 
 	// First, resolve references
-	for (MarkReference* ref : mMainBuffer->GetReferences())
+	for (MarkReference* ref : mMainBuffer->References())
 		for (int i = 0; i < 4; ++i)
-			mMainBuffer->GetBuffer()[ref->pos + i] = (ref->target->pos >> (8 * i)) & 0xFF;
+			mMainBuffer->Buffer()[ref->pos + i] = (ref->target->pos >> (8 * i)) & 0xFF;
 
 	// Then, dump the main buffer to the file
-	fwrite (mMainBuffer->GetBuffer(), 1, mMainBuffer->GetWrittenSize(), fp);
-	Print ("-- %1 byte%s1 written to %2\n", mMainBuffer->GetWrittenSize(), outfile);
+	fwrite (mMainBuffer->Buffer(), 1, mMainBuffer->WrittenSize(), fp);
+	Print ("-- %1 byte%s1 written to %2\n", mMainBuffer->WrittenSize(), outfile);
 	fclose (fp);
 }
 

mercurial