Bareword found where operator expected at (eval 86) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 86) line 34, near "--82" (Missing operator before 82?) Gordon Vreugdenhil wrote: Bareword found where operator expected at (eval 88) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 88) line 34, near "--82" (Missing operator before 82?) > There is another important difference -- C++ doesn't have the Bareword found where operator expected at (eval 90) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 90) line 34, near "--82" (Missing operator before 82?) > additional "elaboration" phase that Verilog has and as a result Bareword found where operator expected at (eval 92) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 92) line 34, near "--82" (Missing operator before 82?) > essentially all "template" analysis is a compile time Bareword found where operator expected at (eval 94) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 94) line 34, near "--82" (Missing operator before 82?) > activity. Bareword found where operator expected at (eval 96) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 96) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 98) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 98) line 34, near "--82" (Missing operator before 82?) C++'s template instantiation phase is driven by a fixed-point linking Bareword found where operator expected at (eval 100) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 100) line 34, near "--82" (Missing operator before 82?) discipline that is essentially identical to design elaboration. The Bareword found where operator expected at (eval 102) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 102) line 34, near "--82" (Missing operator before 82?) compiler is not done cranking out template instantiations until no Bareword found where operator expected at (eval 103) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 103) line 34, near "--82" (Missing operator before 82?) new ones are demanded and the last one is specialized. Bareword found where operator expected at (eval 104) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 104) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 105) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 105) line 34, near "--82" (Missing operator before 82?) > In SV, different elaborations of a parameterized Bareword found where operator expected at (eval 106) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 106) line 34, near "--82" (Missing operator before 82?) > class create different universes for instantiation. Bareword found where operator expected at (eval 107) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 107) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 108) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 108) line 34, near "--82" (Missing operator before 82?) I don't understand the phrase "different universes for instantiation". Bareword found where operator expected at (eval 109) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 109) line 34, near "--82" (Missing operator before 82?) Of course each parameterization of an SV class, like a C++ template class Bareword found where operator expected at (eval 110) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 110) line 34, near "--82" (Missing operator before 82?) specialization, produces a particular class (a new data type) which then Bareword found where operator expected at (eval 111) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 111) line 34, near "--82" (Missing operator before 82?) governs the behavior of a family of class instances. That's like a Bareword found where operator expected at (eval 112) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 112) line 34, near "--82" (Missing operator before 82?) universe in which you can construct new instances... Bareword found where operator expected at (eval 113) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 113) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 114) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 114) line 34, near "--82" (Missing operator before 82?) > There is no corresponding concept in C++. Bareword found where operator expected at (eval 115) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 115) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 116) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 116) line 34, near "--82" (Missing operator before 82?) Which could be why I am not recognizing it. Are you sure that brief section Bareword found where operator expected at (eval 117) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 117) line 34, near "--82" (Missing operator before 82?) 7.23 is inventing something new under the sun? Bareword found where operator expected at (eval 118) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 118) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 119) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 119) line 34, near "--82" (Missing operator before 82?) > One implication of this is Bareword found where operator expected at (eval 120) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 120) line 34, near "--82" (Missing operator before 82?) > that a static pre-elaboration "name mangling" approach as used Bareword found where operator expected at (eval 121) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 121) line 34, near "--82" (Missing operator before 82?) > in C++ can't work in SV. Bareword found where operator expected at (eval 122) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 122) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 123) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 123) line 34, near "--82" (Missing operator before 82?) Name mangling is nothing more than an encoding of the scope and structural Bareword found where operator expected at (eval 124) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 124) line 34, near "--82" (Missing operator before 82?) info needed to uniquely characterize each type. The exact rules for type Bareword found where operator expected at (eval 125) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 125) line 34, near "--82" (Missing operator before 82?) identity in SV and in C++ are a bit different, but in both cases there is Bareword found where operator expected at (eval 126) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 126) line 34, near "--82" (Missing operator before 82?) a finite amount of info that must be known before the type comes into existence Bareword found where operator expected at (eval 127) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 127) line 34, near "--82" (Missing operator before 82?) and which can be encoded into a "mangled name". Mangled names can become Bareword found where operator expected at (eval 128) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 128) line 34, near "--82" (Missing operator before 82?) as interesting as Gödel numbers if you let them. Bareword found where operator expected at (eval 129) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 129) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 130) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 130) line 34, near "--82" (Missing operator before 82?) If you can prove that no name-mangling approach will ever work for SV, Bareword found where operator expected at (eval 131) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 131) line 34, near "--82" (Missing operator before 82?) then the game is up - the language is simply uncompilable. Bareword found where operator expected at (eval 132) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 132) line 34, near "--82" (Missing operator before 82?) This might be a true statement. For instance, if the language provides Bareword found where operator expected at (eval 133) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 133) line 34, near "--82" (Missing operator before 82?) a facility for deriving new types on the fly which exploit the differences Bareword found where operator expected at (eval 134) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 134) line 34, near "--82" (Missing operator before 82?) between distinct dynamic objects ( ones created only by the running simulation), Bareword found where operator expected at (eval 135) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 135) line 34, near "--82" (Missing operator before 82?) then those new types could not possibly be compiled during elaboration phase. Bareword found where operator expected at (eval 136) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 136) line 34, near "--82" (Missing operator before 82?) Gödel does have a proof about "incompleteness" of many formal systems. Bareword found where operator expected at (eval 137) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 137) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 138) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 138) line 34, near "--82" (Missing operator before 82?) But even dynamically invented types can be given unique mangled names - provided Bareword found where operator expected at (eval 139) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 139) line 34, near "--82" (Missing operator before 82?) you found a way to unambiguously encode the identity of the dynamic objects Bareword found where operator expected at (eval 140) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 140) line 34, near "--82" (Missing operator before 82?) that contribute to their definition. Bareword found where operator expected at (eval 141) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 141) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 142) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 142) line 34, near "--82" (Missing operator before 82?) Classes and structs in SV are *more* different than they are in C++. Bareword found where operator expected at (eval 143) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 143) line 34, near "--82" (Missing operator before 82?) The key element being the automatic dynamic memory management of SV class objects Bareword found where operator expected at (eval 144) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 144) line 34, near "--82" (Missing operator before 82?) which is unlike C++ and is not needed for SV static structs. Bareword found where operator expected at (eval 145) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 145) line 34, near "--82" (Missing operator before 82?) Parameterizing structs does not make them dynamic, however. So this Bareword found where operator expected at (eval 146) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 146) line 34, near "--82" (Missing operator before 82?) difference is preserved even if struct syntax is extended in this way. Bareword found where operator expected at (eval 147) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 147) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 148) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 148) line 34, near "--82" (Missing operator before 82?) Greg Bareword found where operator expected at (eval 149) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 149) line 34, near "--82" (Missing operator before 82?) Bareword found where operator expected at (eval 150) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 150) line 34, near "--82" (Missing operator before 82?) > Bareword found where operator expected at (eval 151) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 151) line 34, near "--82" (Missing operator before 82?) > Gord. Bareword found where operator expected at (eval 152) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 152) line 34, near "--82" (Missing operator before 82?) > Bareword found where operator expected at (eval 153) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 153) line 34, near "--82" (Missing operator before 82?) > Bareword found where operator expected at (eval 154) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 154) line 34, near "--82" (Missing operator before 82?) > Feldman, Yulik wrote: Bareword found where operator expected at (eval 155) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 155) line 34, near "--82" (Missing operator before 82?) > Bareword found where operator expected at (eval 156) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 156) line 34, near "--82" (Missing operator before 82?) >> What's the difference between this "parameterized" stuff and class Bareword found where operator expected at (eval 157) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 157) line 34, near "--82" (Missing operator before 82?) >> templates? Bareword found where operator expected at (eval 158) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 158) line 34, near "--82" (Missing operator before 82?) >> Bareword found where operator expected at (eval 159) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 159) line 34, near "--82" (Missing operator before 82?) >> [Yulik] “Parameterized” is a just a Verilog term for the same concept Bareword found where operator expected at (eval 160) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 160) line 34, near "--82" (Missing operator before 82?) >> which is known as “template” in C++. Even though “class” is a term Bareword found where operator expected at (eval 161) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 161) line 34, near "--82" (Missing operator before 82?) >> common to both languages, SV uses “parameterized class” terminology, Bareword found where operator expected at (eval 162) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 162) line 34, near "--82" (Missing operator before 82?) >> instead of C++’s “template class”, probably due to conceptual Bareword found where operator expected at (eval 163) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 163) line 34, near "--82" (Missing operator before 82?) >> similarity and consistency with the already established Verilog Bareword found where operator expected at (eval 164) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 164) line 34, near "--82" (Missing operator before 82?) >> terminology based on Verilog 95’s “parameters”. Bareword found where operator expected at (eval 165) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 165) line 34, near "--82" (Missing operator before 82?) >> Bareword found where operator expected at (eval 166) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 166) line 34, near "--82" (Missing operator before 82?) >> Bareword found where operator expected at (eval 167) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 167) line 34, near "--82" (Missing operator before 82?) >> Kev. Bareword found where operator expected at (eval 168) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 168) line 34, near "--82" (Missing operator before 82?) >> Bareword found where operator expected at (eval 169) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 169) line 34, near "--82" (Missing operator before 82?) >> Bareword found where operator expected at (eval 170) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 170) line 34, near "--82" (Missing operator before 82?) >> Bareword found where operator expected at (eval 171) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 171) line 34, near "--82" (Missing operator before 82?) > Bareword found where operator expected at (eval 172) line 34, near "--L386" (Missing operator before L386?) Number found where operator expected at (eval 172) line 34, near "--82" (Missing operator before 82?)Received on Fri Jun 16 12:38:24 2006
This archive was generated by hypermail 2.1.8 : Fri Jun 16 2006 - 12:38:30 PDT