Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
László Sándor <sandorl@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: question: mata compilation line skip rules |

Date |
Thu, 29 Mar 2012 16:27:12 -0400 |

Thanks, Maarten, this is great. Would the lines below mean that the source I copied from Ben's -moremata- does not compile for me for some reason? : real colvector _mm_panels(transmorphic vector X, | real scalar np) > { > real scalar i, j, r > real colvector res > > r = length(X) > if (r<1) return(J(0,1,.)) > if (args()<2) np = r > res = J(np, 1, 1) > j = 1 > for (i=2; i<=r; i++) { > if (X[i]==X[i-1]) res[j] = res[j] + 1 > else j++ > } > if (j==r) return(res) > return(res[|1 \ j|]) > } : : *! nothing found where subexp expected (131 lines skipped) ------------------------------------------------------------------------------------------------------------------------------------------------- r(3000); What comes after this part of my code (if what crashed is already omitted) is: *! *! mm_callf.mata *! version 1.0.1, Ben Jann, 16jun2006 version 9.2 local o1 "o1" local po1 "*p.o1" forv i=2/10 { local o`i' "`o`=`i'-1'', o`i'" local po`i' "`po`=`i'-1'', *p.o`i'" } On Thu, Mar 29, 2012 at 4:03 PM, Maarten Buis <maartenlbuis@gmail.com> wrote: > 2012/3/29 László Sándor : >> One of the biggest hints one gets when Mata does not compile is how >> many lines were skipped. (I cannot get myself a line number with -set >> matalnum- or -set matadebug-.) >> >> I could not find the documentation on the rules how this is done. How >> could I reverse engineer which piece of my code did not compile? >> >> I have an ado file with multiple Mata function definitions at the end, >> also cross-referencing to one another. > > One way is to open the ado file in the do-file editor and do that .ado > file. This in essence treats the .ado file as a .do file that creates > a (set of) program(s) and Mata functions. You usually have to first > type -clear all- to make sure none of these aren't already in memory. > What you are looking for are the first error messages in the Mata > section. These are usually a pretty good indicator of where the > problem is. The later error messages are usually just the results of > the earlier errors and not very informative. > > Hope this helps, > Maarten > > -------------------------- > Maarten L. Buis > Institut fuer Soziologie > Universitaet Tuebingen > Wilhelmstrasse 36 > 72074 Tuebingen > Germany > > > http://www.maartenbuis.nl > -------------------------- > > * > * For searches and help try: > * http://www.stata.com/help.cgi?search > * http://www.stata.com/support/statalist/faq > * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**Re: st: question: mata compilation line skip rules***From:*László Sándor <sandorl@gmail.com>

**References**:**st: question: mata compilation line skip rules***From:*László Sándor <sandorl@gmail.com>

**Re: st: question: mata compilation line skip rules***From:*Maarten Buis <maartenlbuis@gmail.com>

- Prev by Date:
**Re: st: question: mata compilation line skip rules** - Next by Date:
**Re: st: question: mata compilation line skip rules** - Previous by thread:
**Re: st: question: mata compilation line skip rules** - Next by thread:
**Re: st: question: mata compilation line skip rules** - Index(es):