public static void CheckWord(string word, int line, SymbolTable sti, SymbolTable stc, ProgramInternalForm pif) { if (word != "") { if (isReservedWord(word)) { //int code; //reservedWords.TryGetValue(word, out code); pif.Add(codeTable[word], -1, -1); } else if (isSeparator(word)) { pif.Add(codeTable[word], -1, -1); } else if (isOperator(word)) { pif.Add(codeTable[word], -1, -1); } else if (isIdentifier(word)) { CodePositionPair p = sti.Add(new Token(word), 0); pif.Add(p); } else if (isConstant(word)) { CodePositionPair p = stc.Add(new Token(word), 1); pif.Add(p); } else { throw new Exception("Error at line " + line + ": unknown word \"" + word + "\""); } } }
public void Add(CodePositionPair p) { program.Add(p); }