// rpimpl_scan.h
// Copyright (c) Menno Rubingh 2016.  Web: [http://rubinghsoftware.de]
// 
// MR Mar 2016.
//
// Declaration of the function 'scanRPExpression()':
// Scan a RP expression string and convert it into a list of OperationXxx instances.
// Used internally in the RPInterpreter implementation.
//


#ifndef _RPIMPL_SCAN_H_
#define _RPIMPL_SCAN_H_


#include "rpimpl_oplist.h"  //ParsedOperationList.



//-------------------------------------------------------------------------------------
// Convert string to ParsedOperationList.
//
// The string as a whole must consist of the RP expression only, with no
// other characters (but space characters are allowed between lexical elements).
//
// Assumes that the ParsedOperationList is empty on entering the function 
// (an assertion fails if this assumption is violated).
//-------------------------------------------------------------------------------------

void scanRPExpression(
	char const *           iStr,
	ParsedOperationList *  oOpList );



#endif //_RPIMPL_SCAN_H_