Skip to content
Success

Changes

Summary

  1. commenting (details)
  2. add tools/prettyprinter for promotion to GitHub (details)
  3. update citation file (details)
  4. add BibDir macro to user-manual Makefile (details)
  5. Breaks (and some other control flow) in a loop else clause now work. I also implemented else clauses in printing and code generation. (details)
Commit d796be70ffd585b1fe3d76c6c3d82d2213614cfd by Peter Buhr
commenting
The file was modifiedlibcfa/src/enum.cfa
The file was modifiedlibcfa/src/iostream.cfa
Commit 9f972c29bb62d7ebc6f312e238a3db25ef5bf335 by Peter Buhr
add tools/prettyprinter for promotion to GitHub
The file was modifiedMakefile.am
Commit 26d57cac47d80e7f55ea1c282a50819fccc70a61 by Peter Buhr
update citation file
The file was modifieddoc/bibliography/pl.bib
Commit b522435a970a5276ab0224946f7505dd26f33118 by Peter Buhr
add BibDir macro to user-manual Makefile
The file was modifieddoc/user/Makefile
Commit 88bc8767b6502fe26936931ac4d52200490e035d by ajbeach
Breaks (and some other control flow) in a loop else clause now work. I also implemented else clauses in printing and code generation.
The file was modifiedsrc/AST/Print.cpp
The file was modifiedsrc/CodeGen/CodeGenerator.cpp
The file was modifiedtests/ctrl-flow/loop_else.cfa
The file was modifiedsrc/ControlStruct/MultiLevelExit.cpp
The file was modifiedtests/ctrl-flow/.expect/loop_else.txt

