/** * Returns the current positional information from the input string. * * \param inputString the input string. * * \return the current positional information from the input string. */ ERR_Location IS_currentPosInfo(InputString inputString) { ERR_Location location; ERR_Area area; area = ERR_makeAreaArea(IS_getLinesRead(inputString), IS_getColumnsRead(inputString), IS_getLinesRead(inputString), IS_getColumnsRead(inputString), IS_getNumberOfTokensRead(inputString), 0); if (IS_getPath(inputString) == NULL) { location = ERR_makeLocationArea(area); } else { location = ERR_makeLocationAreaInFile(IS_getPath(inputString), area); } return location; }
ERR_Area PERR_lowerArea(PERR_Area pArea) { PERR_NatCon pBeginLine = PERR_getAreaBeginLine(pArea); int beginLine = PERR_lowerNatCon(pBeginLine); PERR_NatCon pBeginColumn = PERR_getAreaBeginColumn(pArea); int beginColumn = PERR_lowerNatCon(pBeginColumn); PERR_NatCon pEndLine = PERR_getAreaEndLine(pArea); int endLine = PERR_lowerNatCon(pEndLine); PERR_NatCon pEndColumn = PERR_getAreaEndColumn(pArea); int endColumn = PERR_lowerNatCon(pEndColumn); PERR_NatCon pOffset = PERR_getAreaOffset(pArea); int offset = PERR_lowerNatCon(pOffset); PERR_NatCon pLength = PERR_getAreaLength(pArea); int length = PERR_lowerNatCon(pLength); return ERR_makeAreaArea(beginLine, beginColumn, endLine, endColumn, offset, length); }