Stephen Williams
919fd22a79
Handle the special case that constructor only chains.
...
Fix the case that a constructure is only a chaining constructor,
with no other content.
2020-11-22 16:13:01 -08:00
Martin Whitaker
b88d91c617
Create new base class for all named items that can be added to a scope.
...
Provide a helper function to identify the derived classes when reporting
errors.
2019-09-27 22:19:30 +01:00
Stephen Williams
6ec31517a9
Implement $bits(type) to get the size of a type
...
In the process, I implemented a means to get at
previously elaborated types from the pform type
pointer.
2014-01-11 19:19:15 -08:00
Cary R
676786a399
Remove compile warning
2013-11-20 11:29:59 -08:00
Stephen Williams
f16fd03dab
Elaborate PChainConstructor calls.
...
It is better to leave the handling of PChainConstructor calls to
the elaboration, instead of stripping them out early. This allows
for handling the arguments of the chain constructor in the correct
scope.
2013-11-10 18:03:19 -08:00
Stephen Williams
a7d8c983ba
Blend initializer statements into any explicit constructor.
...
If there is an explicit constructor, then blend all the statements
of the implicit constructor into it so that there is only one
constructor function.
2013-11-10 18:03:19 -08:00
Stephen Williams
d192f545ac
Chain class instance constructors with arguments.
2013-11-10 18:03:19 -08:00
Stephen Williams
20ee350601
Generalize user defined function return type handling.
...
I'm gonna need functions to return class objects, so generalize
the output types of user defined functions.
2013-04-20 16:38:35 -07:00
Stephen Williams
17330a3073
Elaborate class task and function methods.
...
The parse of class methods already works, this patch forms
the methods into their own scopes, and elaborates those scopes.
The "this"
2013-03-24 15:12:35 -07:00
Stephen Williams
fac5cbca43
Handle this as special identifier strings. / Organize pform class member binding
2013-03-24 15:03:52 -07:00
Stephen Williams
670601bc2a
Mark class method pforms with their pform class.
2013-03-24 15:03:52 -07:00
Stephen Williams
25b48fa790
Remove svector template from port handling.
2013-03-24 15:03:52 -07:00
Arun Persaud
f5aafc32f9
updated FSF-address
2012-08-29 10:12:10 -07:00
Martin Whitaker
b4f070e60b
Rework of lexical scope handling in parser.
...
This patch modifies the parser to use a single stack to track lexical
scopes, rather than starting a new stack for each generate construct.
2010-01-12 10:41:43 -08:00
Larry Doolittle
3adcbb5611
Shadow reduction part 2
...
Continue cleaning up shadowed variables, flagged by turning on -Wshadow.
No intended change in functionality. Patch looks right, and is tested
to compile and run on my machine. No regressions in test suite.
2008-10-13 20:12:47 -07:00
Cary R
11109f519c
Push the automatic property for tasks and functions to the code gen.
...
This patch pushes the automatic property for both tasks and
functions to the code generators. The vvp back end does not
currently support this so it will error out during code
generation. The VHDL back end should be able to use this
property and tgt-stub prints the property. Having this will
also make it easier when we do adding this to the runtime.
2008-08-20 09:23:14 -07:00
Stephen Williams
b0e4a6884a
Objects of lexical scope use PScope base class.
...
All the pform objects that represent lexical scope now are derived
from the PScope class, and are kept in a lexical_scope table so that
the scope can be managed.
2008-02-15 21:20:24 -08:00
Stephen Williams
3f2fa29482
Factor compile-time scopes into PScope class
...
Modules, functions and tasks are named scopes so derive them all
from the PScope base class. These items all take scoped items, so
the eventual plan is to move these items into PScope.
2008-02-13 19:59:05 -08:00
steve
5472b27e1f
Rewire/generalize parsing an elaboration of
...
function return values to allow for better
speed and more type support.
2004-05-31 23:34:36 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
b825f8d2b2
Create a config.h.in file to hold all the config
...
junk, and support gcc 3.0. (Stephan Boettcher)
2001-07-25 03:10:48 +00:00
steve
02fc59fbdf
Parse parameters within nested scopes.
2001-01-13 22:20:08 +00:00
steve
b734ecf02f
Macintosh compilers do not support ident.
2000-02-23 02:56:53 +00:00
steve
23acca48ff
elaborate some aspects of functions.
1999-08-25 22:22:41 +00:00
steve
dae5916ae1
Add functions up to elaboration (Ed Carter)
1999-08-01 06:10:51 +00:00