Project

General

Profile

Feature #25

make line and column tracking accurate in preprocessor

Added by Greg Shah over 19 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD

History

#1 Updated by Nick Saxon over 19 years ago

@18857 - The problem origin:

Today the line and column numbers are tracked inside the ClearSTream class. The tracking is not accurate. The reason is that the trasformations done to the input cause the reported line/column deviate from the true file positions.

1. Alternative codings read two bytes from the stream and push back one converted byte. Pushbacks don't adjust column numbers.

2. Substitutions for braces push back some bytes and need to adjust line/column counters, too.

Pushbacks should subtract from the column counter only if they don't contain newlines, or line and column if they do. The latter case is tricky because as soon as the newline is read the column counter is always reset to 1. In this case it should be reset to minus number of bytes after the newline in the pushback string.

The fix should neutralize the confusion the pushbacks do to the counters and then they remain accurate.

#2 Updated by Redmine Admin almost 19 years ago

@21145 - Status changed from Hold to WIP

#3 Updated by Redmine Admin almost 19 years ago

@21166 - Status changed from WIP to Hold

#4 Updated by Greg Shah about 12 years ago

Imported from JPRM on 2012-04-12 11:23:19.503:

TASKID      = 3136
PROJECTID   = 125
STATUS      = 3 (Hold)
DESCRIPTION = make line and column tracking accurate in preprocessor
OWNER       = GES
ASSIGNEE    = 
BILLABLE    = false
PRIORITY    = 5 (Normal)
PHASE       = 31 (Development)
COMPONENT   = 97
ESTEFFORT   = 0.000000
ESTSTART    = 2004-12-02
ESTSTOP     = 
ACTSTOP     = 
CASENUM     = 
VENDORID    = 
COMMENT     = ''
LASTWIP     = 2005-05-13

Also available in: Atom PDF