Changes in / [df56e25:d96f7c4]
- Files:
-
- 2 edited
-
doc/theses/fangren_yu_MMath/intro.tex (modified) (1 diff)
-
src/AST/Expr.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/fangren_yu_MMath/intro.tex
rdf56e25 rd96f7c4 518 518 519 519 \begin{enumerate} 520 \item The \CFA compiler performance and capability have been greatly improved through recent development. The compilation time of various \CFA library units and test programs have been reduced from the order of minutes down to 10-20 seconds, which made it possible to develop and test more complicated \CFA programs that utilize sophisticated type system features. The details of compiler optimization work are covered in a previous technical report.521 \item The thesis presents a systematic review of the new features that have been added to the \CFA language and its type system. Some of the more recent inclusions to \CFA such as tuples and generic structure types were not well tested when they were being developed, due to the limitation of compiler performance. Several issues coming from the interactions of various language features are identified and discussed in this thesis; some of them are now fully resolved, while others are given temporary fixes and need to be reworked in the future.522 \item Finally, this thesis provides constructive ideas of fixing the outstanding issues in \CFA language design and implementation, and gives a path for future improvements to \CFA language and compiler.520 \item 521 \item 522 \item 523 523 \end{enumerate} 524 524 -
src/AST/Expr.cpp
rdf56e25 rd96f7c4 122 122 123 123 bool VariableExpr::get_lvalue() const { 124 // Special case for enumeration labels (more literals than variables):124 // It isn't always an lvalue, but it is never an rvalue. 125 125 if(dynamic_cast<const ast::EnumInstType *>(var->get_type())) return !var->isMember; 126 // The remaining uses are either actual variables (lvalues) or function127 // names which are a special value catagory that can be treated as128 // lvalues in the places we are worried about.129 126 return true; 130 127 }
Note:
See TracChangeset
for help on using the changeset viewer.