public static void Init() { if (Functions.Instance == null) m_functions = new Functions(); if (m_htOperators.Count == 0) { CreateOperator(new Operator("[",1,true,true,false,false)); CreateOperator(new Operator(".",1,true,true,false,false)); CreateOperator(new Operator("*",3,true,true,false,false)); CreateOperator(new Operator("/",3,true,true,false,false)); CreateOperator(new Operator("+",4,true,true,false,false)); CreateOperator(new Operator("-",4,true,true,false,false)); CreateOperator(new Operator("%",9,true,true,false,false)); CreateOperator(new Operator("&",8,true,true,false,false)); CreateOperator(new Operator("|",10,true,true,false,false)); CreateOperator(new Operator("&&",11,true,true,false,false)); CreateOperator(new Operator("||",12,true,true,false,false)); CreateOperator(new Operator("==",7,true,true,false,false)); CreateOperator(new Operator("!=",7,true,true,false,false)); CreateOperator(new Operator("!",88,false,true,false,false)); // this isn't really used, just for identifying "!pre" below CreateOperator(new Operator(">=",6,true,true,false,false)); CreateOperator(new Operator("<=",6,true,true,false,false)); CreateOperator(new Operator(">",6,true,true,false,false)); CreateOperator(new Operator("<",6,true,true,false,false)); CreateOperator(new Operator(":",100,true,true,false,false)); CreateOperator(new Operator("++",2,false,true,true,false)); CreateOperator(new Operator("--",2,false,true,true,false)); CreateOperator(new Operator("=",14,true,false,true,false)); CreateOperator(new Operator("+=",14,true,false,true,false)); CreateOperator(new Operator("-=",14,true,false,true,false)); CreateOperator(new Operator("*=",14,true,false,true,false)); CreateOperator(new Operator("/=",14,true,false,true,false)); //TODO: pre-operators: CreateOperator(new Operator("pre++",1,false,false,true,true)); CreateOperator(new Operator("pre--",1,false,false,true,true)); CreateOperator(new Operator("pre-",1,false,false,false,true)); CreateOperator(new Operator("pre!",1,false,false,false,true)); // CreateOperator(new Operator("*",-1,true,false,false,"ptr*")); // CreateOperator(new Operator("&",-1,true,false,false,"ptr&")); m_aSeparators.Add("("); m_aSeparators.Add(")"); m_aSeparators.Add("["); m_aSeparators.Add("]"); m_aSeparators.Add(","); } }
public Functions() { Instance = this; m_htUserValues = new Hashtable(); }