Changes in / [fba51ab:70a3e16]
- Files:
-
- 3 edited
-
doc/LaTeXmacros/lstlang.sty (modified) (2 diffs)
-
doc/bibliography/pl.bib (modified) (14 diffs)
-
src/Parser/parser.yy (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
doc/LaTeXmacros/lstlang.sty
rfba51ab r70a3e16 8 8 %% Created On : Sat May 13 16:34:42 2017 9 9 %% Last Modified By : Peter A. Buhr 10 %% Last Modified On : Tue Jan 8 14:40:33 201911 %% Update Count : 2 110 %% Last Modified On : Fri Apr 6 23:44:50 2018 11 %% Update Count : 20 12 12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 13 13 … … 114 114 _Alignas, _Alignof, __alignof, __alignof__, asm, __asm, __asm__, __attribute, __attribute__, 115 115 auto, _Bool, catch, catchResume, choose, _Complex, __complex, __complex__, __const, __const__, 116 coroutine, disable, dtype, enable, exception, __extension__, fallthrough, fallthru, finally,116 coroutine, disable, dtype, enable, __extension__, exception, fallthrough, fallthru, finally, 117 117 __float80, float80, __float128, float128, forall, ftype, _Generic, _Imaginary, __imag, __imag__, 118 118 inline, __inline, __inline__, __int128, int128, __label__, monitor, mutex, _Noreturn, one_t, or, -
doc/bibliography/pl.bib
rfba51ab r70a3e16 330 330 contributer = {pabuhr@plg}, 331 331 author = {Nissim Francez}, 332 title = {Another Advantage of Key word Notation for Parameter Communication with Subprograms},332 title = {Another Advantage of Key word Notation for Parameter Communication with Subprograms}, 333 333 journal = cacm, 334 334 volume = 20, … … 831 831 year = 2015, 832 832 howpublished= {\href{http://www.boost.org/doc/libs/1_61_0/libs/coroutine/doc/html/index.html} 833 {http://www.boost.org/\-doc/\-libs/1\_61\_0/\-libs/\-coroutine/\-doc/\-html/\-index.html}}, 834 optnote = {Accessed: 2016-09}, 835 } 836 837 @misc{BoostThreads, 838 keywords = {Boost Thread Library}, 839 contributer = {pabuhr@plg}, 840 author = {Anthony Williams and Vicente J. Botet Escriba}, 841 title = {Boost Thread Library}, 842 year = 2015, 843 howpublished= {\href{https://www.boost.org/doc/libs/1_61_0/doc/html/thread.html} 844 {https://\-www.boost.org/\-doc/\-libs/\-1\_61\_0/\-doc/\-html/\-thread.html}}, 833 {{http://www.boost.org/\-doc/\-libs/1\_61\_0/\-libs/\-coroutine/\-doc/\-html/\-index.html}}}, 845 834 optnote = {Accessed: 2016-09}, 846 835 } … … 3001 2990 } 3002 2991 3003 @manual{WindowsFibers,3004 keywords = {threads, fibers},3005 contributer = {pabuhr@plg},3006 author = {Windows},3007 title = {Fibers},3008 organization= {Microsoft, Windows Development Center},3009 address = {\href{https://docs.microsoft.com/en-us/windows/desktop/ProcThread/fibers}{https://\-docs.microsoft.com/\-en-us/\-windows/\-desktop/\-ProcThread/\-fibers}},3010 year = 2018,3011 }3012 3013 2992 @inproceedings{F-bound, 3014 2993 keywords = {}, … … 3058 3037 } 3059 3038 3060 @manual{Folly,3061 keywords = {Folly},3062 contributer = {pabuhr@plg},3063 author = {Folly},3064 title = {Facebook Open-source Library},3065 organization= {Facebook},3066 address = {\href{https://github.com/facebook/folly}{https://\-github.com/\-facebook/\-folly}},3067 year = 2018,3068 }3069 3070 3039 @manual{Fortran95, 3071 3040 keywords = {Fortran 95}, … … 3088 3057 address = {\href{https://www.iso.org/standard/50459.html}{https://\-www.iso.org/\-standard/\-50459.html}}, 3089 3058 year = 2010, 3090 }3091 3092 @manual{Fortran18,3093 keywords = {ISO/IEC Fortran 10},3094 contributer = {pabuhr@plg},3095 author = {Fortran18},3096 title = {Programming Languages -- {Fortran} Part 1:Base Language ISO/IEC 1539-1:2018},3097 edition = {4rd},3098 publisher = {International Standard Organization},3099 address = {\href{https://www.iso.org/standard/72320.html}{https://\-www.iso.org/\-standard/\-72320.html}},3100 year = 2018,3101 3059 } 3102 3060 … … 3663 3621 year = {1964}, 3664 3622 publisher = {ACM} 3665 }3666 3667 @phdthesis{Barghi18,3668 keywords = {concurrency, user threads, actors},3669 contributer = {pabuhr@plg},3670 author = {Saman Barghi},3671 title = {Improving the Performance of User-level Runtime Systems for Concurrent Applications},3672 school = {School of Computer Science, University of Waterloo},3673 year = 2018,3674 month = sep,3675 optaddress = {Waterloo, Ontario, Canada, N2L 3G1},3676 note = {\href{https://uwspace.uwaterloo.ca/handle/10012/13935}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-13935}},3677 3623 } 3678 3624 … … 4002 3948 year = 2015, 4003 3949 edition = {{J}ava {SE} 8}, 4004 }4005 4006 @manual{Java11,4007 keywords = {Java SE 11},4008 contributer = {pabuhr@plg},4009 author = {James Gosling and Bill Joy and Guy Steele and Gilad Bracha and Alex Buckley and Daniel Smith},4010 title = {{Java} Language Specification},4011 publisher = {Oracle},4012 month = sep,4013 year = 2018,4014 edition = {{J}ava {SE} 11},4015 }4016 4017 @manual{JDK1.1,4018 keywords = {JDK 1.1},4019 contributer = {pabuhr@plg},4020 author = {{Multithreading Models}},4021 title = {JDK 1.1 for Solaris Developer's Guide},4022 publisher = {Oracle},4023 address = {\href{https://docs.oracle.com/cd/E19455-01/806-3461/6jck06gqk/index.html#ch2mt-41}{https://\-docs.oracle.com/\-cd/\-E19455-01/\-806-3461/\-6jck06gqk/\-index.html\#ch2mt-41}},4024 year = 2010,4025 3950 } 4026 3951 … … 4204 4129 } 4205 4130 4206 @manual{libmill,4207 keywords = {libmill},4208 contributer = {pabuhr@plg},4209 author = {libmill},4210 title = {{G}o-style concurrency in {C}, Version 1.18},4211 organization= {libmill},4212 address = {\href{http://libmill.org/documentation.html}{http://\-libmill.org/\-documentation.html}},4213 month = jan,4214 year = 2017,4215 }4216 4217 4131 @book{Weissman67, 4218 4132 keywords = {lisp}, … … 4248 4162 pages = {161-169}, 4249 4163 note = {Proceedings of the {SIGPLAN}~'89 Conference on Programming Language Design and Implementation} 4250 }4251 4252 @manual{Lua,4253 keywords = {Lua},4254 contributer = {pabuhr@plg},4255 author = {Lua},4256 title = {Lua 5.3 Reference Manual},4257 address = {\href{https://www.lua.org/manual/5.3}{https://\-www.lua.org/\-manual/\-5.3}},4258 year = 2018,4259 4164 } 4260 4165 … … 4586 4491 } 4587 4492 % editor = {Allen Kent and James G. Williams}, 4588 4589 @incollection{MPC,4590 keywords = {user-level threading},4591 contributer = {pabuhr@plg},4592 author = {Marc P\'erache and Herv\'e Jourdren and Raymond Namyst},4593 title = {MPC: A Unified Parallel Runtime for Clusters of {NUMA} Machines},4594 booktitle = {Euro-Par 2008},4595 pages = {329-342},4596 publisher = {Springer},4597 address = {Berlin, Heidelberg},4598 year = 2008,4599 volume = 5168,4600 series = {Lecture Notes in Computer Science},4601 }4602 4493 4603 4494 @manual{MPI, … … 5873 5764 address = {\href{https://www.iso.org/standard/64029.html}{https://\-www.iso.org/\-standard/\-64029.html}}, 5874 5765 year = 2014, 5875 }5876 5877 @manual{C++17,5878 keywords = {ISO/IEC C++ 17},5879 contributer = {pabuhr@plg},5880 key = {C++17},5881 title = {{C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Programming Language ISO/IEC 14882:2017},5882 edition = {5th},5883 publisher = {International Standard Organization},5884 address = {\href{https://www.iso.org/standard/68564.html}{https://\-www.iso.org/\-standard/\-68564.html}},5885 year = 2017,5886 5766 } 5887 5767 … … 6149 6029 keywords = {Python}, 6150 6030 contributer = {pabuhr@plg}, 6151 author = {Python},6152 title = {Python Language Reference, Release 3.7.2},6031 title = {Python Reference Manual, Release 2.5}, 6032 author = {Guido van Rossum}, 6153 6033 organization= {Python Software Foundation}, 6154 address = {\href{https://docs.python.org/3/reference/index.html}{https://\-docs.python.org/\-3/\-reference/\-index.html}}, 6155 year = 2018, 6034 month = sep, 6035 year = 2006, 6036 note = {Fred L. Drake, Jr., editor}, 6156 6037 } 6157 6038 6158 6039 % Q 6159 6160 @inproceedings{Qthreads,6161 keywords = {user-level threading},6162 author = {Kyle B. Wheeler and Richard C. Murphy and Douglas Thain},6163 title = {Qthreads: An API for Programming with Millions of Lightweight Threads},6164 booktitle = {International Symposium on Parallel and Distributed Processing},6165 organization= {IEEE},6166 address = {Miami, FL, USA},6167 month = apr,6168 year = 2008,6169 }6170 6040 6171 6041 @article{Grossman06, … … 6202 6072 publisher = {ACM}, 6203 6073 address = {New York, NY, USA}, 6204 }6205 6206 @manual{Quasar,6207 keywords = {Quasar},6208 contributer = {pabuhr@plg},6209 author = {Quasar},6210 title = {Quasar Documentation, Release 0.8.0},6211 organization= {Parallel Universe},6212 address = {\href{http://docs.paralleluniverse.co/quasar}{http://\-docs.paralleluniverse.co/\-quasar}},6213 year = 2018,6214 6074 } 6215 6075 … … 6463 6323 year = 2015, 6464 6324 note = {\href{https://doc.rust-lang.org/reference.html}{https://\-doc.rust-lang\-.org/\-reference.html}}, 6465 }6466 6467 @manual{Ruby,6468 keywords = {Ruby},6469 contributer = {pabuhr@plg},6470 author = {Ruby},6471 title = {Ruby Documentation, Release 2.6.0},6472 organization= {Python Software Foundation},6473 address = {\href{https://www.ruby-lang.org/en/documentation}{https://\-www.ruby-lang.org/\-en/\-documentation}},6474 year = 2018,6475 6325 } 6476 6326 -
src/Parser/parser.yy
rfba51ab r70a3e16 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Feb 14 22:23:13 201913 // Update Count : 4 21712 // Last Modified On : Wed Feb 13 17:56:23 2019 13 // Update Count : 4064 14 14 // 15 15 … … 99 99 // distribute declaration_specifier across all declared variables, e.g., static, const, __attribute__. 100 100 DeclarationNode * cur = declList, * cl = (new DeclarationNode)->addType( specifier ); 101 for ( cur = dynamic_cast<DeclarationNode *>( cur->get_next() ); cur != nullptr; cur = dynamic_cast<DeclarationNode *>( cur->get_next() ) ) { 101 //cur->addType( specifier ); 102 for ( cur = dynamic_cast< DeclarationNode * >( cur->get_next() ); cur != nullptr; cur = dynamic_cast< DeclarationNode * >( cur->get_next() ) ) { 102 103 cl->cloneBaseType( cur ); 103 104 } // for 104 105 declList->addType( cl ); 106 // delete cl; 105 107 return declList; 106 108 } // distAttr … … 199 201 if ( NameExpr * identifier = dynamic_cast<NameExpr *>(index->get_expr()) ) { 200 202 return forCtrl( type, new string( identifier->name ), start, compop, comp, inc ); 201 } else if ( CommaExpr * commaExpr = dynamic_cast<CommaExpr *>(index->get_expr()) ) {202 if ( NameExpr * identifier = dynamic_cast<NameExpr *>(commaExpr->arg1 ) ) {203 return forCtrl( type, new string( identifier->name ), start, compop, comp, inc );204 } else {205 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); return nullptr;206 } // if207 203 } else { 208 204 SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); return nullptr; … … 329 325 %type<en> argument_expression_list argument_expression default_initialize_opt 330 326 %type<ifctl> if_control_expression 331 %type<fctl> for_control_expression for_control_expression_list327 %type<fctl> for_control_expression 332 328 %type<compop> inclexcl 333 329 %type<en> subrange … … 989 985 // labels cannot be identifiers 0 or 1 or ATTR_IDENTIFIER 990 986 identifier_or_type_name ':' attribute_list_opt statement 991 { $$ = $4->add_label( $1, $3 ); } 987 { 988 $$ = $4->add_label( $1, $3 ); 989 } 992 990 ; 993 991 … … 1005 1003 statement_decl 1006 1004 | statement_decl_list statement_decl 1007 { assert( $1 ); $1->set_last( $2 ); $$ = $1;}1005 { if ( $1 != 0 ) { $1->set_last( $2 ); $$ = $1; } } 1008 1006 ; 1009 1007 … … 1012 1010 { $$ = new StatementNode( $1 ); } 1013 1011 | EXTENSION declaration // GCC 1014 { distExt( $2 ); $$ = new StatementNode( $2 ); } 1012 { 1013 distExt( $2 ); 1014 $$ = new StatementNode( $2 ); 1015 } 1015 1016 | function_definition 1016 1017 { $$ = new StatementNode( $1 ); } 1017 1018 | EXTENSION function_definition // GCC 1018 { distExt( $2 ); $$ = new StatementNode( $2 ); } 1019 { 1020 distExt( $2 ); 1021 $$ = new StatementNode( $2 ); 1022 } 1019 1023 | statement 1020 1024 ; … … 1023 1027 statement 1024 1028 | statement_list_nodecl statement 1025 { assert( $1 ); $1->set_last( $2 ); $$ = $1;}1029 { if ( $1 != 0 ) { $1->set_last( $2 ); $$ = $1; } } 1026 1030 ; 1027 1031 … … 1135 1139 | DO statement WHILE '(' ')' ';' // CFA => do while( 1 ) 1136 1140 { $$ = new StatementNode( build_do_while( new ExpressionNode( build_constantInteger( *new string( "1" ) ) ), $2 ) ); } 1137 | FOR '(' push for_control_expression _list')' statement pop1141 | FOR '(' push for_control_expression ')' statement pop 1138 1142 { $$ = new StatementNode( build_for( $4, $6 ) ); } 1139 1143 | FOR '(' ')' statement // CFA => for ( ;; ) … … 1141 1145 ; 1142 1146 1143 for_control_expression_list:1144 for_control_expression1145 | for_control_expression_list ':' for_control_expression1146 { $$ = $3; }1147 ;1148 1149 1147 for_control_expression: 1150 ';' comma_expression_opt ';' comma_expression_opt 1151 { $$ = new ForCtrl( (ExpressionNode * )nullptr, $2, $4 ); } 1152 | comma_expression ';' comma_expression_opt ';' comma_expression_opt 1153 { $$ = new ForCtrl( $1, $3, $5 ); } 1154 | declaration comma_expression_opt ';' comma_expression_opt // C99, declaration has ';' 1155 { $$ = new ForCtrl( $1, $2, $4 ); } 1156 | comma_expression // CFA 1148 comma_expression // CFA 1157 1149 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), 1158 1150 OperKinds::LThan, $1->clone(), new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1159 | co mma_expression inclexcl comma_expression// CFA1151 | constant_expression inclexcl constant_expression // CFA 1160 1152 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1161 | co mma_expression inclexcl comma_expression '~' comma_expression // CFA1153 | constant_expression inclexcl constant_expression '~' constant_expression // CFA 1162 1154 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, $5 ); } 1163 1155 | comma_expression ';' comma_expression // CFA 1164 1156 { $$ = forCtrl( $3, $1, new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), 1165 1157 OperKinds::LThan, $3->clone(), new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1166 | comma_expression ';' co mma_expression inclexcl comma_expression // CFA1158 | comma_expression ';' constant_expression inclexcl constant_expression // CFA 1167 1159 { $$ = forCtrl( $3, $1, $3->clone(), $4, $5, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1168 | comma_expression ';' co mma_expression inclexcl comma_expression '~' comma_expression // CFA1160 | comma_expression ';' constant_expression inclexcl constant_expression '~' constant_expression // CFA 1169 1161 { $$ = forCtrl( $3, $1, $3->clone(), $4, $5, $7 ); } 1162 | comma_expression ';' comma_expression_opt ';' comma_expression_opt 1163 { $$ = new ForCtrl( $1, $3, $5 ); } 1164 | ';' comma_expression_opt ';' comma_expression_opt 1165 { $$ = new ForCtrl( (ExpressionNode * )nullptr, $2, $4 ); } 1166 | declaration comma_expression_opt ';' comma_expression_opt // C99, declaration has ';' 1167 { $$ = new ForCtrl( $1, $2, $4 ); } 1170 1168 ; 1171 1169
Note:
See TracChangeset
for help on using the changeset viewer.