[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

From |
"Sergiy Radyakin" <serjradyakin@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Stata comments |

Date |
Thu, 1 May 2008 15:57:06 -0400 |

Thank you Maarten, this is exactly the point: does the end-of-the-line as it is understood by #delimit agree with the end of the line as it is understood by comments? I have 2 possible interpretations of "line". 1. Line in the text file (as it is understood by a text editor, showing current line number and cursor position in the line) 2. Line of code (which can occupy more than one text-line if the delimiter is set to ";") Here are my doubts: A. If the manual really means "line" as defined by 1, than the following code must yell "Hello one" and "Hello two", but it does not: #delimit ; *include "something" // comment di "Hello one"; di "Hello two"; // end of file I think it must yell two times, because the commands are unaffected by commentaries in the other text lines if definition 1 is true. B. If the manual really means "line" as defined by 2, than the following code must yell only "Hello two", but it does not: #delimit ; // comment di "Hello one"; di "Hello two"; // end of file I think it must yell only once, since everything from "//" till ";" must be a comment, and only di "Hello two"; must be executed. It seems that "*" and "//" are somehow different. I have an external program, that modifies .ado files to it's needs, and it get's confused in these situations. So any advice would be very welcomed. I am also experiencing difficulties with understanding priorities among the commentaries. Consider the following code: #delimit ; /*; /*; */; di "test"; */; di "test2"; // end of file If we run this code, only "test2" is output, because /* */ comments may be "shelled", so that if the comment is opened several times with "/*" Stata will require exactly as many "*/" to cancel the comment. It seems that "//" has priority and cancels "/*" and "*/": #delimit ; // /*; /*; */; di "test"; // */; di "test2"; // end of file (both "test" and "test2" are written). However, not always??? #delimit ; // /*; /*; // */; di "test"; // */; di "test2"; // end of file (If the above logic is true, than the comment is open in line 3 spans until the end of the file) In general, has anybody done parsing of a Stata .do / .ado file and could share a boolean function (in any language), which can answer whether a symbol (i,j) in the file is a part of a comment or not? (i - is the line number, j - position in line). If this is at all possible? Thank you, Sergiy Radyakin PS: I am working with Stata for Windows 9.2 if the version matters. On 5/1/08, Maarten buis <maartenbuis@yahoo.co.uk> wrote: > --- Sergiy Radyakin <serjradyakin@gmail.com> wrote: > > I have a question regarding the use of comments in Stata programs. > > > > The two possibilities to comment out a line of code are to put a "*" > > or "//" in the beginning of a line. > > > > The manual (e.g. online here: http://www.stata.com/help.cgi?comments) > > says: > > > > " * indicates that the line is to be ignored." > > and > > "// indicates that the rest of the line is to be ignored." > > > > Both definitions are using the concept of a "line". I would like to > > double-check, what is really meant by "line" in this context? > > that is determined by the -#delimit- command, see: -help #delimit-, but > by default a line ends with a carriage return. > > Hope this helps, > Maarten > > ----------------------------------------- > Maarten L. Buis > Department of Social Research Methodology > Vrije Universiteit Amsterdam > Boelelaan 1081 > 1081 HV Amsterdam > The Netherlands > > visiting address: > Buitenveldertselaan 3 (Metropolitan), room Z434 > > +31 20 5986715 > > http://home.fsw.vu.nl/m.buis/ > ----------------------------------------- * * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**Re: st: Stata comments***From:*Maarten buis <maartenbuis@yahoo.co.uk>

**References**:**st: Stata comments***From:*"Sergiy Radyakin" <serjradyakin@gmail.com>

**Re: st: Stata comments***From:*Maarten buis <maartenbuis@yahoo.co.uk>

- Prev by Date:
**st: Deleting Characters of a Var Name by index Number** - Next by Date:
**st: RE: Deleting Characters of a Var Name by index Number** - Previous by thread:
**Re: st: Stata comments** - Next by thread:
**Re: st: Stata comments** - Index(es):

© Copyright 1996–2024 StataCorp LLC | Terms of use | Privacy | Contact us | What's new | Site index |