Summary

  1. first attempt at updating enum auxiliary operations (details)
  2. clarify for-control for enumerations (details)
  3. 1. Disallow implicit conversion from cfa enum to int during on the function call site; 2. implement the reverse enum loop (details)
  4. add +~ and +~= for-control operators to match with -~ and -~= operators (details)
  5. put back quasi_void print (details)
  6. Added some notes about how to enable heap statistics. Reformated some of the related macro code to make it a bit more compact and hopefully clearer. (details)
  7. remove calls to label() from planet program (details)
  8. Fix the bug that C style enum cannot to use as an lvalue (details)
  9. Allow explict conversion from cfa enum to int (while disallow implicit) (details)
  10. Current enum has bug when use as a reference as in ?++. Change TranslateEnumRange to use succ and pred instead. Will look back into the reference problem (details)
  11. change basic_ostream to ostream, first attempt of enumeration input (details)
  12. remove unnecessary assignment when looping with a structure type (details)
  13. formatting (details)
  14. change enumeration posE to posn (details)
  15. fix enumeration input to use reference type (details)
  16. inline enum relational and increment operators, comment out loop causing compiler segment fault (details)
  17. update 'Too many recursive assertions' error message with possible cause (details)
  18. Added some code near the end of main to improve some internal statistics (about a tenth of all allocations seem to be missing a deallocation). Also some clean-up of passes in main. (details)
  19. One extra whitespace line removed. I do not believe that represented an important ordering point. (details)
  20. Change (enum) range loop so that it works on any type that define succ() and upperBound() (details)
  21. replace decl->base with isTyped() (details)
  22. Fix the bug that enum {} var syntax cannot be recognized as cfa enum (details)
  23. Fixed spelling mistake. (I'm 99% sure.) (details)
  24. Made string literals constants. Preformed required updates. Resisted preforming large refactoring. (details)
  25. Constant strings on input. The previous changes only effected generated code. (details)
  26. Reverted the change to the compiler. The other changes are both practically and theoretically correct. (details)
  27. add lstlisting for Pascal (details)
  28. harmonize format of section titles (details)
  29. proofreading array chapter (details)
  30. update example programs (details)
  31. update target names for running test suite (details)
  32. formatting (details)
  33. update reading boolean and match text (details)
  34. fix selecting wrong input operator for enumeration, first attempt at reading enumerators (details)
  35. set return argument for boolean read (details)
  36. allow empty global declaration ';', adjust semi-colon rules after static_assert (details)
  37. Added an overview of how named parameters could be added to Cforall. (details)
  38. Fixed the problem when enum use another enumerator as initializer (details)
  39. Add attribute functions back after the bug fix (details)
  40. Fix the bug with typed anomynous enum got incorrect forward declaration (details)
  41. corrections, update loop control (details)
  42. Visit the else_ children of loops. I don't know how things worked this long, but hopefully it will not matter going forward. (details)
  43. Remove quasi_void for enums. The idea of quasi_void from Mike was to get around some resolution problem that enum pick function defines for Bounded over CfaEnum/TypedEnum. But it is not clear that how often this can happen, and cfa might change the cast function scheme in the future. (change cost comparison scheme) Deprecate quasi_void for now so that enum traits looks cleaner without the dummy type for opaque enums (details)
  44. Not sure why we copy in the return values all the time, but we do. This prevents an unused error from appearing when the library is being compiled (shows up about 4 times right now). Switching some passes around might have also solved the problem, but I think we should be generating normalized code instead of mixing in the normalization and code generation. (details)
  45. 1. Add bound check to Serial function: now compiler generates the unchecked functions in ImplementEnumFunc, and enum.hfa implements the bound check on top. Todo: Wrapped the checked version into a trait; 2. countof is now works on any type that implement Countof(). Because Countof() is implemented in enum.hfa for all CfaEnum, we can call countof on { T | CfaEnum(T) } (details)
  46. Remove automatic conversion from Enum type name to its len; change With() semantic for enum to avoid type ambiguity (not fully implemented) (details)
  47. change assert to abort, second attempt to read enumerators (details)
  48. change order of ungetc parameters to harmonize with C ungetc (details)
  49. add enumeration planet program to test suite (details)
  50. move planet test under directory enum_tests (details)
  51. Silenced a warning. (details)
  52. update CFAenum.tex (details)
  53. grammar fixed by a dsoftware (details)
  54. commenting (details)
  55. add tools/prettyprinter for promotion to GitHub (details)
  56. update citation file (details)
  57. add BibDir macro to user-manual Makefile (details)
Commit d5efcb72910e612e3c6dc8ed684f24bef154e8fd by Peter Buhr
first attempt at updating enum auxiliary operations
The file was modifiedlibcfa/src/enum.cfa
The file was modifiedlibcfa/src/enum.hfa
Commit 55ba259e5caba35d6cde03fc3df5cefc7127dbb2 by Peter Buhr
clarify for-control for enumerations
The file was modifiedsrc/Parser/parser.yy
Commit d3aa55e994d9978b6eeed324d12124cd1e92a452 by j82liang
1. Disallow implicit conversion from cfa enum to int during on the function call site; 2. implement the reverse enum loop
The file was modifiedsrc/Parser/StatementNode.cpp
The file was modifiedsrc/AST/Stmt.hpp
The file was modifiedsrc/Parser/parser.yy
The file was modifiedsrc/ResolvExpr/CastCost.cpp
The file was modifiedsrc/ResolvExpr/ConversionCost.cpp
The file was modifiedsrc/Parser/StatementNode.hpp
The file was modifiedsrc/ResolvExpr/Unify.cpp
The file was modifiedsrc/ResolvExpr/CandidateFinder.cpp
The file was modifiedsrc/ControlStruct/TranslateEnumRange.cpp
Commit 01afd8dcb43dbce4998199e38bd0d1532596bcf2 by Peter Buhr
add +~ and +~= for-control operators to match with -~ and -~= operators
The file was modifiedsrc/Parser/lex.ll
The file was modifiedsrc/Parser/parser.yy
Commit 259012e3d5cbf2639379fff3cc51ef41fb9cb5cf by Peter Buhr
put back quasi_void print
The file was modifiedlibcfa/src/enum.cfa
The file was modifiedlibcfa/src/enum.hfa
Commit 3c55fcdbcd55d1744f1b2f592b1b158517e23781 by ajbeach
Added some notes about how to enable heap statistics. Reformated some of the related macro code to make it a bit more compact and hopefully clearer.
The file was modifiedsrc/Common/Stats/Heap.cpp
Commit 62a38e7163533b0703d430f886153d214c2776f6 by Peter Buhr
remove calls to label() from planet program
The file was modifieddoc/theses/jiada_liang_MMath/test2.cfa
The file was modifieddoc/theses/jiada_liang_MMath/CFAenum.tex
Commit 5ccc7336506cd07739e57f3df639075f216ba4fb by j82liang
Fix the bug that C style enum cannot to use as an lvalue
The file was modifiedsrc/ResolvExpr/CastCost.cpp
The file was modifiedsrc/ResolvExpr/CommonType.cpp
The file was modifiedsrc/ResolvExpr/ConversionCost.cpp
The file was modifiedsrc/ControlStruct/TranslateEnumRange.cpp
The file was modifiedsrc/Parser/TypeData.cpp
The file was modifiedsrc/AST/Decl.hpp
The file was modifiedsrc/Validate/ImplementEnumFunc.cpp
The file was modifiedsrc/AST/Decl.cpp
Commit 115ac1ce0d47f2436e81df2b549cc72511998c84 by j82liang
Allow explict conversion from cfa enum to int (while disallow implicit)
The file was modifiedsrc/ResolvExpr/CastCost.cpp
Commit 73d0e3f4e0ab67804cda0bdfa2660e3905620544 by j82liang
Current enum has bug when use as a reference as in ?++. Change TranslateEnumRange to use succ and pred instead. Will look back into the reference problem
The file was modifiedlibcfa/src/enum.hfa
The file was modifiedlibcfa/src/enum.cfa
The file was modifiedsrc/ControlStruct/TranslateEnumRange.cpp
Commit 64eeb06f9e2ea8935a52bacf0f358cc774221c00 by Peter Buhr
change basic_ostream to ostream, first attempt of enumeration input
The file was modifiedlibcfa/src/enum.hfa
The file was modifiedlibcfa/src/enum.cfa
Commit 72abc90a93dc111c0637aacaf9ef518186e134ba by Peter Buhr
remove unnecessary assignment when looping with a structure type
The file was modifiedtests/ctrl-flow/loopctrl.cfa
Commit 7f8c2323f117b7143014f347174bd00ad62cf18e by Peter Buhr
formatting
The file was modifieddoc/theses/jiada_liang_MMath/test2.cfa
Commit c40a98268f7ac3be26d179ba49352c2b1fbcb0fd by Peter Buhr
change enumeration posE to posn
The file was modifieddoc/theses/jiada_liang_MMath/test1.cfa
Commit bc48c0d2a69ed59cb73030a516c35a7450cd60f0 by Peter Buhr
fix enumeration input to use reference type
The file was modifiedlibcfa/src/enum.hfa
Commit 062467baf2156172537dfdf1517902cb530331a6 by Peter Buhr
inline enum relational and increment operators, comment out loop causing compiler segment fault
The file was modifiedlibcfa/src/enum.cfa
The file was modifiedlibcfa/src/enum.hfa
Commit 597f28439bb7a7c7930eaafb31d0f41a67c2fd6c by Peter Buhr
update 'Too many recursive assertions' error message with possible cause
The file was modifiedsrc/ResolvExpr/SatisfyAssertions.cpp
Commit 7fe4adbb9b6817b4a0fb1a558d04538aec2b7754 by ajbeach
Added some code near the end of main to improve some internal statistics (about a tenth of all allocations seem to be missing a deallocation). Also some clean-up of passes in main.
The file was modifiedsrc/Validate/ImplementEnumFunc.hpp
The file was modifiedsrc/main.cpp
Commit 793eb2f7c8d2bbc20a7f482b1ddd024187c91f5d by ajbeach
One extra whitespace line removed. I do not believe that represented an important ordering point.
The file was modifiedsrc/main.cpp
Commit 6d2b3dcd9e518ea112923a8e83105ce7a4a77fd6 by j82liang
Change (enum) range loop so that it works on any type that define succ() and upperBound()
The file was modifiedsrc/Parser/parser.yy
The file was modifiedsrc/Parser/StatementNode.cpp
The file was modifiedlibcfa/src/enum.cfa
The file was modifiedsrc/ControlStruct/TranslateEnumRange.cpp
Commit f8f298c573e67eab13017b76801450a46e597d21 by j82liang
replace decl->base with isTyped()
The file was modifiedsrc/AST/Decl.cpp
The file was modifiedsrc/Validate/ImplementEnumFunc.cpp
Commit 99f7f37f62c6c32f096c69e3cbfc27235c62ad4a by j82liang
Fix the bug that enum {} var syntax cannot be recognized as cfa enum
The file was modifiedsrc/Parser/TypeData.hpp
The file was modifiedsrc/Parser/DeclarationNode.cpp
The file was modifiedsrc/Parser/TypeData.cpp
Commit 8c55d34a854e9f5c43d8f5d4eb3fe88c32222f64 by ajbeach
Fixed spelling mistake. (I'm 99% sure.)
The file was modifiedsrc/AST/Decl.cpp
The file was modifiedsrc/AST/Decl.hpp
The file was modifiedsrc/Parser/TypeData.cpp
Commit c2cf2d02c178c5380965cdd16a90c4de037542a5 by ajbeach
Made string literals constants. Preformed required updates. Resisted preforming large refactoring.
The file was modifiedsrc/Validate/ImplementEnumFunc.cpp
The file was modifiedsrc/AST/Expr.cpp
Commit 550afde2bf08516ecfe20278bc3e7505fc6c2713 by ajbeach
Constant strings on input. The previous changes only effected generated code.
The file was modifiedlibcfa/src/parseargs.cfa
The file was modifiedsrc/Parser/ExpressionNode.cpp
Commit 5a2b0b7b0e883c8c1b2c41ceb67ef7f7c2f6b900 by ajbeach
Reverted the change to the compiler. The other changes are both practically and theoretically correct.
The file was modifiedsrc/Parser/ExpressionNode.cpp
Commit f06ba98c491d342c3a0baffcf9e96cf93c226db9 by Peter Buhr
add lstlisting for Pascal
The file was modifieddoc/theses/mike_brooks_MMath/uw-ethesis.tex
Commit 1e110bffa193f11fc02b3e412b060f1b5bcfea22 by Peter Buhr
harmonize format of section titles
The file was modifieddoc/theses/mike_brooks_MMath/conclusion.tex
The file was modifieddoc/theses/mike_brooks_MMath/intro.tex
The file was modifieddoc/theses/mike_brooks_MMath/background.tex
The file was modifieddoc/theses/mike_brooks_MMath/string.tex
Commit 5a553e2df9bdb97f72584d0230a506cd8c69456a by Peter Buhr
proofreading array chapter
The file was modifieddoc/theses/mike_brooks_MMath/array.tex
Commit e26a84207c9c592dbed209acfb363a8d8a58bbc1 by Peter Buhr
update example programs
The file was modifieddoc/theses/mike_brooks_MMath/programs/hello-md.cfa
The file was modifieddoc/theses/mike_brooks_MMath/programs/hello-array.cfa
The file was modifieddoc/theses/mike_brooks_MMath/programs/lst-issues-wrapped-byref.run.cpp
The file was modifieddoc/theses/mike_brooks_MMath/programs/bkgd-carray-arrty.c
The file was modifieddoc/theses/mike_brooks_MMath/programs/hello-accordion.cfa
The file was modifieddoc/theses/mike_brooks_MMath/programs/lst-issues-attach-reduction.hpp
Commit 061b001218ffd1d509ae34c3da5a36134799b5c0 by Peter Buhr
update target names for running test suite
The file was modifiedINSTALL
Commit a4e1b09472ce1a23ac08c2a4f5e43abc5733f070 by Peter Buhr
formatting
The file was modifiedlibcfa/src/parseargs.hfa
The file was modifiedlibcfa/src/parseargs.cfa
Commit c015e2dcbed8c4388510773acdb9b6ea0ee94b78 by Peter Buhr
update reading boolean and match text
The file was modifiedlibcfa/src/iostream.cfa
The file was modifiedlibcfa/src/iostream.hfa
Commit d287f3e5d5a48876b9445786177d15a61ac9c921 by Peter Buhr
fix selecting wrong input operator for enumeration, first attempt at reading enumerators
The file was modifiedlibcfa/src/enum.cfa
The file was modifiedlibcfa/src/enum.hfa
Commit 2f4c9100be60dcd0d7006a9dffcf6c6ae4291fa2 by Peter Buhr
set return argument for boolean read
The file was modifiedlibcfa/src/iostream.cfa
Commit b9f6791f4f6e84f2182564d3cec2e3011804743a by Peter Buhr
allow empty global declaration ';', adjust semi-colon rules after static_assert
The file was modifiedsrc/Parser/parser.yy
Commit f3811df764dba6d23cfc40e5338a30b88018fa1f by ajbeach
Added an overview of how named parameters could be added to Cforall.
The file was addeddoc/proposals/named-parameters.md
Commit bb336a684788d9fc2c050ab2f56c25353648314a by j82liang
Fixed the problem when enum use another enumerator as initializer
The file was modifiedlibcfa/src/enum.hfa
The file was modifiedsrc/AST/Create.hpp
The file was modifiedsrc/Validate/ImplementEnumFunc.cpp
The file was modifiedsrc/Validate/Autogen.cpp
The file was modifiedsrc/ResolvExpr/ResolveTypeof.cpp
The file was modifiedsrc/AST/Create.cpp
Commit 725f777f7021ba28ca4e91128ba3bb63e7b14a46 by j82liang
Add attribute functions back after the bug fix
The file was modifiedsrc/Validate/ImplementEnumFunc.cpp
Commit 9d5eacb77f6659b84df326bf35fe21bcde7e425b by j82liang
Fix the bug with typed anomynous enum got incorrect forward declaration
The file was modifiedsrc/ResolvExpr/ResolveTypeof.cpp
The file was modifiedsrc/Validate/Autogen.cpp
The file was modifiedsrc/Validate/ImplementEnumFunc.cpp
The file was modifiedsrc/Parser/DeclarationNode.hpp
Commit 3be81a4f4d89f40c05e9d5218b3b49580d239127 by Peter Buhr
corrections, update loop control
The file was modifieddoc/user/user.tex
Commit 358e3481532c4a664f6dc35f8bec22c252d9e7f3 by ajbeach
Visit the else_ children of loops. I don't know how things worked this long, but hopefully it will not matter going forward.
The file was modifiedsrc/AST/Pass.impl.hpp
Commit 236f13390c74aff36386095c9fc9fff394243822 by j82liang
Remove quasi_void for enums. The idea of quasi_void from Mike was to get around some resolution problem that enum pick function defines for Bounded over CfaEnum/TypedEnum. But it is not clear that how often this can happen, and cfa might change the cast function scheme in the future. (change cost comparison scheme) Deprecate quasi_void for now so that enum traits looks cleaner without the dummy type for opaque enums
The file was modifiedlibcfa/src/enum.cfa
The file was modifiedlibcfa/src/enum.hfa
The file was modifiedsrc/Validate/ImplementEnumFunc.cpp
The file was addedtests/enum_tests/.expect/voidEnum.txt
The file was modifiedtests/enum_tests/voidEnum.cfa
Commit 3e135c895c889427f3db85749ee5eab83dd48070 by ajbeach
Not sure why we copy in the return values all the time, but we do. This prevents an unused error from appearing when the library is being compiled (shows up about 4 times right now). Switching some passes around might have also solved the problem, but I think we should be generating normalized code instead of mixing in the normalization and code generation.
The file was modifiedsrc/Virtual/Tables.cpp
Commit 0c327cee778443a440104253db33557cee4d2a92 by j82liang
1. Add bound check to Serial function: now compiler generates the unchecked functions in ImplementEnumFunc, and enum.hfa implements the bound check on top. Todo: Wrapped the checked version into a trait; 2. countof is now works on any type that implement Countof(). Because Countof() is implemented in enum.hfa for all CfaEnum, we can call countof on { T | CfaEnum(T) }
The file was modifiedsrc/ResolvExpr/CandidateFinder.cpp
The file was modifiedsrc/AST/Print.cpp
The file was modifiedsrc/AST/Expr.hpp
The file was modifiedsrc/ControlStruct/TranslateEnumRange.cpp
The file was modifiedlibcfa/src/enum.cfa
The file was modifiedlibcfa/src/enum.hfa
The file was modifiedsrc/AST/Pass.impl.hpp
The file was modifiedsrc/Validate/ImplementEnumFunc.cpp
The file was modifiedsrc/Parser/parser.yy
The file was modifiedsrc/AST/Expr.cpp
Commit 8315947b914ae5bb9508eeafa64f85f406f80c05 by j82liang
Remove automatic conversion from Enum type name to its len; change With() semantic for enum to avoid type ambiguity (not fully implemented)
The file was modifiedsrc/Validate/GenericParameter.cpp
The file was modifiedsrc/AST/SymbolTable.cpp
The file was modifiedsrc/ResolvExpr/Resolver.cpp
Commit 2e6b2a0cdf026678c7c51511aafdf3469882532f by Peter Buhr
change assert to abort, second attempt to read enumerators
The file was modifiedlibcfa/src/enum.cfa
The file was modifiedlibcfa/src/enum.hfa
Commit a1a1f37d7d17459fbc460ce2bf20161d668d4835 by Peter Buhr
change order of ungetc parameters to harmonize with C ungetc
The file was modifiedlibcfa/src/fstream.cfa
The file was modifiedlibcfa/src/iostream.hfa
The file was modifiedlibcfa/src/strstream.cfa
The file was modifiedlibcfa/src/iostream.cfa
The file was modifiedlibcfa/src/strstream.hfa
The file was modifiedlibcfa/src/fstream.hfa
Commit eb5dbfd5db14265792ea9959c449ef9c5a6f9b6e by Peter Buhr
add enumeration planet program to test suite
The file was addedtests/.expect/planet.txt
The file was addedtests/.in/planet.txt
The file was addedtests/planet.cfa
Commit b2ca052c6b66e015e17293b4e6096ade2df2985d by Peter Buhr
move planet test under directory enum_tests
The file was addedtests/enum_tests/planet.cfa
The file was removedtests/planet.cfa
The file was addedtests/enum_tests/.expect/planet.txt
The file was removedtests/.in/planet.txt
The file was removedtests/.expect/planet.txt
The file was addedtests/enum_tests/.in/planet.txt
Commit bfa7bf0d6e9d62479e746302c0d02bbf4ed4c0ed by ajbeach
Silenced a warning.
The file was modifiedsrc/ResolvExpr/CandidateFinder.cpp
Commit dc1c43080c7e19efbb0190198c9459ca44c5774f by j82liang
update CFAenum.tex
The file was modifieddoc/theses/jiada_liang_MMath/CFAenum.tex
Commit 09dd830d5391f11b3366f154f50709112d1ab25f by j82liang
grammar fixed by a dsoftware
The file was modifieddoc/theses/jiada_liang_MMath/CFAenum.tex
Commit d796be70ffd585b1fe3d76c6c3d82d2213614cfd by Peter Buhr
commenting
The file was modifiedlibcfa/src/iostream.cfa
The file was modifiedlibcfa/src/enum.cfa
Commit 9f972c29bb62d7ebc6f312e238a3db25ef5bf335 by Peter Buhr
add tools/prettyprinter for promotion to GitHub
The file was modifiedMakefile.am
Commit 26d57cac47d80e7f55ea1c282a50819fccc70a61 by Peter Buhr
update citation file
The file was modifieddoc/bibliography/pl.bib
Commit b522435a970a5276ab0224946f7505dd26f33118 by Peter Buhr
add BibDir macro to user-manual Makefile
The file was modifieddoc/user/Makefile