public SyntacticAnalysis(List <Token> tokens, Glossary currentGlossary)
 {
     CurrentGlossary = currentGlossary;
     Errors          = new Dictionary <int, string>();
     Initialize();
     Root = Analyze(tokens);
 }
 public SemanticAnalysis(SyntacticAnalysis syntacticAnalysis)
 {
     Errors    = new Dictionary <int, string>();
     Variables = new Dictionary <string, IVariable>();
     Glossary  = syntacticAnalysis.CurrentGlossary;
     Analyze(syntacticAnalysis.Root);
 }
        public SyntacticAnalysis(string expression, Glossary currentGlossary)
        {
            CurrentGlossary = currentGlossary;
            Errors          = new Dictionary <int, string>();
            Initialize();
            var lexicalAnalysis = new LexicalAnalysis(expression, currentGlossary);

            Root = Analyze(lexicalAnalysis.Result);
        }
        public SemanticAnalysis(string expression, Glossary glossary)
        {
            Errors    = new Dictionary <int, string>();
            Variables = new Dictionary <string, IVariable>();
            Glossary  = glossary;
            var lexicalAnalysis   = new LexicalAnalysis(expression, glossary);
            var syntacticAnalysis = new SyntacticAnalysis(lexicalAnalysis.Result, glossary);

            Analyze(syntacticAnalysis.Root);
        }
 public LexicalAnalysis(string input, Glossary currentGlossary)
 {
     CurrentGlossary = currentGlossary;
     Errors          = new List <string>();
     Result          = Analyze(input);
 }