Parameter GetParameter(Token TokenToAdd) { //Token TokenToAdd = Lexer.Tokenizer( DataStream); Parameter aParameter; switch (TokenToAdd.TokenTypeValue) { case TokenType.ENTITYINSTANCENAME: aParameter = new ParamEntity((uint)TokenToAdd.IntegerValue, this); break; case TokenType.KEYWORD: aParameter = getSelectParameter(TokenToAdd.StringValue); break; case TokenType.DOLLAR: aParameter = new ParamNullValue(); break; case TokenType.INTEGER: aParameter = new ParamInteger(TokenToAdd.IntegerValue); break; case TokenType.REAL: aParameter = new ParamReal(TokenToAdd.RealValue); break; case TokenType.STRING: aParameter = new ParamString(TokenToAdd.StringValue); break; case TokenType.ENUMERATION: aParameter = new ParamEnum(TokenToAdd.StringValue, this); break; case TokenType.BINARY: aParameter = new ParamBinary(SParamType.BINARY); // need to update break; case TokenType.LEFTPARENTHESIS: aParameter = new ParamList(new List<Parameter>()); Token listToken = Lexer.Tokenizer(DataStream); while (listToken.TokenTypeValue != TokenType.RIGHTPARENTHESIS) { Parameter subParam = GetParameter(listToken); ((ParamList)aParameter).ParameterList.Add(subParam); listToken = Lexer.Tokenizer(DataStream); } break; case TokenType.OMITTED: aParameter = new ParamOmitted(); break; case TokenType.TRUE: aParameter = new ParamBoolean(1); break; case TokenType.FALSE: aParameter = new ParamBoolean(-1); break; case TokenType.UNKNOWN: aParameter = new ParamBoolean(0); break; case TokenType.RIGHTPARENTHESIS: case TokenType.COMMA: TokenToAdd = Lexer.Tokenizer(DataStream); aParameter = GetParameter(TokenToAdd); break; default: TokenToAdd = Lexer.Tokenizer(DataStream); aParameter = GetParameter(TokenToAdd); break; } return aParameter; }
Parameter GetParameter(Token TokenToAdd) { //Token TokenToAdd = Lexer.Tokenizer( DataStream); Parameter aParameter; switch (TokenToAdd.TokenTypeValue) { case TokenType.ENTITYINSTANCENAME: aParameter = new ParamEntity((uint)TokenToAdd.IntegerValue, this); break; case TokenType.KEYWORD: aParameter = getSelectParameter(TokenToAdd.StringValue); break; case TokenType.DOLLAR: aParameter = new ParamNullValue(); break; case TokenType.INTEGER: aParameter = new ParamInteger(TokenToAdd.IntegerValue); break; case TokenType.REAL: aParameter = new ParamReal(TokenToAdd.RealValue); break; case TokenType.STRING: aParameter = new ParamString(TokenToAdd.StringValue); break; case TokenType.ENUMERATION: aParameter = new ParamEnum(TokenToAdd.StringValue, this); break; case TokenType.BINARY: aParameter = new ParamBinary(SParamType.BINARY); // need to update break; case TokenType.LEFTPARENTHESIS: aParameter = new ParamList(new List <Parameter>()); Token listToken = Lexer.Tokenizer(DataStream); while (listToken.TokenTypeValue != TokenType.RIGHTPARENTHESIS) { Parameter subParam = GetParameter(listToken); ((ParamList)aParameter).ParameterList.Add(subParam); listToken = Lexer.Tokenizer(DataStream); } break; case TokenType.OMITTED: aParameter = new ParamOmitted(); break; case TokenType.TRUE: aParameter = new ParamBoolean(1); break; case TokenType.FALSE: aParameter = new ParamBoolean(-1); break; case TokenType.UNKNOWN: aParameter = new ParamBoolean(0); break; case TokenType.RIGHTPARENTHESIS: case TokenType.COMMA: TokenToAdd = Lexer.Tokenizer(DataStream); aParameter = GetParameter(TokenToAdd); break; default: TokenToAdd = Lexer.Tokenizer(DataStream); aParameter = GetParameter(TokenToAdd); break; } return(aParameter); }
Parameter AddParameterValue(Instance cInstance, Token TokenToAdd) { //Token TokenToAdd = Lexer.Tokenizer( DataStream); Parameter aParameter; switch (TokenToAdd.TokenTypeValue) { case TokenType.ENTITYINSTANCENAME: //aParameter = new EntityInstanceParameter(TokenToAdd.IntegerValue); //if(DataSet.DataList.ContainsKey(TokenToAdd.IntegerValue)) aParameter = new ParamEntity((uint)TokenToAdd.IntegerValue, cInstance, this); //new Parameter(ParameterType.ENTITY_INSTANCE_NAME, TokenToAdd.IntegerValue); break; case TokenType.KEYWORD: aParameter = getSelectParameter(TokenToAdd.StringValue); //new Parameter(AddSimpleRecord(TokenToAdd.StringValue, DataStream)); break; case TokenType.DOLLAR: aParameter = new ParamNullValue(); //new Parameter(ParameterType.NULL_VALUE); break; case TokenType.INTEGER: aParameter = new ParamInteger(TokenToAdd.IntegerValue); //new Parameter(ParameterType.INTEGER, TokenToAdd.IntegerValue); //InstanceData.aDataSectionList[HeaderCounter -1].DataList[0]; break; case TokenType.REAL: aParameter = new ParamReal(TokenToAdd.RealValue); //new Parameter(TokenToAdd.RealValue); break; case TokenType.STRING: aParameter = new ParamString(TokenToAdd.StringValue); //new Parameter(ParameterType.STRING, TokenToAdd.StringValue, DataSet); break; case TokenType.ENUMERATION: aParameter = new ParamEnum(TokenToAdd.StringValue, this); //new Parameter(ParameterType.ENUMERATION, TokenToAdd.StringValue, DataSet); break; case TokenType.BINARY: //aParameter = new Parameter(ParameterType.BINARY); aParameter = new ParamBinary(SParamType.BINARY); // need to update break; case TokenType.LEFTPARENTHESIS: aParameter = new ParamList(new List<Parameter>()); //new Parameter(new List<Parameter>()); Token listToken = Lexer.Tokenizer(DataStream); while (listToken.TokenTypeValue != TokenType.RIGHTPARENTHESIS) { Parameter subParam = AddParameterValue(cInstance, listToken); ((ParamList)aParameter).ParameterList.Add(subParam); //List<Parameter> ParameterList = (List<Parameter>)aParameter.ParameterValue; //ParameterList.Add(AddParameterValue( listToken, DataStream)); listToken = Lexer.Tokenizer(DataStream); } break; case TokenType.OMITTED: aParameter = new ParamOmitted(); //new Parameter(ParameterType.OMITTED_PARAMETER); break; case TokenType.TRUE: aParameter = new ParamBoolean(1); break; case TokenType.FALSE: aParameter = new ParamBoolean(-1); break; case TokenType.UNKNOWN: aParameter = new ParamBoolean(0); break; case TokenType.RIGHTPARENTHESIS: case TokenType.COMMA: //Console.WriteLine("not defined condition : " + TokenToAdd.TokenTypeValue.ToString()); TokenToAdd = Lexer.Tokenizer(DataStream); aParameter = AddParameterValue(cInstance, TokenToAdd); break; default: //Console.WriteLine("not defined condition : " + TokenToAdd.TokenTypeValue.ToString()); TokenToAdd = Lexer.Tokenizer(DataStream); aParameter = AddParameterValue(cInstance, TokenToAdd); break; } return aParameter; }
Parameter AddParameterValue(Instance cInstance, Token TokenToAdd) { //Token TokenToAdd = Lexer.Tokenizer( DataStream); Parameter aParameter; switch (TokenToAdd.TokenTypeValue) { case TokenType.ENTITYINSTANCENAME: //aParameter = new EntityInstanceParameter(TokenToAdd.IntegerValue); //if(DataSet.DataList.ContainsKey(TokenToAdd.IntegerValue)) aParameter = new ParamEntity((uint)TokenToAdd.IntegerValue, cInstance, this); //new Parameter(ParameterType.ENTITY_INSTANCE_NAME, TokenToAdd.IntegerValue); break; case TokenType.KEYWORD: aParameter = getSelectParameter(TokenToAdd.StringValue); //new Parameter(AddSimpleRecord(TokenToAdd.StringValue, DataStream)); break; case TokenType.DOLLAR: aParameter = new ParamNullValue(); //new Parameter(ParameterType.NULL_VALUE); break; case TokenType.INTEGER: aParameter = new ParamInteger(TokenToAdd.IntegerValue); //new Parameter(ParameterType.INTEGER, TokenToAdd.IntegerValue); //InstanceData.aDataSectionList[HeaderCounter -1].DataList[0]; break; case TokenType.REAL: aParameter = new ParamReal(TokenToAdd.RealValue); //new Parameter(TokenToAdd.RealValue); break; case TokenType.STRING: aParameter = new ParamString(TokenToAdd.StringValue); //new Parameter(ParameterType.STRING, TokenToAdd.StringValue, DataSet); break; case TokenType.ENUMERATION: aParameter = new ParamEnum(TokenToAdd.StringValue, this); //new Parameter(ParameterType.ENUMERATION, TokenToAdd.StringValue, DataSet); break; case TokenType.BINARY: //aParameter = new Parameter(ParameterType.BINARY); aParameter = new ParamBinary(SParamType.BINARY); // need to update break; case TokenType.LEFTPARENTHESIS: aParameter = new ParamList(new List <Parameter>()); //new Parameter(new List<Parameter>()); Token listToken = Lexer.Tokenizer(DataStream); while (listToken.TokenTypeValue != TokenType.RIGHTPARENTHESIS) { Parameter subParam = AddParameterValue(cInstance, listToken); ((ParamList)aParameter).ParameterList.Add(subParam); //List<Parameter> ParameterList = (List<Parameter>)aParameter.ParameterValue; //ParameterList.Add(AddParameterValue( listToken, DataStream)); listToken = Lexer.Tokenizer(DataStream); } break; case TokenType.OMITTED: aParameter = new ParamOmitted(); //new Parameter(ParameterType.OMITTED_PARAMETER); break; case TokenType.TRUE: aParameter = new ParamBoolean(1); break; case TokenType.FALSE: aParameter = new ParamBoolean(-1); break; case TokenType.UNKNOWN: aParameter = new ParamBoolean(0); break; case TokenType.RIGHTPARENTHESIS: case TokenType.COMMA: //Console.WriteLine("not defined condition : " + TokenToAdd.TokenTypeValue.ToString()); TokenToAdd = Lexer.Tokenizer(DataStream); aParameter = AddParameterValue(cInstance, TokenToAdd); break; default: //Console.WriteLine("not defined condition : " + TokenToAdd.TokenTypeValue.ToString()); TokenToAdd = Lexer.Tokenizer(DataStream); aParameter = AddParameterValue(cInstance, TokenToAdd); break; } return(aParameter); }