Пример #1
0
		/// <summary>Lua Exception for parse errors.</summary>
		/// <param name="position"></param>
		/// <param name="sMessage"></param>
		/// <param name="innerException"></param>
		internal LuaParseException(Position position, string sMessage, Exception innerException)
			: base(sMessage, innerException)
		{
			this.sFileName = position.FileName;
			this.iLine = position.Line;
			this.iColumn = position.Col;
			this.iIndex = position.Index;
		} // ctor
Пример #2
0
		} // proc NextChar

		/// <summary>Erzeugt einen Token</summary>
		/// <param name="iKind">Art des Tokens</param>
		/// <param name="iNewState"></param>
		/// <returns>Token</returns>
		private Token CreateToken(int iNewState, LuaToken iKind)
		{
			iState = iNewState;
			Token tok = new Token(iKind, CurValue, fStart, fEnd);
			fStart = fEnd;
			sbCur = null;
			return tok;
		} // func CreateToken
Пример #3
0
		} // proc EatChar

		/// <summary>Nächstes Zeichen ohne eine Kopie anzufertigen</summary>
		/// <param name="iNewState">Neuer Status des Scanners</param>
		private void NextChar(int iNewState)
		{
			fEnd = new Position(document, iCurrentLine, iCurrentColumn, iCurrentIndex);
			cCur = Read();
			iState = iNewState;
		} // proc NextChar
Пример #4
0
		private bool lSkipComments = true;				// Should the scanner skip comments

		#region -- Ctor/Dtor --------------------------------------------------------------

		/// <summary>Creates the lexer für the lua parser</summary>
		/// <param name="sFileName">Filename</param>
		/// <param name="tr">Input for the scanner, will be disposed on the lexer dispose.</param>
		/// <param name="iCurrentLine"></param>
		/// <param name="iCurrentColumn"></param>
		public LuaLexer(string sFileName, TextReader tr, int iCurrentLine = 1, int iCurrentColumn = 1)
		{
			this.document = Expression.SymbolDocument(sFileName);
			this.iCurrentLine = iCurrentLine;
			this.iCurrentColumn = iCurrentColumn;
			this.tr = tr;

			lEof = false;
			fStart =
				fEnd = new Position(document, iCurrentLine, iCurrentColumn, iCurrentIndex);
			cCur = Read(); // Lies das erste Zeichen aus dem Buffer
		} // ctor
Пример #5
0
		/// <summary>Erzeugt einen Token.</summary>
		/// <param name="iKind">Type des Wertes.</param>
		/// <param name="sValue">Der Wert.</param>
		/// <param name="fStart">Beginn des Tokens</param>
		/// <param name="fEnd">Ende des Tokens</param>
		internal Token(LuaToken iKind, string sValue, Position fStart, Position fEnd)
		{
			this.iKind = iKind;
			this.fStart = fStart;
			this.fEnd = fEnd;
			this.sValue = sValue;
		} // ctor