Changeset f51aefb
- Timestamp:
- Nov 1, 2016, 3:18:59 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 84118d8
- Parents:
- 40744af8 (diff), 0afffee (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 10 added
- 41 edited
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
r40744af8 rf51aefb 12 12 libcfa/Makefile 13 13 src/Makefile 14 version 14 15 15 16 # genereted by premake -
config.h.in
r40744af8 rf51aefb 18 18 /* Location of cfa install. */ 19 19 #undef CFA_PREFIX 20 21 /* Major.Minor */ 22 #undef CFA_VERSION 23 24 /* Build version number. */ 25 #undef CFA_VERSION_BUILD 26 27 /* Major.Minor.Patch.Build */ 28 #undef CFA_VERSION_FULL 29 30 /* Major.Minor.Patch */ 31 #undef CFA_VERSION_LONG 32 33 /* Major version number. */ 34 #undef CFA_VERSION_MAJOR 35 36 /* Minor version number. */ 37 #undef CFA_VERSION_MINOR 38 39 /* Patch version number. */ 40 #undef CFA_VERSION_PATCH 41 42 /* Major */ 43 #undef CFA_VERSION_SHORT 20 44 21 45 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP -
configure
r40744af8 rf51aefb 1 1 #! /bin/sh 2 2 # Guess values for system-dependent variables and create Makefiles. 3 # Generated by GNU Autoconf 2.68 for cfa-cc 1.0.0. 3 # Generated by GNU Autoconf 2.68 for cfa-cc 1.0.0.0. 4 4 # 5 5 # Report bugs to <cforall@plg.uwaterloo.ca>. … … 561 561 PACKAGE_NAME='cfa-cc' 562 562 PACKAGE_TARNAME='cfa-cc' 563 PACKAGE_VERSION='1.0.0 '564 PACKAGE_STRING='cfa-cc 1.0.0 '563 PACKAGE_VERSION='1.0.0.0' 564 PACKAGE_STRING='cfa-cc 1.0.0.0' 565 565 PACKAGE_BUGREPORT='cforall@plg.uwaterloo.ca' 566 566 PACKAGE_URL='' … … 1278 1278 # This message is too long to be a string in the A/UX 3.1 sh. 1279 1279 cat <<_ACEOF 1280 \`configure' configures cfa-cc 1.0.0 to adapt to many kinds of systems.1280 \`configure' configures cfa-cc 1.0.0.0 to adapt to many kinds of systems. 1281 1281 1282 1282 Usage: $0 [OPTION]... [VAR=VALUE]... … … 1344 1344 if test -n "$ac_init_help"; then 1345 1345 case $ac_init_help in 1346 short | recursive ) echo "Configuration of cfa-cc 1.0.0 :";;1346 short | recursive ) echo "Configuration of cfa-cc 1.0.0.0:";; 1347 1347 esac 1348 1348 cat <<\_ACEOF … … 1448 1448 if $ac_init_version; then 1449 1449 cat <<\_ACEOF 1450 cfa-cc configure 1.0.0 1450 cfa-cc configure 1.0.0.0 1451 1451 generated by GNU Autoconf 2.68 1452 1452 … … 2036 2036 running configure, to aid debugging if configure makes a mistake. 2037 2037 2038 It was created by cfa-cc $as_me 1.0.0 , which was2038 It was created by cfa-cc $as_me 1.0.0.0, which was 2039 2039 generated by GNU Autoconf 2.68. Invocation command line was 2040 2040 … … 2900 2900 # Define the identity of the package. 2901 2901 PACKAGE='cfa-cc' 2902 VERSION='1.0.0 '2902 VERSION='1.0.0.0' 2903 2903 2904 2904 … … 2963 2963 2964 2964 # may require auto* software to be installed 2965 2966 rm -f version 2967 echo ${PACKAGE_VERSION} > version # file containing version number for other tools 2968 chmod ugo-w version 2969 ver_major=`cut -d '.' -f1 version` # subdivide version number into components at periods 2970 ver_minor=`cut -d '.' -f2 version` 2971 ver_patch=`cut -d '.' -f3 version` 2972 ver_build=`cut -d '.' -f4 version` 2973 2974 # AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/version']) 2975 2976 cat >>confdefs.h <<_ACEOF 2977 #define CFA_VERSION_MAJOR ${ver_major} 2978 _ACEOF 2979 2980 2981 cat >>confdefs.h <<_ACEOF 2982 #define CFA_VERSION_MINOR ${ver_minor} 2983 _ACEOF 2984 2985 2986 cat >>confdefs.h <<_ACEOF 2987 #define CFA_VERSION_PATCH ${ver_patch} 2988 _ACEOF 2989 2990 2991 cat >>confdefs.h <<_ACEOF 2992 #define CFA_VERSION_BUILD ${ver_build} 2993 _ACEOF 2994 2995 2996 cat >>confdefs.h <<_ACEOF 2997 #define CFA_VERSION_SHORT "${ver_major}" 2998 _ACEOF 2999 3000 3001 cat >>confdefs.h <<_ACEOF 3002 #define CFA_VERSION "${ver_major}.${ver_minor}" 3003 _ACEOF 3004 3005 3006 cat >>confdefs.h <<_ACEOF 3007 #define CFA_VERSION_LONG "${ver_major}.${ver_minor}.${ver_patch}" 3008 _ACEOF 3009 3010 3011 cat >>confdefs.h <<_ACEOF 3012 #define CFA_VERSION_FULL "${ver_major}.${ver_minor}.${ver_patch}.${ver_build}" 3013 _ACEOF 3014 2965 3015 2966 3016 # Installation paths … … 6351 6401 # values after options handling. 6352 6402 ac_log=" 6353 This file was extended by cfa-cc $as_me 1.0.0 , which was6403 This file was extended by cfa-cc $as_me 1.0.0.0, which was 6354 6404 generated by GNU Autoconf 2.68. Invocation command line was 6355 6405 … … 6417 6467 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" 6418 6468 ac_cs_version="\\ 6419 cfa-cc config.status 1.0.0 6469 cfa-cc config.status 1.0.0.0 6420 6470 configured by $0, generated by GNU Autoconf 2.68, 6421 6471 with options \\"\$ac_cs_config\\" -
configure.ac
r40744af8 rf51aefb 3 3 4 4 AC_PREREQ([2.68]) 5 AC_INIT([cfa-cc],[1.0.0 ],[cforall@plg.uwaterloo.ca])5 AC_INIT([cfa-cc],[1.0.0.0],[cforall@plg.uwaterloo.ca]) 6 6 AC_CONFIG_AUX_DIR([automake]) 7 7 #AC_CONFIG_SRCDIR([src/main.cc]) … … 17 17 AM_INIT_AUTOMAKE 18 18 AM_MAINTAINER_MODE(enable) # may require auto* software to be installed 19 20 rm -f version 21 echo ${PACKAGE_VERSION} > version # file containing version number for other tools 22 chmod ugo-w version 23 ver_major=`cut -d '.' -f1 version` # subdivide version number into components at periods 24 ver_minor=`cut -d '.' -f2 version` 25 ver_patch=`cut -d '.' -f3 version` 26 ver_build=`cut -d '.' -f4 version` 27 28 # AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/version']) 29 AC_DEFINE_UNQUOTED(CFA_VERSION_MAJOR, ${ver_major}, [Major version number.]) 30 AC_DEFINE_UNQUOTED(CFA_VERSION_MINOR, ${ver_minor}, [Minor version number.]) 31 AC_DEFINE_UNQUOTED(CFA_VERSION_PATCH, ${ver_patch}, [Patch version number.]) 32 AC_DEFINE_UNQUOTED(CFA_VERSION_BUILD, ${ver_build}, [Build version number.]) 33 AC_DEFINE_UNQUOTED(CFA_VERSION_SHORT, ["${ver_major}"], [Major]) 34 AC_DEFINE_UNQUOTED(CFA_VERSION, ["${ver_major}.${ver_minor}"], [Major.Minor]) 35 AC_DEFINE_UNQUOTED(CFA_VERSION_LONG, ["${ver_major}.${ver_minor}.${ver_patch}"], [Major.Minor.Patch]) 36 AC_DEFINE_UNQUOTED(CFA_VERSION_FULL, ["${ver_major}.${ver_minor}.${ver_patch}.${ver_build}"], [Major.Minor.Patch.Build]) 19 37 20 38 # Installation paths -
doc/LaTeXmacros/common.tex
r40744af8 rf51aefb 1 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- Mode: Latex -*- %%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 %% 2 %% 3 3 %% Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo 4 4 %% 5 5 %% The contents of this file are covered under the licence agreement in the 6 6 %% file "LICENCE" distributed with Cforall. 7 %% 8 %% common.tex -- 9 %% 7 %% 8 %% common.tex -- 9 %% 10 10 %% Author : Peter A. Buhr 11 11 %% Created On : Sat Apr 9 10:06:17 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Sun Aug 14 08:27:29 201614 %% Update Count : 23 113 %% Last Modified On : Tue Oct 25 22:04:19 2016 14 %% Update Count : 234 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 … … 41 41 \newcommand{\CCeleven}{\rm C\kern-.1em\hbox{+\kern-.25em+}11\xspace} % C++11 symbolic name 42 42 \newcommand{\Celeven}{C11\xspace} % C11 symbolic name 43 \newcommand{\Csharp}{C\raisebox{0.4ex}{\#}\xspace} % C# symbolic name 43 44 44 45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% … … 226 227 227 228 % CFA programming language, based on ANSI C (with some gcc additions) 229 \lstdefinelanguage{Pseudo}{ 230 morekeywords={string,uint,int,bool,float},% 231 sensitive=true,% 232 morecomment=[l]{//},% 233 morecomment=[s]{/*}{*/},% 234 morestring=[b]',% 235 morestring=[b]",% 236 morestring=[s]{`}{`},% 237 }% 238 239 \lstset{ 240 language=Pseudo, 241 columns=fullflexible, 242 basicstyle=\linespread{0.9}\tt\small, % reduce line spacing and use typewriter font 243 stringstyle=\sf\color{Mahogany}, % use sanserif font 244 commentstyle=\itshape\color{OliveGreen}, % green and italic comments 245 tabsize=4, % 4 space tabbing 246 xleftmargin=\parindentlnth, % indent code to paragraph indentation 247 extendedchars=true, % allow ASCII characters in the range 128-255 248 escapechar=§, % escape to latex in CFA code 249 mathescape=true, % allow $...$ LaTeX math escapes in code 250 %keepspaces=true, % 251 showstringspaces=false, % do not show spaces with cup 252 showlines=true, % show blank lines at end of code 253 aboveskip=4pt, % spacing above/below code block 254 belowskip=3pt, 255 moredelim=**[is][\color{red}]{®}{®}, % red highlighting 256 moredelim=**[is][\color{blue}]{ß}{ß}, % blue highlighting 257 moredelim=**[is][\color{OliveGreen}]{¢}{¢}, % green highlighting 258 moredelim=[is][\lstset{keywords={}}]{¶}{¶}, % temporarily turn off keywords 259 % replace/adjust listing characters that look bad in sanserif 260 literate={-}{\raisebox{-0.15ex}{\texttt{-}}}1 {^}{\raisebox{0.6ex}{$\scriptscriptstyle\land\,$}}1 {©}{{\"u}}1 261 {~}{\raisebox{0.3ex}{$\scriptstyle\sim\,$}}1 {_}{\makebox[1.2ex][c]{\rule{1ex}{0.1ex}}}1 {`}{\ttfamily\upshape\hspace*{-0.1ex}`}1 262 {<-}{$\leftarrow$}2 {=>}{$\Rightarrow$}2, 263 }% 264 265 % CFA programming language, based on ANSI C (with some gcc additions) 228 266 \lstdefinelanguage{CFA}[ANSI]{C}{ 229 267 morekeywords={_Alignas,_Alignof,__alignof,__alignof__,asm,__asm,__asm__,_At,_Atomic,__attribute,__attribute__,auto, … … 260 298 \lstMakeShortInline© % single-character for \lstinline 261 299 300 262 301 \let\Oldthebibliography\thebibliography 263 302 \renewcommand\thebibliography[1]{ -
doc/bibliography/cfa.bib
r40744af8 rf51aefb 21 21 % tcs: Theoretical Computer Science 22 22 @string{ieeepds="IEEE Transactions on Parallel and Distributed Systems"} 23 % @string{ieeepds="IEEE Trans. Parallel Distrib. Syst."} 23 24 @string{ieeese="IEEE Transactions on Software Engineering"} 25 % @string{ieeese="IEEE Trans. Softw. Eng."} 24 26 @string{spe="Software---\-Practice and Experience"} 27 % @string{spe="Softw. Pract. Exp."} 28 @string{ccpe="Concurrency and Computation: Practice and Experience"} 29 % @string{ccpe="Concurrency Comput. Pract. Exp."} 25 30 @string{sigplan="SIGPLAN Notices"} 31 % @string{sigplan="SIGPLAN Not."} 26 32 @string{joop="Journal of Object-Oriented Programming"} 33 % @string{joop="J. of Object-Oriented Program."} 27 34 @string{popl="Conference Record of the ACM Symposium on Principles of Programming Languages"} 28 35 @string{osr="Operating Systems Review"} 29 36 @string{pldi="Programming Language Design and Implementation"} 37 @string{mathann="Mathematische Annalen"} 38 % @string{mathann="Math. Ann."} 30 39 31 40 % A … … 39 48 booktitle = {Parallel Programming in {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 40 49 publisher = {MIT Press}, 50 address = {New York}, 41 51 series = {Scientific and Engineering Computation Series}, 42 52 year = 1996, … … 120 130 year = 1996, 121 131 pages = {483-499}, 122 publisher = {Addison-Wesley Longman Publishing Co., Inc.},123 address = {Boston , MA, USA},132 publisher = {Addison-Wesley Longman Publishing}, 133 address = {Boston}, 124 134 } 125 135 … … 161 171 author = {Gul A. Agha}, 162 172 title = {Actors: A Model of Concurrent Computation in Distributed Systems}, 163 publisher = {MIT Press, Cambridge , Mass.},173 publisher = {MIT Press, Cambridge}, 164 174 year = 1986 165 175 } … … 311 321 publisher = {Microsoft Press}, 312 322 year = 1997, 313 edition = { third},323 edition = {3rd}, 314 324 } 315 325 … … 325 335 year = 1977, 326 336 pages = {604-605}, 337 } 338 339 @manual{Akka, 340 keywords = {Akka actor model}, 341 contributer = {pabuhr@plg}, 342 title = {{A}kka {S}cala Documentation, Release 2.4.11}, 343 organization= {Lightbend Inc.}, 344 month = sep, 345 year = 2016, 346 note = {\href{http://doc.akka.io/docs/akka/2.4/AkkaScala.pdf}{http://\-doc.akka.io/\-docs/\-akka/\-2.4/\-AkkaScala.pdf}}, 327 347 } 328 348 … … 378 398 author = {M. Raynal}, 379 399 title = {Algorithms for Mutual Exclusion}, 380 publisher = { TheMIT Press},381 address = {Cambridge , Massachusetts},400 publisher = {MIT Press}, 401 address = {Cambridge}, 382 402 series = {Scientific Computation Series}, 383 403 year = 1986, … … 394 414 pages = {329-342}, 395 415 publisher = {Springer}, 416 address = {New York}, 396 417 year = 2005, 397 418 volume = 3669, … … 404 425 editor = {Richard L. Sites}, 405 426 title = {Alpha Architecture Reference Manual}, 406 publisher = {Digital Press, One Burlington Woods Drive, Burlington, MA, U. S. A., 01803},427 publisher = {Digital Press, Burlington}, 407 428 year = 1992, 408 429 } … … 413 434 editor = {Mary Shaw}, 414 435 title = {{ALPHARD}: Form and Content}, 415 publisher = {Springer-Verlag}, 436 publisher = {Springer}, 437 address = {New York}, 416 438 year = 1981, 417 439 comment = {Collection of papers about Alphard.} … … 470 492 editor = {Gul Agha and Peter Wegner and Akinori Yonezawa}, 471 493 publisher = {MIT Press}, 494 address = {New York}, 472 495 year = 1993, 473 496 pages = {107-150}, … … 495 518 location = {Toulouse, France}, 496 519 doi = {http://doi.acm.org/10.1145/318773.319251}, 497 publisher = {Springer -Verlag},520 publisher = {Springer}, 498 521 address = {London, UK}, 499 522 } … … 504 527 title = {The Annotated {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Reference Manual}, 505 528 publisher = {Addison-Wesley}, 529 address = {Boston}, 506 530 year = 1990, 507 edition = { first},531 edition = {1st}, 508 532 } 509 533 … … 567 591 year = 2008, 568 592 isbn = {0123705916, 9780123705914}, 569 publisher = {Morgan Kaufmann Publishers Inc.},570 address = {San Francisco , CA, USA},593 publisher = {Morgan Kaufmann Publishers}, 594 address = {San Francisco}, 571 595 } 572 596 … … 747 771 } 748 772 773 @misc{BoostCoroutines15, 774 keywords = {Boost Coroutine Library}, 775 contributer = {pabuhr@plg}, 776 author = {Oliver Kowalke}, 777 title = {Boost Coroutine Library}, 778 year = 2015, 779 note = {\href{http://www.boost.org/doc/libs/1_61_0/libs/coroutine/doc/html/index.html} 780 {{http://www.boost.org/\-doc/\-libs/1\_61\_0/\-libs/\-coroutine/\-doc/\-html/\-index.html}} [Accessed September 2016]}, 781 } 782 749 783 @mastersthesis{Krischer02, 750 784 author = {Roy Krischer }, … … 779 813 editor = {C. Dony and J. L. Knudsen and A. Romanovsky and A. Tripathi}, 780 814 booktitle = {Advanced Topics in Exception Handling Techniques}, 781 publisher = {Springer -Verlag},815 publisher = {Springer}, 782 816 series = {Lecture Notes in Computer Science}, 783 817 volume = 4119, … … 793 827 author = {Brian W. Kernighan and Dennis M. Ritchie}, 794 828 title = {The {C} Programming Language}, 795 publisher = {Prentice Hall}, 829 publisher = {Prentice-Hall}, 830 address = {Englewood Cliffs}, 796 831 year = 1988, 797 edition = { second},798 series = {Prentice 832 edition = {2nd}, 833 series = {Prentice-Hall Software Series}, 799 834 comment = { 800 835 based on draft-proposed ANSI C … … 807 842 author = {Brian W. Kernighan and Dennis M. Ritchie}, 808 843 title = {The {C} Programming Language}, 809 publisher = {Prentice Hall}, 844 publisher = {Prentice-Hall}, 845 address = {Englewood Cliffs}, 810 846 year = 1978, 811 edition = { first},847 edition = {1st}, 812 848 } 813 849 … … 835 871 836 872 @manual{C++Concepts, 837 keywords= {ISO/IEC TS 19217:2015},838 contributer= {a3moss@uwaterloo.ca},839 key= {C++ Concepts},840 title= {Information technology -- Programming languages -- {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Extensions for concepts},841 organization= {International Standard ISO/IEC TS 19217:2015},842 publisher= {International Standard Organization},843 address= {http://www.iso.org},844 year= 2015873 keywords = {ISO/IEC TS 19217:2015}, 874 contributer = {a3moss@uwaterloo.ca}, 875 key = {C++ Concepts}, 876 title = {Information technology -- Programming languages -- {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Extensions for concepts}, 877 organization= {International Standard ISO/IEC TS 19217:2015}, 878 publisher = {International Standard Organization}, 879 address = {http://www.iso.org}, 880 year = 2015 845 881 } 846 882 … … 914 950 title = {{C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Primer}, 915 951 publisher = {Addison-Wesley}, 952 address = {Boston}, 916 953 year = 1991, 917 edition = { second},954 edition = {2nd}, 918 955 note = {QA76.73.C15L57}, 919 956 } … … 925 962 title = {The {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Programming Language}, 926 963 publisher = {Addison-Wesley}, 964 address = {Boston}, 927 965 year = 1986, 928 edition = { first},966 edition = {1st}, 929 967 series = {Addison-Wesley Series in Computer Science} 930 968 } … … 936 974 title = {The {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Programming Language}, 937 975 publisher = {Addison-Wesley}, 976 address = {Boston}, 938 977 year = 1991, 939 edition = { second},978 edition = {2nd}, 940 979 } 941 980 … … 945 984 author = {Bjarne Stroustrup}, 946 985 title = {The {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Programming Language}, 947 publisher = {Addison -Wesley},986 publisher = {Addison Wesley Longman}, 948 987 year = 1997, 949 edition = { third},988 edition = {3rd}, 950 989 } 951 990 … … 1002 1041 title = {Classics in Software Engineering}, 1003 1042 publisher = {Yourdon Press}, 1043 address = {New York}, 1004 1044 year = 1979, 1005 1045 } … … 1042 1082 Moss and J. Craig Schaffert and Robert Scheifler and Alan Snyder}, 1043 1083 title = {CLU Reference Manual}, 1044 publisher = {Springer-Verlag}, 1084 publisher = {Springer}, 1085 address = {New York}, 1045 1086 year = 1981, 1046 1087 volume = 114, … … 1053 1094 key = {Cobol14}, 1054 1095 title = {Programming Languages -- {Cobol}}, 1055 edition = { second},1096 edition = {2nd}, 1056 1097 organization= {International Standard ISO/IEC 1989:2014}, 1057 1098 publisher = {International Standard Organization}, … … 1106 1147 title = {Commentary on Standard {ML}}, 1107 1148 publisher = {MIT Press}, 1108 address = {Cambridge , Massachusetts, U.S.A.},1149 address = {Cambridge}, 1109 1150 year = 1991 1110 1151 } … … 1132 1173 year = 1987, 1133 1174 pages = {151-170}, 1134 publisher = {Springer -Verlag}1175 publisher = {Springer} 1135 1176 } 1136 1177 … … 1138 1179 keywords = {common lisp}, 1139 1180 contributer = {pabuhr@plg}, 1140 author = {G .Steele},1181 author = {Guy Steele}, 1141 1182 title = {COMMON LISP: The Language}, 1142 1183 publisher = {Digital Press}, 1184 address = {New York}, 1143 1185 year = 1984 1144 1186 } … … 1183 1225 year = 1985, 1184 1226 isbn = {0-13-153271-5}, 1185 publisher = {Prentice-Hall , Inc.},1227 publisher = {Prentice-Hall}, 1186 1228 address = {Upper Saddle River, NJ, USA}, 1187 1229 note = {\href{http://www.usingcsp.com/cspbook.pdf}{http://\-www.usingcsp.com/\-cspbook.pdf}}, … … 1202 1244 author = {Alfred V. Aho and Monica S. Lam and Ravi Sethi and Jeffrey D. Ullman}, 1203 1245 title = {Compilers: Principles, Techniques, and Tools}, 1204 edition = { second},1246 edition = {2nd}, 1205 1247 year = {2006}, 1206 publisher = {Addison-Wesley Longman Publishing Co., Inc.},1248 publisher = {Addison-Wesley Longman Publishing}, 1207 1249 address = {Boston, MA, USA}, 1208 1250 } … … 1212 1254 contributer = {pabuhr@plg}, 1213 1255 author = {David F. Bacon and Susan L. Graham and Oliver J. Sharp}, 1214 title = {Compiler Transformations for High-Performance Com puting},1256 title = {Compiler Transformations for High-Performance Com\-puting}, 1215 1257 journal = acmcs, 1216 1258 volume = 26, … … 1250 1292 month = sep, 1251 1293 address = {Waterloo, Ontario, Canada, N2L 3G1}, 1252 note = { {\small\textsf{ftp://\-plg.uwaterloo.ca/\-pub/\-theses/\-MokThesis.ps.gz}}},1294 note = {\href{http://plg.uwaterloo.ca/theses/MokThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-MokThesis.pdf}}, 1253 1295 } 1254 1296 … … 1328 1370 editor = {P. E. Lauer}, 1329 1371 pages = {165-198}, 1330 publisher = {Springer -Verlag},1372 publisher = {Springer}, 1331 1373 address = {Berlin, DE}, 1332 1374 year = 1993, … … 1393 1435 month = jul, 1394 1436 year = 2015, 1395 note = {\href{http://plg.uwaterloo.ca/~usystem/pub/uSystem/u++-6.1.0.sh}{\textsf{http:// plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/\-u++-6.1.0.sh}}},1437 note = {\href{http://plg.uwaterloo.ca/~usystem/pub/uSystem/u++-6.1.0.sh}{\textsf{http://\-plg.\-uwaterloo.\-ca/\-$\sim$usystem/\-pub/\-uSystem/\-u++-6.1.0.sh}}}, 1396 1438 } 1397 1439 … … 1401 1443 author = {Alan Burns and Geoff Davies}, 1402 1444 title = {Concurrent Programming}, 1403 publisher = {Addison -Wesley},1445 publisher = {Addison Wesley Longman}, 1404 1446 year = 1993, 1405 1447 } … … 1424 1466 title = {Concurrent Programming in {J}ava: Design Principles and Patterns}, 1425 1467 publisher = {Addison-Wesley}, 1468 address = {Boston}, 1426 1469 year = 1997, 1427 edition = { first},1470 edition = {1st}, 1428 1471 } 1429 1472 … … 1435 1478 publisher = {Oxford University Press}, 1436 1479 year = 1998, 1437 edition = { first},1480 edition = {1st}, 1438 1481 } 1439 1482 … … 1444 1487 title = {Concurrent Programming in {J}ava: Design Principles and Patterns}, 1445 1488 publisher = {Addison-Wesley}, 1489 address = {Boston}, 1446 1490 year = 2000, 1447 edition = { second},1491 edition = {2nd}, 1448 1492 } 1449 1493 … … 1453 1497 author = {N. H. Gehani and W. D. Roome}, 1454 1498 title = {The {Concurrent C} Programming Language}, 1455 publisher = {Silicon Press, NJ}, 1499 publisher = {Silicon Press}, 1500 address = {Summit}, 1456 1501 year = 1989, 1457 1502 } … … 1462 1507 author = {Gregory R. Andrews}, 1463 1508 title = {Concurrent Programming: Principles and Practice}, 1464 publisher = {Benjamin/Cummings Publishing Company, Inc., Redwood City, California}, 1509 publisher = {Benjamin/Cummings Publish\-ing}, 1510 address = {Redwood City}, 1465 1511 year = 1991, 1466 1512 } … … 1471 1517 author = {Peter A. Buhr and Ashif S. Harji}, 1472 1518 title = {Concurrent Urban Legends}, 1473 journal = {Concurrency and Computation: Practice and Experience},1519 journal = ccpe, 1474 1520 month = aug, 1475 1521 year = 2005, … … 1497 1543 publisher = {Cambridge University Press}, 1498 1544 year = 1998, 1499 edition = { second},1545 edition = {2nd}, 1500 1546 } 1501 1547 … … 1514 1560 title = {Condition Handling in the Lisp Language Family}, 1515 1561 booktitle = {Exception Handling}, 1516 publisher = {Springer -Verlag},1562 publisher = {Springer}, 1517 1563 volume = 2022, 1518 1564 series = {LNCS}, … … 1527 1573 title = {Conformace, Genericity, Inheritance and Enhancement}, 1528 1574 pages = {223-233}, 1529 publisher = {Springer -Verlag},1575 publisher = {Springer}, 1530 1576 year = 1987, 1531 1577 volume = 276, … … 1636 1682 1637 1683 @unpublished{Ditchfield:conversions, 1638 contributer = {a3moss@uwaterloo.ca}, 1639 author = {Glen Ditchfield}, 1640 title = {Conversions for {Cforall}}, 1641 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\-\textasciitilde cforall/\-Conversions/\-index.html}}, 1642 month = {Nov}, 1643 year = {2002}, 1644 urldate = {28 July 2016}, 1645 } 1646 1684 contributer = {a3moss@uwaterloo.ca}, 1685 author = {Glen Ditchfield}, 1686 title = {Conversions for {Cforall}}, 1687 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\-\textasciitilde cforall/\-Conversions/\-index.html}}, 1688 month = {Nov}, 1689 year = {2002}, 1690 urldate = {28 July 2016}, 1691 } 1647 1692 1648 1693 @techreport{Dijkstra65, … … 1662 1707 author = {Christopher D. Marlin}, 1663 1708 title = {Coroutines: A Programming Methodology, a Language Design and an Implementation}, 1664 publisher = {Springer-Verlag}, 1709 publisher = {Springer}, 1710 address = {New York}, 1665 1711 year = 1980, 1666 1712 volume = 95, … … 1699 1745 publisher = {Benjamin Cummings}, 1700 1746 year = 1991, 1747 } 1748 1749 @article{Moore75, 1750 keywords = {approximation methods, integrated circuits}, 1751 contributer = {pabuhr@plg}, 1752 author = {Gordon E. Moore}, 1753 title = {Progress in Digital Integrated Electronics}, 1754 journal = {Technical Digest, International Electron Devices Meeting, IEEE}, 1755 year = 1975, 1756 pages = {11-13}, 1701 1757 } 1702 1758 … … 1840 1896 title = {The Definition of Standard {ML}}, 1841 1897 publisher = {MIT Press}, 1842 address = {Cambridge , Massachusetts, U.S.A.},1898 address = {Cambridge}, 1843 1899 year = 1990 1844 1900 } … … 1870 1926 author = {Peter A. Buhr and David Dice and Wim H. Hesselink}, 1871 1927 title = {Dekker's Mutual Exclusion Algorithm Made RW-Safe}, 1872 journal = {Concurrency and Computation: Practice and Experience},1928 journal = ccpe, 1873 1929 volume = 28, 1874 1930 number = 1, … … 1920 1976 title = {The Design and Evolution of {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 1921 1977 publisher = {Addison-Wesley}, 1978 address = {Boston}, 1922 1979 year = 1994 1923 1980 } … … 1977 2034 author = {G. Motet and A. Mapinard and J. C. Geoffroy}, 1978 2035 title = {Design of Dependable {A}da Software}, 1979 publisher = {Prentice Hall}, 2036 publisher = {Prentice-Hall}, 2037 address = {Englewood Cliffs}, 1980 2038 year = 1996, 1981 2039 } … … 2012 2070 title = {Design Patterns: Elements of Reusable Object-Oriented Software}, 2013 2071 publisher = {Addison-Wesley}, 2072 address = {Boston}, 2014 2073 year = 1995, 2015 2074 series = {Professional Computing Series}, … … 2054 2113 author = {Ralph E. Johnson and Brian Foote}, 2055 2114 title = {Designing Reusable Classes}, 2056 journal = {Journal of Object-Oriented Programming},2115 journal = joop, 2057 2116 year = 1988, 2058 2117 volume = 1, number = 2, pages = {22-35}, … … 2109 2168 title = {A Discipline of Programming}, 2110 2169 publisher = {Prentice-Hall}, 2170 address = {Englewood Cliffs}, 2111 2171 year = 1976, 2112 2172 } … … 2125 2185 title = {Distributed Systems: Principles and Paradigms}, 2126 2186 publisher = {Prentice-Hall}, 2187 address = {Englewood Cliffs}, 2127 2188 year = 2002, 2128 2189 } … … 2253 2314 title = {Eiffel: The Language}, 2254 2315 publisher = {Prentice-Hall}, 2316 address = {Englewood Cliffs}, 2255 2317 year = 1992, 2256 series = {Prentice 2318 series = {Prentice-Hall Object-Oriented Series}, 2257 2319 } 2258 2320 … … 2388 2450 month = jun, 2389 2451 year = 2015, 2390 note = {\href{http://www.erlang.org/doc/pdf/otp-system-documentation.pdf}{\textsf{http://www.erlang.org/\-doc/\-pdf/\-otp-system- documentation.pdf}}},2452 note = {\href{http://www.erlang.org/doc/pdf/otp-system-documentation.pdf}{\textsf{http://www.erlang.org/\-doc/\-pdf/\-otp-system-\-documentation.pdf}}}, 2391 2453 } 2392 2454 … … 2467 2529 booktitle = {Advances in COMPUTERS}, 2468 2530 publisher = {Academic Press}, 2531 address = {London}, 2469 2532 volume = 56, 2470 2533 year = 2002, … … 2561 2624 title = {Exception Handling in Parallel Computations}, 2562 2625 journal = sigplan, 2626 publisher = {ACM}, 2627 address = {New York, NY, USA}, 2563 2628 volume = 20, 2564 2629 number = 10, 2565 2630 month = oct, 2566 2631 year = 1985, 2567 issn = {0362-1340},2568 2632 pages = {95-104}, 2569 url = {http://doi.acm.org/10.1145/382286.382385},2570 doi = {http://doi.acm.org/10.1145/382286.382385},2571 acmid = {382385},2572 publisher = {ACM},2573 address = {New York, NY, USA},2574 2633 } 2575 2634 … … 2680 2739 title = {Fault Tolerance and Exception Handling in {BETA}}, 2681 2740 booktitle = {Exception Handling}, 2682 publisher = {Springer -Verlag},2741 publisher = {Springer}, 2683 2742 volume = 2022, 2684 2743 series = {Lecture Notes in Computer Science}, … … 2839 2898 title = {A Fully Object-Oriented Exception Handling System: Rationale and Smalltalk Implementation}, 2840 2899 booktitle = {Exception Handling}, 2841 publisher = {Springer -Verlag},2900 publisher = {Springer}, 2842 2901 volume = 2022, 2843 2902 series = {Lecture Notes in Computer Science}, … … 2859 2918 series = {The Art of Computer Programming}, 2860 2919 publisher = {Addison-Wesley}, 2920 address = {Boston}, 2861 2921 year = 1973, 2862 2922 volume = 1, 2863 edition = { second},2923 edition = {2nd}, 2864 2924 } 2865 2925 … … 2912 2972 author = {Richard M. Stallman}, 2913 2973 organization= {Free Software Foundation}, 2914 address = {Cambridge , MA}2974 address = {Cambridge} 2915 2975 } 2916 2976 … … 2952 3012 } 2953 3013 2954 2955 3014 @article{Haskell, 2956 3015 keywords = {lazy evaluation, type class}, … … 2973 3032 organization= {Google}, 2974 3033 year = 2009, 2975 note = {\href{http://golang.org/ref/spec}{http:// golang.org/\-ref/\-spec}},3034 note = {\href{http://golang.org/ref/spec}{http://\-golang.org/\-ref/\-spec}}, 2976 3035 } 2977 3036 … … 3090 3149 author = {Robert E. Strom and David F. Bacon and Arthur P. Goldberg and Andy Lowry and Daniel M. Yellin and Shaula Alexander Yemini}, 3091 3150 title = {Hermes: A Language for Distributed Computing}, 3092 publisher = {Prentice Hall}, 3151 publisher = {Prentice-Hall}, 3152 address = {Englewood Cliffs}, 3093 3153 series = {Innovative Technology}, 3094 3154 year = 1991, … … 3134 3194 author = {Peter A. Buhr and David Dice and Wim H. Hesselink}, 3135 3195 title = {High-Performance {$N$}-Thread Software Solutions for Mutual Exclusion}, 3136 journal = {Concurrency and Computation: Practice and Experience},3196 journal = ccpe, 3137 3197 volume = 27, 3138 3198 number = 3, … … 3148 3208 title = {Zum Hilbertschen Aufbau der reellen Zahlen}, 3149 3209 publisher = {Springer}, 3150 journal = {Mathematische Annalen},3210 journal = mathann, 3151 3211 number = 1, 3152 3212 volume = 99, … … 3187 3247 title = {The Icon Programming Language}, 3188 3248 publisher = {Prentice-Hall}, 3249 address = {Englewood Cliffs}, 3189 3250 year = 1983, 3190 3251 } … … 3262 3323 issn = {0164-0925}, 3263 3324 pages = {1270--1343}, 3264 doi = {http://doi.acm.org/10.1145/1108970.1108975},3265 3325 publisher = {ACM Press}, 3266 3326 address = {New York, NY, USA}, … … 3277 3337 pages = {55-59}, 3278 3338 issn = {0163-5719}, 3279 doi = {http://doi.acm.org/10.1145/872736.806932}, 3280 } 3339 } 3281 3340 3282 3341 @book{Algol68, … … 3361 3420 title = {Interacting Processes: A Multiparty Approach to Coordinated Distributed Programming}, 3362 3421 publisher = {Addison-Wesley}, 3422 address = {Boston}, 3363 3423 series = {ACM Press Books}, 3364 3424 year = 1996, … … 3434 3494 title = {Introduction to Algorithms}, 3435 3495 publisher = {MIT Press/McGraw-Hill}, 3496 address = {Cambridge}, 3436 3497 series = {Electrical Engineering and Computer Science Series}, 3437 3498 year = 1992, … … 3444 3505 title = {Introduction to Automata Theory, Languages and Computation}, 3445 3506 publisher = {Addison-Wesley}, 3507 address = {Boston}, 3446 3508 year = 1979, 3447 3509 } … … 3476 3538 title = {An Introduction to Operating Systems}, 3477 3539 publisher = {Addison-Wesley}, 3540 address = {Boston}, 3478 3541 year = 1990, 3479 edition = { second},3542 edition = {2nd}, 3480 3543 } 3481 3544 … … 3525 3588 title = {Issues with Exception Hnadling in Object-Oriented Systems}, 3526 3589 booktitle = {ECOOP'97}, 3527 publisher = {Springer -Verlag},3590 publisher = {Springer}, 3528 3591 volume = 1241, 3529 3592 series = {Lecture Notes in Computer Science}, … … 3553 3616 title = {The {Java} Language Specification}, 3554 3617 publisher = {Addison-Wesley}, 3618 address = {Reading}, 3555 3619 year = 2000, 3556 edition = { second},3620 edition = {2nd}, 3557 3621 } 3558 3622 … … 3597 3661 title = {Konstruktion nichtrekursiver Funktionen}, 3598 3662 publisher = {Springer}, 3599 journal = {Mathematische Annalen},3663 journal = mathann, 3600 3664 number = 111, 3601 3665 volume = 1, … … 3740 3804 title = {Lisp 1.5 Primer}, 3741 3805 publisher = {Dickenson Publishing}, 3806 address = {Belmont}, 3742 3807 year = 1967, 3743 3808 } … … 3937 4002 booktitle = {Proceedings of the European Conference on Object Oriented Programming}, 3938 4003 organization= {ECOOP'88}, 3939 publisher = {Springer -Verlag},4004 publisher = {Springer}, 3940 4005 volume = 322, 3941 4006 editor = {S. Gjessing and K. Nygaard}, … … 3979 4044 title = {Modern C++ Design: Generic Programming and Design Patterns Applied}, 3980 4045 publisher = {Addison-Wesley Professional}, 4046 address = {Boston}, 3981 4047 month = feb, 3982 4048 year = 2001, … … 3990 4056 title = {Modern Operating Systems}, 3991 4057 publisher = {Prentice-Hall}, 4058 address = {Englewood Cliffs}, 3992 4059 year = 1992, 3993 4060 } … … 4310 4377 title = {Nesting in an Object Oriented Language is NOT for the Birds}, 4311 4378 booktitle = {Proceedings of the European Conference on Object Oriented Programming}, 4312 publisher = {Springer -Verlag},4379 publisher = {Springer}, 4313 4380 volume = 322, 4314 4381 editor = {S. Gjessing and K. Nygaard}, … … 4437 4504 editor = {S. Gjessing and K. Nygaard}, 4438 4505 organization= {DND, The Norwegian Computer Society}, 4439 publisher = {Springer -Verlag},4506 publisher = {Springer}, 4440 4507 comment = { 4441 4508 Objectives: … … 4472 4539 title = {Object-oriented programming; an evolutionary approach}, 4473 4540 publisher = {Addison-Wesley}, 4541 address = {Boston}, 4474 4542 year = 1986 4475 4543 } … … 4481 4549 title = {Object-oriented Programming in the {BETA} Programming Language}, 4482 4550 publisher = {Addison-Wesley}, 4551 address = {Boston}, 4483 4552 year = 1993, 4484 4553 } … … 4512 4581 author = {Bertrand Meyer}, 4513 4582 title = {Object-oriented Software Construction}, 4514 publisher = {Prentice Hall}, 4583 publisher = {Prentice-Hall}, 4584 address = {Englewood Cliffs}, 4515 4585 year = {1988}, 4516 series = {Prentice 4586 series = {Prentice-Hall International Series in Computer Science}, 4517 4587 } 4518 4588 … … 4541 4611 author = {John Galletly}, 4542 4612 title = {{OCCAM} 2: Including {OCCAM} 2.1}, 4543 publisher = {{UCL} (University College London) Press Ltd.}, 4544 edition = {second}, 4613 publisher = {{UCL} (University College London) Press}, 4614 address = {London}, 4615 edition = {2nd}, 4545 4616 year = 1996, 4546 4617 } … … 4602 4673 month = jul, 4603 4674 year = 2013, 4604 note = {\href{http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf}{\textsf{http:// www.openmp.org/mp-documents/OpenMP4.0.0.pdf}}},4675 note = {\href{http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf}{\textsf{http://\-www.openmp.org/\-mp-documents/\-OpenMP4.0.0.pdf}}}, 4605 4676 } 4606 4677 … … 4611 4682 title = {Operating Systems}, 4612 4683 publisher = {Pearson Prentice-Hall}, 4684 address = {Englewood Cliffs}, 4613 4685 year = 2004, 4614 edition = { third},4686 edition = {3rd}, 4615 4687 } 4616 4688 … … 4621 4693 title = {Operating Systems: Internals and Design Principles}, 4622 4694 publisher = {Prentice-Hall}, 4695 address = {Englewood Cliffs}, 4623 4696 year = 1998, 4624 edition = { third},4697 edition = {3rd}, 4625 4698 } 4626 4699 … … 4631 4704 title = {Operating Systems: Internals and Design Principles}, 4632 4705 publisher = {Prentice-Hall}, 4706 address = {Englewood Cliffs}, 4633 4707 year = 2001, 4634 edition = { fourth},4708 edition = {4th}, 4635 4709 } 4636 4710 … … 4641 4715 title = {Operating System Concepts}, 4642 4716 publisher = {Addision-Wesley}, 4717 address = {Boston}, 4643 4718 year = 1991, 4644 edition = { third},4719 edition = {3rd}, 4645 4720 } 4646 4721 … … 4651 4726 title = {Operating Systems : Design and Implementation}, 4652 4727 publisher = {Prentice-Hall}, 4728 address = {Englewood Cliffs}, 4653 4729 series = {Software Series}, 4654 4730 year = 1987, … … 4661 4737 title = {Operating System Principles}, 4662 4738 publisher = {Prentice-Hall}, 4739 address = {Englewood Cliffs}, 4663 4740 year = 1973, 4664 4741 } … … 4670 4747 title = {Operating System Principles}, 4671 4748 publisher = {Prentice-Hall}, 4749 address = {Englewood Cliffs}, 4672 4750 year = 2003, 4673 4751 } … … 4686 4764 4687 4765 @article{Ganzinger80, 4688 contributer= {a3moss@uwaterloo.ca},4689 author= {Ganzinger, Harald and Ripken, Knut},4690 title= {Operator Identification in {ADA}: Formal Specification, Complexity, and Concrete Implementation},4691 journal= {SIGPLAN Notices},4692 issue_date= {February 1980},4693 volume= {15},4694 number= {2},4695 month= feb,4696 year= {1980},4697 issn= {0362-1340},4698 pages= {30--42},4699 numpages= {13},4700 url= {http://doi.acm.org/10.1145/947586.947589},4701 doi= {10.1145/947586.947589},4702 publisher= {ACM},4703 address= {New York, NY, USA}4766 contributer = {a3moss@uwaterloo.ca}, 4767 author = {Ganzinger, Harald and Ripken, Knut}, 4768 title = {Operator Identification in {ADA}: Formal Specification, Complexity, and Concrete Implementation}, 4769 journal = {SIGPLAN Notices}, 4770 issue_date = {February 1980}, 4771 volume = {15}, 4772 number = {2}, 4773 month = feb, 4774 year = {1980}, 4775 issn = {0362-1340}, 4776 pages = {30--42}, 4777 numpages = {13}, 4778 url = {http://doi.acm.org/10.1145/947586.947589}, 4779 doi = {10.1145/947586.947589}, 4780 publisher = {ACM}, 4781 address = {New York, NY, USA} 4704 4782 } 4705 4783 … … 4723 4801 title = {{OS} and {DOS} {PL/I} Reference Manual}, 4724 4802 organization= {International Business Machines}, 4725 edition = { first},4803 edition = {1st}, 4726 4804 month = sep, 4727 4805 year = 1981, … … 4843 4921 booktitle = {Parallel Programming in {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 4844 4922 publisher = {MIT Press}, 4845 address = {Cambridge , MA, USA},4923 address = {Cambridge}, 4846 4924 series = {Scientific and Engineering Computation Series}, 4847 4925 pages = {507-546}, … … 4922 5000 publisher = {Springer--Verlag}, 4923 5001 year = 1985, 4924 edition = { third},5002 edition = {3rd}, 4925 5003 note = {Revised by Andrew B. Mickel and James F. Miner, ISO Pascal Standard} 4926 5004 } … … 4933 5011 publisher = {Springer--Verlag}, 4934 5012 year = 1975, 4935 edition = { first},5013 edition = {1st}, 4936 5014 } 4937 5015 … … 4955 5033 title = {{P}ascal/{VS} Language Reference Manual}, 4956 5034 organization= {International Business Machines}, 4957 edition = { first},5035 edition = {1st}, 4958 5036 year = 1981, 4959 5037 note = {Manual SH20-6168-1}, … … 5107 5185 title = {Principles of Concurrent Programming}, 5108 5186 publisher = {Prentice-Hall International}, 5187 address = {Englewood Cliffs}, 5109 5188 year = 1982, 5110 5189 } … … 5114 5193 title = {Principles of Programming Languages}, 5115 5194 publisher = {Prentice-Hall International}, 5195 address = {Englewood Cliffs}, 5116 5196 year = 1981, 5117 5197 series = {Series in Computer Science} … … 5185 5265 title = {Programming with {POSIX} Threads}, 5186 5266 publisher = {Addison-Wesley}, 5267 address = {Boston}, 5187 5268 series = {Professional Computing}, 5188 5269 year = 1997, … … 5194 5275 author = {J. T. Schwartz and R. B. K. Dewar and E. Dubinsky and E. Schonberg}, 5195 5276 title = {Programming with Sets: An Introduction to {SETL}}, 5196 publisher = {Springer -Verlag},5277 publisher = {Springer}, 5197 5278 year = 1986, 5198 5279 } … … 5235 5316 key = {C++14}, 5236 5317 title = {Programming Languages -- {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 5237 edition = { fourth},5318 edition = {4th}, 5238 5319 organization= {International Standard ISO/IEC 14882:2014 (E)}, 5239 5320 publisher = {International Standard Organization}, … … 5329 5410 author = {Niklaus Wirth}, 5330 5411 title = {Programming in Modula-2}, 5331 publisher = {Springer-Verlag}, 5412 publisher = {Springer}, 5413 address = {New York}, 5332 5414 year = 1988, 5333 edition = { fourth},5415 edition = {4th}, 5334 5416 series = {Texts and Monographs in Computer Science}, 5335 5417 } … … 5343 5425 month = feb, 5344 5426 year = 1983, 5345 note = { Published by Springer-Verlag}5427 note = {Springer, New York}, 5346 5428 } 5347 5429 … … 5351 5433 title = {The Programming Language {Ada}: Reference Manual}, 5352 5434 organization= {United States Department of Defense}, 5353 publisher = {Springer -Verlag},5435 publisher = {Springer}, 5354 5436 year = 1981 5355 5437 } … … 5505 5587 5506 5588 @article{Grossman06, 5507 keywords= {Cyclone, existential types, polymorphism, type variables},5508 contributer= {a3moss@plg},5509 author= {Grossman, Dan},5510 title= {Quantified Types in an Imperative Language},5511 journal= toplas,5512 issue_date= {May 2006},5513 volume= {28},5514 number= {3},5515 month= may,5516 year= {2006},5517 issn= {0164-0925},5518 pages= {429--475},5519 numpages= {47},5520 url= {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/1133651.1133653},5521 doi= {10.1145/1133651.1133653},5522 acmid= {1133653},5523 publisher= {ACM},5524 address= {New York, NY, USA},5589 keywords = {Cyclone, existential types, polymorphism, type variables}, 5590 contributer = {a3moss@plg}, 5591 author = {Grossman, Dan}, 5592 title = {Quantified Types in an Imperative Language}, 5593 journal = toplas, 5594 issue_date = {May 2006}, 5595 volume = {28}, 5596 number = {3}, 5597 month = may, 5598 year = {2006}, 5599 issn = {0164-0925}, 5600 pages = {429--475}, 5601 numpages = {47}, 5602 url = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/1133651.1133653}, 5603 doi = {10.1145/1133651.1133653}, 5604 acmid = {1133653}, 5605 publisher = {ACM}, 5606 address = {New York, NY, USA}, 5525 5607 } 5526 5608 … … 5569 5651 title = {{A}da Reference Manual}, 5570 5652 edition = {International Standard {ISO}/{IEC} {8652:1995(E)} with {COR.1:2000}}, 5571 organization 5653 organization= {Intermetrics, Inc.}, 5572 5654 month = dec, 5573 5655 year = 1995, … … 5579 5661 contributer = {pabuhr@plg}, 5580 5662 title = {Programming languages -- {Ada}}, 5581 edition = { third},5663 edition = {3rd}, 5582 5664 organization= {International Standard ISO/IEC 1989:2014}, 5583 5665 publisher = {International Standard Organization}, … … 5604 5686 series = {The Real-Time for Java Expert Group, {\small\textsf{http://\-www.rtj.org}}}, 5605 5687 publisher = {Addison-Wesley}, 5688 address = {Boston}, 5606 5689 year = 2000, 5607 5690 } … … 5755 5838 % S 5756 5839 5840 @manual{Scala, 5841 keywords = {Scala programming language}, 5842 contributer = {pabuhr@plg}, 5843 title = {{Scala} Language Specification, Version 2.11}, 5844 organization= {\'{E}cole Polytechnique F\'{e}d\'{e}rale de Lausanne}, 5845 year = 2016, 5846 note = {\href{http://www.scala-lang.org/files/archive/spec/2.11}{http://\-www.scala-lang.org/\-files/\-archive/\-spec/\-2.11}}, 5847 } 5848 5757 5849 @inproceedings{Michael04, 5758 5850 keywords = {lock free, dynamic memory allocation}, … … 5802 5894 pages = {51-67}, 5803 5895 editor = {G. Kahn and D. B. MacQueen and G. D. Plotkin}, 5804 publisher = {Springer -Verlag},5896 publisher = {Springer}, 5805 5897 note = {Lecture Notes in Computer Science v. 173}, 5806 5898 } … … 5852 5944 month = may, 5853 5945 year = 2001, 5854 note = { {\small\textsf{http://www.python.org/peps/pep-0255.html}}},5946 note = {\href{http://www.python.org/peps/pep-0255.html}{http://\-www.python.org/\-peps/\-pep-0255.html}}, 5855 5947 } 5856 5948 … … 5871 5963 5872 5964 @article{Pennello80, 5873 contributer= {a3moss@uwaterloo.ca},5874 author= {Pennello, Tom and DeRemer, Frank and Meyers, Richard},5875 title= {A Simplified Operator Identification Scheme for {Ada}},5876 journal= {SIGPLAN Notices},5877 issue_date= {July-August 1980},5878 volume= {15},5879 number= {7 and 8},5880 month= jul,5881 year= {1980},5882 issn= {0362-1340},5883 pages= {82--87},5884 numpages= {6},5885 url= {http://doi.acm.org/10.1145/947680.947688},5886 doi= {10.1145/947680.947688},5887 publisher= {ACM},5888 address= {New York, NY, USA},5965 contributer = {a3moss@uwaterloo.ca}, 5966 author = {Pennello, Tom and DeRemer, Frank and Meyers, Richard}, 5967 title = {A Simplified Operator Identification Scheme for {Ada}}, 5968 journal = {SIGPLAN Notices}, 5969 issue_date = {July-August 1980}, 5970 volume = {15}, 5971 number = {7 and 8}, 5972 month = jul, 5973 year = {1980}, 5974 issn = {0362-1340}, 5975 pages = {82--87}, 5976 numpages = {6}, 5977 url = {http://doi.acm.org/10.1145/947680.947688}, 5978 doi = {10.1145/947680.947688}, 5979 publisher = {ACM}, 5980 address = {New York, NY, USA}, 5889 5981 } 5890 5982 … … 5927 6019 year = {1980}, 5928 6020 address = {Lund, Sweden}, 5929 edition = { second},6021 edition = {2nd}, 5930 6022 } 5931 6023 5932 6024 @book{Simula67, 5933 author = "O-J Dahl and B. Myhrhaug and K. Nygaard",5934 address = "Oslo Norway",6025 author = {O-J Dahl and B. Myhrhaug and K. Nygaard}, 6026 title = {Simula67 Common Base Language}, 5935 6027 month = oct, 5936 6028 year = 1970, 5937 publisher = "Norwegian Computing Center",5938 title = "Simula67 Common Base Language"6029 publisher = {Norwegian Com\-puting Center}, 6030 address = {Oslo Norway}, 5939 6031 } 5940 6032 … … 5945 6037 title = {Smalltalk-80: The Language and its Implementation}, 5946 6038 publisher = {Addison-Wesley}, 6039 address = {Reading}, 5947 6040 year = 1983 5948 6041 } … … 5966 6059 author = {R. E. Griswold and J. F. Poage and I. P. Polonsky}, 5967 6060 title = {The SNOBOL4 Programming Language}, 5968 edition = { second},6061 edition = {2nd}, 5969 6062 publisher = {Prentice-Hall}, 6063 address = {Englewood Cliffs}, 5970 6064 year = 1971, 5971 6065 } … … 6073 6167 author = {R. H. Campbell and A. N. Habermann}, 6074 6168 title = {The Specification of Process Synchronization by Path Expressions}, 6075 publisher = {Springer -Verlag},6169 publisher = {Springer}, 6076 6170 year = 1974, 6077 6171 volume = 16, … … 6117 6211 title = {A Standard {ML} Compiler}, 6118 6212 booktitle = {Functional Programming Languages and Computer Architecture}, 6119 publisher = {Springer -Verlag},6213 publisher = {Springer}, 6120 6214 series = {Lecture Notes in Computer Science}, 6121 6215 volume = 274, … … 6172 6266 title = {Structured Concurrent Programming with Operating System Applications}, 6173 6267 publisher = {Addison-Wesley}, 6268 address = {Boston}, 6174 6269 year = 1978, 6175 6270 } … … 6320 6415 author = {Gadi Taubenfeld}, 6321 6416 title = {Synchronization Algorithms and Concurrent Programming}, 6322 publisher = {Pearson/Prentice Hall}, 6417 publisher = {Pearson/Prentice-Hall}, 6418 address = {Harlow, England}, 6323 6419 year = 2006, 6324 6420 } … … 6380 6476 author = {Andrew Birrell and Mark R. Brown and Luca Cardelli and Jim Donahue and Lucille Glassman and John Gutag and Jim Harning and Bill Kalsow and Roy Levin and Greg Nelson}, 6381 6477 title = {Systems Programming with Modula-3}, 6382 publisher = {Prentice-Hall, Inc.}, 6478 publisher = {Prentice-Hall}, 6479 address = {Englewood Cliffs}, 6383 6480 year = 1991, 6384 series = {Prentice 6481 series = {Prentice-Hall Series in Innovative Technology} 6385 6482 } 6386 6483 … … 6464 6561 pages = {408-423}, 6465 6562 editor = {B. Robinet}, 6466 publisher = {Springer -Verlag},6563 publisher = {Springer}, 6467 6564 note = {Lecture Notes in Computer Science, v. 19}, 6468 6565 abstract = { … … 6546 6643 publisher = {Holt Software Associates Inc.}, 6547 6644 year = 1992, 6548 edition = { third},6645 edition = {3rd}, 6549 6646 } 6550 6647 … … 6566 6663 title = {Tutorial: Programming Language Design}, 6567 6664 publisher = {Computer Society Press}, 6665 address = {Los Alamitos}, 6568 6666 year = 1980 6569 6667 } … … 6635 6733 % U 6636 6734 6637 @ unpublished{uC++book,6638 keywords = {control structure, concurrency },6735 @book{uC++book, 6736 keywords = {control structure, concurrency, uC++}, 6639 6737 contributer = {pabuhr@plg}, 6640 6738 author = {Peter A. Buhr}, 6641 title = {Understanding Control Flow with Concurrent Programming using $\mu${C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 6642 year = 1999, 6643 note = {Textbook in preparation} 6739 title = {Understanding Control Flow: Concurrent Programming using $\mu${C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}, 6740 publisher = {Springer}, 6741 address = {Switzerland}, 6742 year = 2016, 6644 6743 } 6645 6744 … … 6664 6763 booktitle = {Proceedings of the International Workshop on Memory Management}, 6665 6764 location = {St. Malo, France}, 6666 publisher = {Springer -Verlag},6765 publisher = {Springer}, 6667 6766 series = {Lecture Notes in Computer Science}, 6668 6767 volume = 637, … … 6788 6887 title = {VAX-11 Architecture Reference Manual}, 6789 6888 publisher = {Digital Press}, 6889 address = {Bedford}, 6790 6890 month = may, 6791 6891 year = 1982, … … 6796 6896 title = {{VAX/VMS} Internals and Data Structures Version 4.4}, 6797 6897 publisher = {Digital Press}, 6898 address = {Bedford}, 6798 6899 year = 1988, 6799 6900 } … … 6805 6906 title = {Verifying a Simplification of Mutual Exclusion by {L}ycklama--{H}adzilacos}, 6806 6907 journal = {Acta Informatica}, 6807 publisher = {Springer-Verlag}, 6908 publisher = {Springer}, 6909 address = {New York}, 6808 6910 year = {2013}, 6809 6911 volume = {50}, … … 6871 6973 month = jun, 6872 6974 year = 1985, 6873 note = {\ textsf{http://www.hpl.hp.com/\-techreports/\-tandem/\-TR-85.7.pdf}},6975 note = {\href{http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf}{http://www.hpl.hp.com/\-techreports/\-tandem/\-TR-85.7.pdf}}, 6874 6976 } 6875 6977 -
doc/user/user.tex
r40744af8 rf51aefb 11 11 %% Created On : Wed Apr 6 14:53:29 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Sun Aug 14 08:23:06201614 %% Update Count : 13 2313 %% Last Modified On : Tue Oct 25 23:03:59 2016 14 %% Update Count : 1357 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 … … 33 33 \usepackage{textcomp} 34 34 \usepackage[latin1]{inputenc} 35 35 36 \usepackage{fullpage,times,comment} 36 37 \usepackage{epic,eepic} … … 325 326 \begin{description} 326 327 \item 327 \Indexc{__CFA_ _}\index{preprocessor variables!__CFA__@{©__CFA__©}}328 is a lways available during preprocessing and its value is the currentmajor \Index{version number} of \CFA.\footnote{328 \Indexc{__CFA_MAJOR__}\index{preprocessor variables!__CFA__@{©__CFA__©}} 329 is available during preprocessing and its value is the major \Index{version number} of \CFA.\footnote{ 329 330 The C preprocessor allows only integer values in a preprocessor variable so a value like ``\Version'' is not allowed. 330 331 Hence, the need to have three variables for the major, minor and patch version number.} … … 332 333 \item 333 334 \Indexc{__CFA_MINOR__}\index{preprocessor variables!__CFA_MINOR__@{©__CFA_MINOR__©}} 334 is a lways available during preprocessing and its value is the currentminor \Index{version number} of \CFA.335 is available during preprocessing and its value is the minor \Index{version number} of \CFA. 335 336 336 337 \item 337 338 \Indexc{__CFA_PATCH__}\index{preprocessor variables!__CFA_PATCH__@©__CFA_PATCH__©} 338 is always available during preprocessing and its value is the current patch \Index{version number} of \CFA. 339 340 \item 339 is available during preprocessing and its value is the patch \Index{level number} of \CFA. 340 341 \item 342 \Indexc{__CFA__}\index{preprocessor variables!__CFA__@©__CFA__©} and 341 343 \Indexc{__CFORALL__}\index{preprocessor variables!__CFORALL__@©__CFORALL__©} 342 is always available during preprocessing and hasno value.344 are always available during preprocessing and have no value. 343 345 \end{description} 344 346 These preprocessor variables allow conditional compilation of programs that must work differently in these situations. … … 1853 1855 case 1: case 2: case 3: ... 1854 1856 \end{lstlisting} 1855 still work .1857 still works. 1856 1858 Nevertheless, reversing the default action would have a non-trivial effect on case actions that compound, such as the above example of processing shell arguments. 1857 <<<<<<< HEAD1858 Therefore, to preserve backwards compatibility, it is necessary to introduce a new kind of ©switch© statement, called ©choose©, with no implicit fall-through semantics and an explicit fall-through if the last statement of a case-clause ends with the new keyword ©fallthru©, \eg:1859 =======1860 1859 Therefore, to preserve backwards compatibility, it is necessary to introduce a new kind of ©switch© statement, called ©choose©, with no implicit fall-through semantics and an explicit fall-through if the last statement of a case-clause ends with the new keyword ©fallthrough©/©fallthru©, e.g.: 1861 >>>>>>> 080615890f586cb9954c252b55cab47f52c257581862 1860 \begin{lstlisting} 1863 1861 ®choose® ( i ) { -
src/ControlStruct/LabelFixer.h
r40744af8 rf51aefb 26 26 namespace ControlStruct { 27 27 /// normalizes label definitions and generates multi-level exit labels 28 class LabelFixer : public Visitor {28 class LabelFixer final : public Visitor { 29 29 typedef Visitor Parent; 30 30 public: … … 33 33 std::map < Label, Statement * > *resolveJumps() throw ( SemanticError ); 34 34 35 using Visitor::visit; 36 35 37 // Declarations 36 virtual void visit( FunctionDecl *functionDecl ) ;38 virtual void visit( FunctionDecl *functionDecl ) override; 37 39 38 40 // Statements 39 41 void visit( Statement *stmt ); 40 42 41 virtual void visit( CompoundStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }42 virtual void visit( NullStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }43 virtual void visit( ExprStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }44 virtual void visit( IfStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }45 virtual void visit( WhileStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }46 virtual void visit( ForStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }47 virtual void visit( SwitchStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }48 virtual void visit( CaseStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }49 virtual void visit( ReturnStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }50 virtual void visit( TryStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }51 virtual void visit( CatchStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }52 virtual void visit( DeclStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }53 virtual void visit( BranchStmt *branchStmt ) ;54 virtual void visit( UntypedExpr *untyped ) ;43 virtual void visit( CompoundStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 44 virtual void visit( NullStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 45 virtual void visit( ExprStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 46 virtual void visit( IfStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 47 virtual void visit( WhileStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 48 virtual void visit( ForStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 49 virtual void visit( SwitchStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 50 virtual void visit( CaseStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 51 virtual void visit( ReturnStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 52 virtual void visit( TryStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 53 virtual void visit( CatchStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 54 virtual void visit( DeclStmt *stmt ) override { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 55 virtual void visit( BranchStmt *branchStmt ) override; 56 virtual void visit( UntypedExpr *untyped ) override; 55 57 56 58 Label setLabelsDef( std::list< Label > &, Statement *definition ); -
src/ControlStruct/LabelTypeChecker.cc
r40744af8 rf51aefb 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // LabelTypeChecker.cc -- 7 // LabelTypeChecker.cc -- 8 8 // 9 9 // Author : Rodolfo G. Esteves … … 28 28 assert( untypedExpr != 0 ); 29 29 NameExpr *fname; 30 if ( ((fname = dynamic_cast<NameExpr *>(untypedExpr->get_function())) != 0) 30 if ( ((fname = dynamic_cast<NameExpr *>(untypedExpr->get_function())) != 0) 31 31 && fname->get_name() == std::string("&&") ) 32 32 std::cerr << "Taking the label of an address." << std::endl; … … 58 58 59 59 NameExpr *name; 60 if ( ( (name = dynamic_cast<NameExpr *>(target)) == 0))60 if ( (name = dynamic_cast<NameExpr *>(target)) == 0 ) 61 61 return; // Not a name expression 62 62 63 63 std::list< DeclarationWithType * > interps; 64 64 index.lookupId(name->get_name(), interps); -
src/GenPoly/Box.cc
r40744af8 rf51aefb 64 64 65 65 /// Adds layout-generation functions to polymorphic types 66 class LayoutFunctionBuilder : public DeclMutator {66 class LayoutFunctionBuilder final : public DeclMutator { 67 67 unsigned int functionNesting; // current level of nested functions 68 68 public: 69 69 LayoutFunctionBuilder() : functionNesting( 0 ) {} 70 70 71 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ); 72 virtual Declaration *mutate( StructDecl *structDecl ); 73 virtual Declaration *mutate( UnionDecl *unionDecl ); 71 using DeclMutator::mutate; 72 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ) override; 73 virtual Declaration *mutate( StructDecl *structDecl ) override; 74 virtual Declaration *mutate( UnionDecl *unionDecl ) override; 74 75 }; 75 76 76 77 /// Replaces polymorphic return types with out-parameters, replaces calls to polymorphic functions with adapter calls as needed, and adds appropriate type variables to the function call 77 class Pass1 : public PolyMutator {78 class Pass1 final : public PolyMutator { 78 79 public: 79 80 Pass1(); 80 virtual Expression *mutate( ApplicationExpr *appExpr ); 81 virtual Expression *mutate( AddressExpr *addrExpr ); 82 virtual Expression *mutate( UntypedExpr *expr ); 83 virtual DeclarationWithType* mutate( FunctionDecl *functionDecl ); 84 virtual TypeDecl *mutate( TypeDecl *typeDecl ); 85 virtual Expression *mutate( CommaExpr *commaExpr ); 86 virtual Expression *mutate( ConditionalExpr *condExpr ); 87 virtual Statement * mutate( ReturnStmt *returnStmt ); 88 virtual Type *mutate( PointerType *pointerType ); 89 virtual Type * mutate( FunctionType *functionType ); 90 91 virtual void doBeginScope(); 92 virtual void doEndScope(); 81 82 using PolyMutator::mutate; 83 virtual Expression *mutate( ApplicationExpr *appExpr ) override; 84 virtual Expression *mutate( AddressExpr *addrExpr ) override; 85 virtual Expression *mutate( UntypedExpr *expr ) override; 86 virtual DeclarationWithType* mutate( FunctionDecl *functionDecl ) override; 87 virtual TypeDecl *mutate( TypeDecl *typeDecl ) override; 88 virtual Expression *mutate( CommaExpr *commaExpr ) override; 89 virtual Expression *mutate( ConditionalExpr *condExpr ) override; 90 virtual Statement * mutate( ReturnStmt *returnStmt ) override; 91 virtual Type *mutate( PointerType *pointerType ) override; 92 virtual Type * mutate( FunctionType *functionType ) override; 93 94 virtual void doBeginScope() override; 95 virtual void doEndScope() override; 93 96 private: 94 97 /// Pass the extra type parameters from polymorphic generic arguments or return types into a function application … … 135 138 /// * Moves polymorphic returns in function types to pointer-type parameters 136 139 /// * adds type size and assertion parameters to parameter lists 137 class Pass2 : public PolyMutator {140 class Pass2 final : public PolyMutator { 138 141 public: 139 142 template< typename DeclClass > 140 143 DeclClass *handleDecl( DeclClass *decl, Type *type ); 141 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ); 142 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ); 143 virtual TypeDecl *mutate( TypeDecl *typeDecl ); 144 virtual TypedefDecl *mutate( TypedefDecl *typedefDecl ); 145 virtual Type *mutate( PointerType *pointerType ); 146 virtual Type *mutate( FunctionType *funcType ); 144 145 using PolyMutator::mutate; 146 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ) override; 147 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ) override; 148 virtual TypeDecl *mutate( TypeDecl *typeDecl ) override; 149 virtual TypedefDecl *mutate( TypedefDecl *typedefDecl ) override; 150 virtual Type *mutate( PointerType *pointerType ) override; 151 virtual Type *mutate( FunctionType *funcType ) override; 147 152 148 153 private: … … 156 161 /// * Calculates polymorphic offsetof expressions from offset array 157 162 /// * Inserts dynamic calculation of polymorphic type layouts where needed 158 class PolyGenericCalculator : public PolyMutator {163 class PolyGenericCalculator final : public PolyMutator { 159 164 public: 160 165 typedef PolyMutator Parent; … … 163 168 template< typename DeclClass > 164 169 DeclClass *handleDecl( DeclClass *decl, Type *type ); 165 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ) ;166 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ) ;167 virtual TypedefDecl *mutate( TypedefDecl *objectDecl ) ;168 virtual TypeDecl *mutate( TypeDecl *objectDecl ) ;169 virtual Statement *mutate( DeclStmt *declStmt ) ;170 virtual Type *mutate( PointerType *pointerType ) ;171 virtual Type *mutate( FunctionType *funcType ) ;172 virtual Expression *mutate( MemberExpr *memberExpr ) ;173 virtual Expression *mutate( SizeofExpr *sizeofExpr ) ;174 virtual Expression *mutate( AlignofExpr *alignofExpr ) ;175 virtual Expression *mutate( OffsetofExpr *offsetofExpr ) ;176 virtual Expression *mutate( OffsetPackExpr *offsetPackExpr ) ;177 178 virtual void doBeginScope() ;179 virtual void doEndScope() ;170 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ) override; 171 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ) override; 172 virtual TypedefDecl *mutate( TypedefDecl *objectDecl ) override; 173 virtual TypeDecl *mutate( TypeDecl *objectDecl ) override; 174 virtual Statement *mutate( DeclStmt *declStmt ) override; 175 virtual Type *mutate( PointerType *pointerType ) override; 176 virtual Type *mutate( FunctionType *funcType ) override; 177 virtual Expression *mutate( MemberExpr *memberExpr ) override; 178 virtual Expression *mutate( SizeofExpr *sizeofExpr ) override; 179 virtual Expression *mutate( AlignofExpr *alignofExpr ) override; 180 virtual Expression *mutate( OffsetofExpr *offsetofExpr ) override; 181 virtual Expression *mutate( OffsetPackExpr *offsetPackExpr ) override; 182 183 virtual void doBeginScope() override; 184 virtual void doEndScope() override; 180 185 181 186 private: … … 197 202 198 203 /// Replaces initialization of polymorphic values with alloca, declaration of dtype/ftype with appropriate void expression, and sizeof expressions of polymorphic types with the proper variable 199 class Pass3 : public PolyMutator {204 class Pass3 final : public PolyMutator { 200 205 public: 201 206 template< typename DeclClass > 202 207 DeclClass *handleDecl( DeclClass *decl, Type *type ); 203 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ); 204 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ); 205 virtual TypedefDecl *mutate( TypedefDecl *objectDecl ); 206 virtual TypeDecl *mutate( TypeDecl *objectDecl ); 207 virtual Type *mutate( PointerType *pointerType ); 208 virtual Type *mutate( FunctionType *funcType ); 208 209 using PolyMutator::mutate; 210 virtual DeclarationWithType *mutate( FunctionDecl *functionDecl ) override; 211 virtual ObjectDecl *mutate( ObjectDecl *objectDecl ) override; 212 virtual TypedefDecl *mutate( TypedefDecl *objectDecl ) override; 213 virtual TypeDecl *mutate( TypeDecl *objectDecl ) override; 214 virtual Type *mutate( PointerType *pointerType ) override; 215 virtual Type *mutate( FunctionType *funcType ) override; 209 216 private: 210 217 }; -
src/GenPoly/InstantiateGeneric.cc
r40744af8 rf51aefb 147 147 148 148 /// Mutator pass that replaces concrete instantiations of generic types with actual struct declarations, scoped appropriately 149 class GenericInstantiator : public DeclMutator {149 class GenericInstantiator final : public DeclMutator { 150 150 /// Map of (generic type, parameter list) pairs to concrete type instantiations 151 151 InstantiationMap< AggregateDecl, AggregateDecl > instantiations; … … 158 158 GenericInstantiator() : DeclMutator(), instantiations(), dtypeStatics(), typeNamer("_conc_") {} 159 159 160 virtual Type* mutate( StructInstType *inst ); 161 virtual Type* mutate( UnionInstType *inst ); 162 163 virtual void doBeginScope(); 164 virtual void doEndScope(); 160 using DeclMutator::mutate; 161 virtual Type* mutate( StructInstType *inst ) override; 162 virtual Type* mutate( UnionInstType *inst ) override; 163 164 virtual void doBeginScope() override; 165 virtual void doEndScope() override; 165 166 private: 166 167 /// Wrap instantiation lookup for structs -
src/GenPoly/Specialize.cc
r40744af8 rf51aefb 36 36 const std::list<Label> noLabels; 37 37 38 class Specialize : public PolyMutator {38 class Specialize final : public PolyMutator { 39 39 public: 40 40 Specialize( std::string paramPrefix = "_p" ); 41 41 42 virtual Expression * mutate( ApplicationExpr *applicationExpr ); 43 virtual Expression * mutate( AddressExpr *castExpr ); 44 virtual Expression * mutate( CastExpr *castExpr ); 42 using PolyMutator::mutate; 43 virtual Expression * mutate( ApplicationExpr *applicationExpr ) override; 44 virtual Expression * mutate( AddressExpr *castExpr ) override; 45 virtual Expression * mutate( CastExpr *castExpr ) override; 45 46 // virtual Expression * mutate( LogicalExpr *logicalExpr ); 46 47 // virtual Expression * mutate( ConditionalExpr *conditionalExpr ); -
src/InitTweak/FixInit.cc
r40744af8 rf51aefb 50 50 const std::list<Expression*> noDesignators; 51 51 52 class InsertImplicitCalls : public GenPoly::PolyMutator {52 class InsertImplicitCalls final : public GenPoly::PolyMutator { 53 53 public: 54 54 /// wrap function application expressions as ImplicitCopyCtorExpr nodes so that it is easy to identify which … … 56 56 static void insert( std::list< Declaration * > & translationUnit ); 57 57 58 virtual Expression * mutate( ApplicationExpr * appExpr ); 59 }; 60 61 class ResolveCopyCtors : public SymTab::Indexer { 58 using GenPoly::PolyMutator::mutate; 59 virtual Expression * mutate( ApplicationExpr * appExpr ) override; 60 }; 61 62 class ResolveCopyCtors final : public SymTab::Indexer { 62 63 public: 63 64 /// generate temporary ObjectDecls for each argument and return value of each ImplicitCopyCtorExpr, … … 66 67 static void resolveImplicitCalls( std::list< Declaration * > & translationUnit ); 67 68 68 virtual void visit( ImplicitCopyCtorExpr * impCpCtorExpr ); 69 using SymTab::Indexer::visit; 70 virtual void visit( ImplicitCopyCtorExpr * impCpCtorExpr ) override; 69 71 70 72 /// create and resolve ctor/dtor expression: fname(var, [cpArg]) … … 82 84 using Parent::visit; 83 85 typedef std::set< ObjectDecl * > ObjectSet; 84 virtual void visit( CompoundStmt *compoundStmt ) ;85 virtual void visit( DeclStmt *stmt ) ;86 virtual void visit( CompoundStmt *compoundStmt ) override; 87 virtual void visit( DeclStmt *stmt ) override; 86 88 protected: 87 89 ObjectSet curVars; … … 103 105 } 104 106 105 class LabelFinder : public ObjDeclCollector {107 class LabelFinder final : public ObjDeclCollector { 106 108 public: 107 109 typedef ObjDeclCollector Parent; … … 117 119 // subclasses are added, there is only one place that the code has to be updated, rather than ensure that 118 120 // every specialized class knows about every new kind of statement that might be added. 119 virtual void visit( CompoundStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 120 virtual void visit( ExprStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 121 virtual void visit( AsmStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 122 virtual void visit( IfStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 123 virtual void visit( WhileStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 124 virtual void visit( ForStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 125 virtual void visit( SwitchStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 126 virtual void visit( CaseStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 127 virtual void visit( BranchStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 128 virtual void visit( ReturnStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 129 virtual void visit( TryStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 130 virtual void visit( CatchStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 131 virtual void visit( FinallyStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 132 virtual void visit( NullStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 133 virtual void visit( DeclStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 134 virtual void visit( ImplicitCtorDtorStmt *stmt ) { handleStmt( stmt ); return Parent::visit( stmt ); } 135 }; 136 137 class InsertDtors : public ObjDeclCollector { 121 using Parent::visit; 122 virtual void visit( CompoundStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 123 virtual void visit( ExprStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 124 virtual void visit( AsmStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 125 virtual void visit( IfStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 126 virtual void visit( WhileStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 127 virtual void visit( ForStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 128 virtual void visit( SwitchStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 129 virtual void visit( CaseStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 130 virtual void visit( BranchStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 131 virtual void visit( ReturnStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 132 virtual void visit( TryStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 133 virtual void visit( CatchStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 134 virtual void visit( FinallyStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 135 virtual void visit( NullStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 136 virtual void visit( DeclStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 137 virtual void visit( ImplicitCtorDtorStmt *stmt ) override { handleStmt( stmt ); return Parent::visit( stmt ); } 138 }; 139 140 class InsertDtors final : public ObjDeclCollector { 138 141 public: 139 142 /// insert destructor calls at the appropriate places. must happen before CtorInit nodes are removed … … 147 150 InsertDtors( LabelFinder & finder ) : labelVars( finder.vars ) {} 148 151 149 virtual void visit( ObjectDecl * objDecl ); 150 151 virtual void visit( CompoundStmt * compoundStmt ); 152 virtual void visit( ReturnStmt * returnStmt ); 153 virtual void visit( BranchStmt * stmt ); 152 using Parent::visit; 153 154 virtual void visit( ObjectDecl * objDecl ) override; 155 156 virtual void visit( CompoundStmt * compoundStmt ) override; 157 virtual void visit( ReturnStmt * returnStmt ) override; 158 virtual void visit( BranchStmt * stmt ) override; 154 159 private: 155 160 void handleGoto( BranchStmt * stmt ); … … 159 164 }; 160 165 161 class FixInit : public GenPoly::PolyMutator {166 class FixInit final : public GenPoly::PolyMutator { 162 167 public: 163 168 /// expand each object declaration to use its constructor after it is declared. 164 169 static void fixInitializers( std::list< Declaration * > &translationUnit ); 165 170 166 virtual DeclarationWithType * mutate( ObjectDecl *objDecl ); 171 using GenPoly::PolyMutator::mutate; 172 virtual DeclarationWithType * mutate( ObjectDecl *objDecl ) override; 167 173 168 174 std::list< Declaration * > staticDtorDecls; 169 175 }; 170 176 171 class FixCopyCtors : public GenPoly::PolyMutator {177 class FixCopyCtors final : public GenPoly::PolyMutator { 172 178 public: 173 179 /// expand ImplicitCopyCtorExpr nodes into the temporary declarations, copy constructors, call expression, … … 175 181 static void fixCopyCtors( std::list< Declaration * > &translationUnit ); 176 182 177 virtual Expression * mutate( ImplicitCopyCtorExpr * impCpCtorExpr ); 178 }; 179 180 class GenStructMemberCalls : public SymTab::Indexer { 183 using GenPoly::PolyMutator::mutate; 184 virtual Expression * mutate( ImplicitCopyCtorExpr * impCpCtorExpr ) override; 185 }; 186 187 class GenStructMemberCalls final : public SymTab::Indexer { 181 188 public: 182 189 typedef Indexer Parent; … … 186 193 static void generate( std::list< Declaration * > & translationUnit ); 187 194 188 virtual void visit( FunctionDecl * funcDecl ); 189 190 virtual void visit( MemberExpr * memberExpr ); 191 virtual void visit( ApplicationExpr * appExpr ); 195 using Parent::visit; 196 197 virtual void visit( FunctionDecl * funcDecl ) override; 198 199 virtual void visit( MemberExpr * memberExpr ) override; 200 virtual void visit( ApplicationExpr * appExpr ) override; 192 201 193 202 SemanticError errors; … … 207 216 // resolve UntypedExprs that are found within newly 208 217 // generated constructor/destructor calls 209 class MutatingResolver : public Mutator {218 class MutatingResolver final : public Mutator { 210 219 public: 211 220 MutatingResolver( SymTab::Indexer & indexer ) : indexer( indexer ) {} 212 221 213 virtual DeclarationWithType* mutate( ObjectDecl *objectDecl ); 214 215 virtual Expression* mutate( UntypedExpr *untypedExpr ); 216 private: 222 using Mutator::mutate; 223 virtual DeclarationWithType* mutate( ObjectDecl *objectDecl ) override; 224 virtual Expression* mutate( UntypedExpr *untypedExpr ) override; 225 226 private: 217 227 SymTab::Indexer & indexer; 218 228 }; 219 229 220 class FixCtorExprs : public GenPoly::DeclMutator {230 class FixCtorExprs final : public GenPoly::DeclMutator { 221 231 public: 222 232 /// expands ConstructorExpr nodes into comma expressions, using a temporary for the first argument 223 233 static void fix( std::list< Declaration * > & translationUnit ); 224 234 225 virtual Expression * mutate( ConstructorExpr * ctorExpr ); 235 using GenPoly::DeclMutator::mutate; 236 virtual Expression * mutate( ConstructorExpr * ctorExpr ) override; 226 237 }; 227 238 } // namespace -
src/InitTweak/GenInit.cc
r40744af8 rf51aefb 36 36 } 37 37 38 class ReturnFixer : public GenPoly::PolyMutator {38 class ReturnFixer final : public GenPoly::PolyMutator { 39 39 public: 40 40 /// consistently allocates a temporary variable for the return value … … 45 45 ReturnFixer(); 46 46 47 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl );48 49 virtual Statement * mutate( ReturnStmt * returnStmt ) ;47 using GenPoly::PolyMutator::mutate; 48 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ) override; 49 virtual Statement * mutate( ReturnStmt * returnStmt ) override; 50 50 51 51 protected: … … 55 55 }; 56 56 57 class CtorDtor : public GenPoly::PolyMutator {57 class CtorDtor final : public GenPoly::PolyMutator { 58 58 public: 59 59 typedef GenPoly::PolyMutator Parent; … … 65 65 static void generateCtorDtor( std::list< Declaration * > &translationUnit ); 66 66 67 virtual DeclarationWithType * mutate( ObjectDecl * ) ;68 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ) ;67 virtual DeclarationWithType * mutate( ObjectDecl * ) override; 68 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ) override; 69 69 // should not traverse into any of these declarations to find objects 70 70 // that need to be constructed or destructed 71 virtual Declaration* mutate( StructDecl *aggregateDecl ) ;72 virtual Declaration* mutate( UnionDecl *aggregateDecl ) { return aggregateDecl; }73 virtual Declaration* mutate( EnumDecl *aggregateDecl ) { return aggregateDecl; }74 virtual Declaration* mutate( TraitDecl *aggregateDecl ) { return aggregateDecl; }75 virtual TypeDecl* mutate( TypeDecl *typeDecl ) { return typeDecl; }76 virtual Declaration* mutate( TypedefDecl *typeDecl ) { return typeDecl; }77 78 virtual Type * mutate( FunctionType *funcType ) { return funcType; }79 80 virtual CompoundStmt * mutate( CompoundStmt * compoundStmt ) ;71 virtual Declaration* mutate( StructDecl *aggregateDecl ) override; 72 virtual Declaration* mutate( UnionDecl *aggregateDecl ) override { return aggregateDecl; } 73 virtual Declaration* mutate( EnumDecl *aggregateDecl ) override { return aggregateDecl; } 74 virtual Declaration* mutate( TraitDecl *aggregateDecl ) override { return aggregateDecl; } 75 virtual TypeDecl* mutate( TypeDecl *typeDecl ) override { return typeDecl; } 76 virtual Declaration* mutate( TypedefDecl *typeDecl ) override { return typeDecl; } 77 78 virtual Type * mutate( FunctionType *funcType ) override { return funcType; } 79 80 virtual CompoundStmt * mutate( CompoundStmt * compoundStmt ) override; 81 81 82 82 private: … … 91 91 }; 92 92 93 class HoistArrayDimension : public GenPoly::DeclMutator {93 class HoistArrayDimension final : public GenPoly::DeclMutator { 94 94 public: 95 95 typedef GenPoly::DeclMutator Parent; … … 101 101 102 102 private: 103 virtual DeclarationWithType * mutate( ObjectDecl * objectDecl ); 104 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ); 103 using Parent::mutate; 104 105 virtual DeclarationWithType * mutate( ObjectDecl * objectDecl ) override; 106 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ) override; 105 107 // should not traverse into any of these declarations to find objects 106 108 // that need to be constructed or destructed 107 virtual Declaration* mutate( StructDecl *aggregateDecl ) { return aggregateDecl; }108 virtual Declaration* mutate( UnionDecl *aggregateDecl ) { return aggregateDecl; }109 virtual Declaration* mutate( EnumDecl *aggregateDecl ) { return aggregateDecl; }110 virtual Declaration* mutate( TraitDecl *aggregateDecl ) { return aggregateDecl; }111 virtual TypeDecl* mutate( TypeDecl *typeDecl ) { return typeDecl; }112 virtual Declaration* mutate( TypedefDecl *typeDecl ) { return typeDecl; }113 114 virtual Type* mutate( FunctionType *funcType ) { return funcType; }109 virtual Declaration* mutate( StructDecl *aggregateDecl ) override { return aggregateDecl; } 110 virtual Declaration* mutate( UnionDecl *aggregateDecl ) override { return aggregateDecl; } 111 virtual Declaration* mutate( EnumDecl *aggregateDecl ) override { return aggregateDecl; } 112 virtual Declaration* mutate( TraitDecl *aggregateDecl ) override { return aggregateDecl; } 113 virtual TypeDecl* mutate( TypeDecl *typeDecl ) override { return typeDecl; } 114 virtual Declaration* mutate( TypedefDecl *typeDecl ) override { return typeDecl; } 115 116 virtual Type* mutate( FunctionType *funcType ) override { return funcType; } 115 117 116 118 void hoist( Type * type ); -
src/InitTweak/InitTweak.h
r40744af8 rf51aefb 100 100 101 101 class ExpanderImpl; 102 typedef std::list< Expression * > IndexList; 102 103 private: 103 104 std::shared_ptr< ExpanderImpl > expander; … … 105 106 106 107 // invariant: list of size 2N (elements come in pairs [index, dimension]) 107 typedef std::list< Expression * > IndexList;108 108 IndexList indices; 109 109 }; -
src/Makefile.am
r40744af8 rf51aefb 6 6 ## file "LICENCE" distributed with Cforall. 7 7 ## 8 ## Makefile.am -- 8 ## Makefile.am -- 9 9 ## 10 10 ## Author : Peter A. Buhr 11 11 ## Created On : Sun May 31 08:51:46 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Sat Sep 24 15:03:52201614 ## Update Count : 7 313 ## Last Modified On : Thu Oct 27 20:41:25 2016 14 ## Update Count : 75 15 15 ############################################################################### 16 16 … … 41 41 driver_cfa_cpp_SOURCES = ${SRC} 42 42 driver_cfa_cpp_LDADD = ${LEXLIB} -ldl # yywrap 43 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -rdynamic -I${abs_top_srcdir}/src/include 43 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${abs_top_srcdir}/src/include -DYY_NO_INPUT 44 driver_cfa_cpp_LDFLAGS = -Xlinker -export-dynamic 44 45 45 46 MAINTAINERCLEANFILES += ${libdir}/${notdir ${cfa_cpplib_PROGRAMS}} -
src/Makefile.in
r40744af8 rf51aefb 197 197 driver_cfa_cpp_DEPENDENCIES = $(am__DEPENDENCIES_1) 198 198 driver_cfa_cpp_LINK = $(CXXLD) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) \ 199 $( AM_LDFLAGS) $(LDFLAGS) -o $@199 $(driver_cfa_cpp_LDFLAGS) $(LDFLAGS) -o $@ 200 200 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) 201 201 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp … … 417 417 driver_cfa_cpp_SOURCES = ${SRC} 418 418 driver_cfa_cpp_LDADD = ${LEXLIB} -ldl # yywrap 419 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -rdynamic -I${abs_top_srcdir}/src/include 419 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${abs_top_srcdir}/src/include -DYY_NO_INPUT 420 driver_cfa_cpp_LDFLAGS = -Xlinker -export-dynamic 420 421 all: $(BUILT_SOURCES) 421 422 $(MAKE) $(AM_MAKEFLAGS) all-am -
src/Parser/DeclarationNode.cc
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 26 22:18:40201613 // Update Count : 6 4012 // Last Modified On : Mon Oct 3 18:03:08 2016 13 // Update Count : 651 14 14 // 15 15 … … 56 56 extension( false ) { 57 57 58 variable.name = nullptr;59 variable.tyClass = DeclarationNode::Otype;58 // variable.name = nullptr; 59 variable.tyClass = NoTypeClass; 60 60 variable.assertions = nullptr; 61 61 62 attr.name = nullptr;62 // attr.name = nullptr; 63 63 attr.expr = nullptr; 64 64 attr.type = nullptr; … … 66 66 67 67 DeclarationNode::~DeclarationNode() { 68 delete attr.name;68 // delete attr.name; 69 69 delete attr.expr; 70 70 delete attr.type; 71 71 72 delete variable.name;72 // delete variable.name; 73 73 delete variable.assertions; 74 74 … … 91 91 newnode->linkage = linkage; 92 92 93 newnode->variable.name = variable.name ? new string( *variable.name ) : nullptr;93 // newnode->variable.name = variable.name ? new string( *variable.name ) : nullptr; 94 94 newnode->variable.tyClass = variable.tyClass; 95 95 newnode->variable.assertions = maybeClone( variable.assertions ); 96 96 97 newnode->attr.name = attr.name ? new string( *attr.name ) : nullptr;97 // newnode->attr.name = attr.name ? new string( *attr.name ) : nullptr; 98 98 newnode->attr.expr = maybeClone( attr.expr ); 99 99 newnode->attr.type = maybeClone( attr.type ); … … 114 114 115 115 if ( linkage != LinkageSpec::Cforall ) { 116 os << LinkageSpec:: toString( linkage ) << " ";116 os << LinkageSpec::linkageName( linkage ) << " "; 117 117 } // if 118 118 … … 283 283 DeclarationNode * newnode = new DeclarationNode; 284 284 newnode->type = nullptr; 285 assert( ! newnode->name ); 286 // newnode->variable.name = name; 287 newnode->name = name; 285 288 newnode->variable.tyClass = tc; 286 newnode->variable. name = name;289 newnode->variable.assertions = nullptr; 287 290 return newnode; 288 291 } // DeclarationNode::newTypeParam … … 375 378 DeclarationNode * newnode = new DeclarationNode; 376 379 newnode->type = nullptr; 377 newnode->attr.name = name; 380 // newnode->attr.name = name; 381 newnode->name = name; 378 382 newnode->attr.expr = expr; 379 383 return newnode; … … 383 387 DeclarationNode * newnode = new DeclarationNode; 384 388 newnode->type = nullptr; 385 newnode->attr.name = name; 389 // newnode->attr.name = name; 390 newnode->name = name; 386 391 newnode->attr.type = type; 387 392 return newnode; … … 604 609 605 610 DeclarationNode * DeclarationNode::addAssertions( DeclarationNode * assertions ) { 606 if ( variable. name) {611 if ( variable.tyClass != NoTypeClass ) { 607 612 if ( variable.assertions ) { 608 613 variable.assertions->appendList( assertions ); … … 622 627 } // if 623 628 break; 624 // case TypeData::Variable:625 // if ( variable.assertions ) {626 // variable.assertions->appendList( assertions );627 // } else {628 // variable.assertions = assertions;629 // } // if630 // break;631 629 default: 632 630 assert( false ); … … 938 936 if ( ! error.empty() ) throw SemanticError( error + " in declaration of ", this ); 939 937 940 if ( variable.name ) { 938 // if ( variable.name ) { 939 if ( variable.tyClass != NoTypeClass ) { 941 940 static const TypeDecl::Kind kindMap[] = { TypeDecl::Any, TypeDecl::Ftype, TypeDecl::Dtype }; 942 TypeDecl * ret = new TypeDecl( *variable.name, DeclarationNode::NoStorageClass, nullptr, kindMap[ variable.tyClass ] ); 941 // TypeDecl * ret = new TypeDecl( *variable.name, DeclarationNode::NoStorageClass, nullptr, kindMap[ variable.tyClass ] ); 942 TypeDecl * ret = new TypeDecl( *name, DeclarationNode::NoStorageClass, nullptr, kindMap[ variable.tyClass ] ); 943 943 buildList( variable.assertions, ret->get_assertions() ); 944 944 return ret; … … 960 960 assert( type ); 961 961 962 if ( attr.name ) { 963 AttrType * ret; 964 if ( attr.expr ) { 965 ret = new AttrType( buildQualifiers( type ), *attr.name, attr.expr->build() ); 966 } else { 967 assert( attr.type ); 968 ret = new AttrType( buildQualifiers( type ), *attr.name, attr.type->buildType() ); 969 } // if 970 return ret; 962 if ( attr.expr ) { 963 // return new AttrType( buildQualifiers( type ), *attr.name, attr.expr->build() ); 964 return new AttrType( buildQualifiers( type ), *name, attr.expr->build() ); 965 } else if ( attr.type ) { 966 // return new AttrType( buildQualifiers( type ), *attr.name, attr.type->buildType() ); 967 return new AttrType( buildQualifiers( type ), *name, attr.type->buildType() ); 971 968 } // if 972 969 -
src/Parser/InitializerNode.cc
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 13:20:24 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 15 18:27:02201613 // Update Count : 2 012 // Last Modified On : Sat Oct 1 23:09:51 2016 13 // Update Count : 21 14 14 // 15 15 … … 23 23 24 24 InitializerNode::InitializerNode( ExpressionNode *_expr, bool aggrp, ExpressionNode *des ) 25 : expr( _expr ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) {25 : expr( _expr ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) { 26 26 if ( aggrp ) 27 27 kids = dynamic_cast< InitializerNode * >( get_next() ); … … 32 32 33 33 InitializerNode::InitializerNode( InitializerNode *init, bool aggrp, ExpressionNode *des ) 34 : expr( 0 ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) {34 : expr( 0 ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) { 35 35 if ( init != 0 ) 36 36 set_last( init ); … … 79 79 80 80 Initializer *InitializerNode::build() const { 81 // if ( get_expression() == 0 ) return 0; // XXX (?)82 83 81 if ( aggregate ) { 84 //assert( next_init() != 0 );85 86 82 std::list< Initializer * > initlist; 87 83 buildList< Initializer, InitializerNode >( next_init(), initlist ); -
src/Parser/LinkageSpec.cc
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 13:22:09 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Aug 21 12:32:53201613 // Update Count : 1712 // Last Modified On : Sun Oct 2 23:16:21 2016 13 // Update Count : 23 14 14 // 15 15 … … 17 17 #include <string> 18 18 #include <cassert> 19 using namespace std; 19 20 20 21 #include "LinkageSpec.h" 21 22 #include "Common/SemanticError.h" 22 23 23 LinkageSpec::Spec LinkageSpec:: fromString( const std::string &spec ) {24 std::unique_ptr<const std::string> guard(&spec);// allocated by lexer25 if ( spec == "\"Cforall\"" ) {24 LinkageSpec::Spec LinkageSpec::linkageCheck( const string * spec ) { 25 unique_ptr<const string> guard( spec ); // allocated by lexer 26 if ( *spec == "\"Cforall\"" ) { 26 27 return Cforall; 27 } else if ( spec == "\"C\"" ) {28 } else if ( *spec == "\"C\"" ) { 28 29 return C; 29 30 } else { 30 throw SemanticError( "Invalid linkage specifier " + spec );31 throw SemanticError( "Invalid linkage specifier " + *spec ); 31 32 } // if 32 33 } 33 34 34 st d::string LinkageSpec::toString( LinkageSpec::Spec linkage ) {35 assert( linkage >= 0&& linkage < LinkageSpec::NoOfSpecs );35 string LinkageSpec::linkageName( LinkageSpec::Spec linkage ) { 36 assert( 0 <= linkage && linkage < LinkageSpec::NoOfSpecs ); 36 37 static const char *linkageKinds[LinkageSpec::NoOfSpecs] = { 37 38 "intrinsic", "Cforall", "C", "automatically generated", "compiler built-in", … … 41 42 42 43 bool LinkageSpec::isDecoratable( Spec spec ) { 43 assert( spec >= 0&& spec < LinkageSpec::NoOfSpecs );44 assert( 0 <= spec && spec < LinkageSpec::NoOfSpecs ); 44 45 static bool decoratable[LinkageSpec::NoOfSpecs] = { 45 46 // Intrinsic, Cforall, C, AutoGen, Compiler … … 50 51 51 52 bool LinkageSpec::isGeneratable( Spec spec ) { 52 assert( spec >= 0&& spec < LinkageSpec::NoOfSpecs );53 assert( 0 <= spec && spec < LinkageSpec::NoOfSpecs ); 53 54 static bool generatable[LinkageSpec::NoOfSpecs] = { 54 55 // Intrinsic, Cforall, C, AutoGen, Compiler -
src/Parser/LinkageSpec.h
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 13:24:28 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 20 19:22:23201613 // Update Count : 812 // Last Modified On : Sat Oct 1 23:03:17 2016 13 // Update Count : 11 14 14 // 15 15 … … 29 29 }; 30 30 31 static Spec fromString( const std::string &);32 static std::string toString( Spec );31 static Spec linkageCheck( const std::string * ); 32 static std::string linkageName( Spec ); 33 33 34 34 static bool isDecoratable( Spec ); -
src/Parser/ParseNode.cc
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 13:26:29 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 17 23:14:16201613 // Update Count : 12 612 // Last Modified On : Sat Oct 1 23:10:43 2016 13 // Update Count : 127 14 14 // 15 15 … … 20 20 21 21 std::ostream & operator<<( std::ostream & out, const ParseNode * node ) { 22 23 22 node->print( out ); 23 return out; 24 24 } 25 25 -
src/Parser/ParseNode.h
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Sep 24 11:12:04201613 // Update Count : 63 312 // Last Modified On : Mon Oct 3 18:03:08 2016 13 // Update Count : 636 14 14 // 15 15 … … 109 109 ExpressionNode * set_extension( bool exten ) { extension = exten; return this; } 110 110 111 v oid print( std::ostream &os, int indent = 0 ) const{}111 virtual void print( std::ostream &os, int indent = 0 ) const override {} 112 112 void printOneLine( std::ostream &os, int indent = 0 ) const {} 113 113 … … 187 187 //############################################################################## 188 188 189 classTypeData;189 struct TypeData; 190 190 191 191 class DeclarationNode : public ParseNode { … … 198 198 enum Signedness { Signed, Unsigned, NoSignedness }; 199 199 enum Length { Short, Long, LongLong, NoLength }; 200 enum Aggregate { Struct, Union, Trait };201 enum TypeClass { Otype, Dtype, Ftype };200 enum Aggregate { Struct, Union, Trait, NoAggregate }; 201 enum TypeClass { Otype, Dtype, Ftype, NoTypeClass }; 202 202 enum BuiltinType { Valist }; 203 203 … … 271 271 } 272 272 273 v oid print( std::ostream &os, int indent = 0 ) const;274 v oid printList( std::ostream &os, int indent = 0 ) const;273 virtual void print( std::ostream &os, int indent = 0 ) const override; 274 virtual void printList( std::ostream &os, int indent = 0 ) const override; 275 275 276 276 Declaration * build() const; … … 287 287 public: 288 288 struct Variable_t { 289 const std::string * name;289 // const std::string * name; 290 290 DeclarationNode::TypeClass tyClass; 291 291 DeclarationNode * assertions; … … 294 294 295 295 struct Attr_t { 296 const std::string * name;296 // const std::string * name; 297 297 ExpressionNode * expr; 298 298 DeclarationNode * type; … … 345 345 virtual StatementNode * append_last_case( StatementNode * ); 346 346 347 virtual void print( std::ostream &os, int indent = 0 ) {}348 virtual void printList( std::ostream &os, int indent = 0 ) {}347 virtual void print( std::ostream &os, int indent = 0 ) const override {} 348 virtual void printList( std::ostream &os, int indent = 0 ) const override {} 349 349 private: 350 350 std::unique_ptr<Statement> stmt; -
src/Parser/TypeData.h
r40744af8 rf51aefb 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Sep 24 11:10:38 201613 // Update Count : 14 112 // Last Modified On : Mon Oct 3 12:34:08 2016 13 // Update Count : 142 14 14 // 15 15 … … 23 23 24 24 struct TypeData { 25 enum Kind { Unknown, Basic, Pointer, Array, Function, Aggregate, AggregateInst,26 Enum, EnumConstant, Symbolic, SymbolicInst, Tuple, Typeof, Builtin };25 enum Kind { Basic, Pointer, Array, Function, Aggregate, AggregateInst, Enum, EnumConstant, Symbolic, 26 SymbolicInst, Tuple, Typeof, Builtin, Unknown }; 27 27 28 28 struct Aggregate_t { -
src/Parser/lex.cc
r40744af8 rf51aefb 382 382 (yy_c_buf_p) = yy_cp; 383 383 384 #define YY_NUM_RULES 18 1385 #define YY_END_OF_BUFFER 18 2384 #define YY_NUM_RULES 183 385 #define YY_END_OF_BUFFER 184 386 386 /* This struct is not used in this scanner, 387 387 but its presence is necessary. */ … … 391 391 flex_int32_t yy_nxt; 392 392 }; 393 static yyconst flex_int16_t yy_accept[89 2] =393 static yyconst flex_int16_t yy_accept[895] = 394 394 { 0, 395 0, 0, 0, 0, 0, 0, 11 6, 116, 119, 119,396 18 2, 180, 7, 9, 8, 139, 118, 103, 144, 147,397 11 5, 126, 127, 142, 140, 130, 141, 133, 143, 108,398 109, 110, 13 1, 132, 149, 151, 150, 152, 180, 103,399 12 4, 180, 125, 145, 103, 105, 103, 103, 103, 103,395 0, 0, 0, 0, 0, 0, 118, 118, 121, 121, 396 184, 182, 7, 9, 8, 141, 120, 103, 146, 149, 397 117, 128, 129, 144, 142, 132, 143, 135, 145, 108, 398 109, 110, 133, 134, 151, 153, 152, 154, 182, 103, 399 126, 182, 127, 147, 103, 105, 103, 103, 103, 103, 400 400 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 401 103, 103, 1 28, 148, 129, 146, 7, 180, 4, 4,402 18 1, 106, 181, 107, 116, 117, 123, 119, 120, 7,403 9, 0, 8, 15 6, 175, 103, 0, 168, 138, 161,404 1 69, 166, 153, 164, 154, 165, 163, 0, 113, 3,405 406 0, 16 7, 113, 111, 0, 0, 111, 111, 0, 0,407 111, 110, 110, 110, 0, 110, 13 6, 137, 135, 157,408 1 59, 155, 160, 158, 0, 0, 0, 0, 0, 0,401 103, 103, 130, 150, 131, 148, 7, 182, 4, 4, 402 183, 106, 183, 107, 118, 119, 125, 121, 122, 7, 403 9, 0, 8, 158, 177, 103, 0, 170, 140, 163, 404 171, 168, 155, 166, 156, 167, 165, 0, 114, 3, 405 406 0, 169, 113, 111, 0, 0, 111, 111, 0, 0, 407 111, 110, 110, 110, 0, 110, 138, 139, 137, 159, 408 161, 157, 162, 160, 0, 0, 0, 0, 0, 0, 409 409 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 410 17 4, 0, 118, 115, 103, 0, 0, 171, 0, 103,410 176, 0, 120, 117, 103, 0, 0, 173, 0, 103, 411 411 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 412 412 103, 103, 103, 103, 103, 103, 38, 103, 103, 103, 413 413 103, 103, 103, 103, 103, 103, 103, 57, 103, 103, 414 414 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 415 103, 103, 103, 103, 17 0, 162, 7, 0, 0, 0,416 417 2, 0, 5, 106, 0, 0, 0, 11 6, 0, 122,418 12 1, 121, 0, 0, 0, 119, 0, 0, 0, 0,415 103, 103, 103, 103, 172, 164, 7, 0, 0, 0, 416 417 2, 0, 5, 106, 0, 0, 0, 118, 0, 124, 418 123, 123, 0, 0, 0, 121, 0, 0, 0, 0, 419 419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420 0, 13 4, 113, 113, 0, 113, 113, 0, 0, 6,421 0, 111, 0, 0, 0, 113, 0, 111, 111, 111,420 0, 136, 114, 115, 0, 115, 115, 0, 0, 6, 421 115, 111, 0, 0, 0, 115, 0, 111, 111, 111, 422 422 111, 0, 112, 0, 0, 110, 110, 110, 110, 0, 423 17 2, 173, 0, 178, 176, 0, 0, 0, 104, 0,423 174, 175, 0, 180, 178, 0, 0, 0, 104, 0, 424 424 0, 0, 0, 0, 0, 0, 0, 103, 17, 103, 425 425 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, … … 431 431 103, 103, 103, 103, 103, 90, 103, 103, 103, 103, 432 432 103, 103, 103, 0, 0, 0, 0, 0, 0, 0, 433 0, 121, 0, 0, 0, 0, 0, 121, 0, 0, 434 179, 0, 0, 0, 0, 0, 0, 0, 113, 0, 435 113, 0, 113, 0, 0, 113, 0, 111, 111, 0, 436 0, 112, 112, 0, 112, 0, 112, 110, 110, 0, 437 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 438 433 0, 123, 0, 0, 0, 0, 0, 123, 0, 0, 434 181, 0, 0, 0, 0, 0, 0, 0, 115, 0, 435 115, 0, 115, 0, 115, 0, 0, 115, 0, 111, 436 111, 0, 0, 112, 112, 0, 112, 0, 112, 110, 437 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438 439 0, 179, 103, 103, 103, 103, 103, 103, 103, 103, 439 440 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 441 103, 103, 103, 103, 103, 21, 103, 24, 103, 27, 442 103, 103, 103, 103, 103, 103, 103, 41, 103, 43, 443 103, 103, 103, 103, 103, 103, 103, 56, 103, 67, 440 444 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 441 103, 103, 103, 21, 103, 24, 103, 27, 103, 103, 442 103, 103, 103, 103, 103, 41, 103, 43, 103, 103, 443 103, 103, 103, 103, 103, 56, 103, 67, 103, 103, 445 103, 103, 103, 103, 103, 103, 98, 103, 103, 0, 446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447 0, 0, 0, 123, 0, 0, 0, 0, 0, 115, 448 0, 0, 0, 0, 0, 0, 0, 112, 112, 0, 449 450 116, 0, 112, 112, 0, 0, 0, 0, 0, 0, 451 0, 0, 0, 0, 0, 0, 0, 103, 103, 22, 452 103, 103, 103, 103, 103, 103, 103, 15, 103, 103, 444 453 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 445 103, 103, 103, 103, 98, 103, 103, 0, 0, 0, 454 103, 103, 23, 25, 103, 32, 103, 103, 103, 103, 455 40, 103, 103, 103, 103, 49, 103, 103, 54, 103, 456 103, 71, 103, 103, 103, 77, 103, 103, 103, 103, 457 103, 87, 89, 103, 103, 95, 103, 103, 102, 0, 446 458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447 0, 121, 0, 0, 0, 0, 0, 113, 0, 0, 448 0, 0, 0, 0, 112, 112, 0, 114, 0, 112, 449 450 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451 0, 0, 0, 0, 103, 103, 22, 103, 103, 103, 452 103, 103, 103, 103, 15, 103, 103, 103, 103, 103, 453 103, 103, 103, 103, 103, 103, 103, 103, 103, 23, 454 25, 103, 32, 103, 103, 103, 103, 40, 103, 103, 455 103, 103, 49, 103, 103, 54, 103, 103, 71, 103, 456 103, 103, 77, 103, 103, 103, 103, 103, 87, 89, 457 103, 103, 95, 103, 103, 102, 0, 0, 0, 0, 459 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 460 461 0, 112, 116, 116, 116, 116, 0, 112, 0, 0, 462 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 463 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 464 103, 103, 103, 103, 103, 103, 59, 103, 103, 103, 465 103, 103, 103, 103, 103, 28, 103, 103, 103, 39, 466 42, 45, 103, 103, 52, 103, 61, 68, 103, 103, 467 76, 78, 81, 82, 84, 85, 103, 103, 92, 103, 468 103, 0, 1, 0, 0, 0, 0, 0, 0, 106, 469 0, 0, 0, 123, 0, 0, 0, 0, 116, 0, 470 116, 116, 0, 0, 0, 0, 0, 0, 0, 0, 471 472 0, 103, 103, 18, 103, 103, 103, 103, 103, 103, 473 103, 16, 103, 103, 103, 33, 103, 103, 103, 103, 474 103, 103, 103, 103, 103, 103, 103, 103, 36, 37, 475 103, 48, 53, 103, 103, 103, 91, 103, 103, 0, 458 476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459 0, 0, 0, 0, 0, 114, 0, 0, 112, 114, 460 461 114, 114, 114, 0, 112, 0, 0, 0, 0, 0, 462 0, 0, 0, 0, 0, 103, 0, 103, 103, 103, 463 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 464 103, 103, 103, 59, 103, 103, 103, 103, 103, 103, 465 103, 103, 28, 103, 103, 103, 39, 42, 45, 103, 466 103, 52, 103, 61, 68, 103, 103, 76, 78, 81, 467 82, 84, 85, 103, 103, 92, 103, 103, 0, 1, 468 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 469 121, 0, 0, 0, 0, 114, 0, 114, 114, 0, 470 0, 0, 0, 0, 0, 0, 0, 0, 103, 103, 471 472 18, 103, 103, 103, 103, 103, 103, 103, 16, 103, 473 103, 103, 33, 103, 103, 103, 103, 103, 103, 103, 474 103, 103, 103, 103, 103, 36, 37, 103, 48, 53, 475 103, 103, 103, 91, 103, 103, 0, 0, 0, 0, 476 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 477 11, 29, 55, 103, 103, 103, 103, 103, 103, 103, 478 103, 103, 103, 103, 60, 62, 65, 103, 103, 79, 479 93, 103, 103, 35, 103, 47, 72, 73, 103, 96, 480 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481 0, 0, 0, 103, 69, 103, 103, 12, 103, 103, 482 483 30, 34, 103, 103, 103, 66, 103, 103, 103, 103, 484 103, 103, 103, 0, 0, 0, 0, 0, 0, 0, 485 0, 0, 0, 0, 0, 0, 58, 103, 103, 103, 486 103, 103, 103, 103, 50, 63, 74, 80, 94, 100, 487 103, 103, 103, 0, 0, 0, 0, 0, 0, 0, 488 0, 103, 103, 13, 19, 103, 103, 31, 103, 103, 489 103, 26, 46, 88, 0, 0, 103, 103, 103, 103, 490 103, 103, 75, 101, 103, 86, 20, 103, 103, 44, 491 83, 103, 103, 103, 103, 103, 103, 103, 97, 70, 492 0 477 0, 0, 10, 11, 29, 55, 103, 103, 103, 103, 478 103, 103, 103, 103, 103, 103, 103, 60, 62, 65, 479 103, 103, 79, 93, 103, 103, 35, 103, 47, 72, 480 73, 103, 96, 99, 0, 0, 0, 0, 0, 0, 481 0, 0, 0, 0, 0, 0, 103, 69, 103, 103, 482 483 12, 103, 103, 30, 34, 103, 103, 103, 66, 103, 484 103, 103, 103, 103, 103, 103, 0, 0, 0, 0, 485 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 486 103, 103, 103, 103, 103, 103, 103, 50, 63, 74, 487 80, 94, 100, 103, 103, 103, 0, 0, 0, 0, 488 0, 0, 0, 0, 103, 103, 13, 19, 103, 103, 489 31, 103, 103, 103, 26, 46, 88, 0, 0, 103, 490 103, 103, 103, 103, 103, 75, 101, 103, 86, 20, 491 103, 103, 44, 83, 103, 103, 103, 103, 103, 103, 492 103, 97, 70, 0 493 493 494 494 } ; … … 539 539 } ; 540 540 541 static yyconst flex_int16_t yy_base[106 6] =541 static yyconst flex_int16_t yy_base[1069] = 542 542 { 0, 543 0, 84, 2 285, 2282, 94, 0, 177, 178, 179, 180,544 2 298, 2825, 191, 2825, 197, 55, 2825, 2244, 60, 173,545 28 25, 2825, 2825, 56, 188, 2825, 191, 189, 204, 216,546 275, 0, 22 62, 2825, 216, 2260, 152, 344, 155, 220,547 28 25, 159, 2825, 217, 226, 2825, 185, 154, 212, 251,543 0, 84, 2307, 2305, 94, 0, 177, 178, 179, 180, 544 2319, 2845, 191, 2845, 197, 55, 2845, 2265, 60, 173, 545 2845, 2845, 2845, 56, 188, 2845, 191, 189, 204, 216, 546 275, 0, 2284, 2845, 216, 2283, 152, 344, 155, 220, 547 2845, 159, 2845, 217, 226, 2845, 185, 154, 212, 251, 548 548 237, 270, 235, 257, 241, 205, 193, 305, 314, 333, 549 238, 228, 28 25, 225, 2825, 2255, 402, 390, 2825, 2266,550 28 25, 2234, 235, 2825, 0, 2825, 426, 0, 2825, 417,551 28 25, 439, 451, 2825, 498, 2232, 264, 2825, 2825, 2825,552 28 25, 2825, 2248, 2825, 2245, 2825, 2825, 2257, 559, 2825,553 554 22 74, 2825, 438, 444, 511, 534, 289, 253, 197, 380,555 305, 0, 319, 280, 198, 322, 28 25, 2825, 2825, 2243,556 28 25, 2825, 2825, 2240, 2237, 218, 255, 2252, 298, 350,557 368, 312, 440, 398, 405, 22 33, 441, 2181, 446, 2209,558 28 25, 335, 2825, 2825, 468, 2203, 2202, 2825, 2175, 439,549 238, 228, 2845, 225, 2845, 2278, 402, 390, 2845, 2287, 550 2845, 2255, 235, 2845, 0, 2845, 426, 0, 2845, 417, 551 2845, 439, 451, 2845, 498, 2254, 264, 2845, 2845, 2845, 552 2845, 2845, 2271, 2845, 2268, 2845, 2845, 2278, 559, 2845, 553 554 2295, 2845, 438, 444, 511, 534, 289, 253, 197, 380, 555 305, 0, 319, 280, 198, 322, 2845, 2845, 2845, 2265, 556 2845, 2845, 2845, 2263, 2260, 218, 255, 2273, 298, 350, 557 368, 312, 440, 398, 405, 2254, 441, 2203, 446, 2232, 558 2845, 335, 2845, 2845, 468, 2226, 2223, 2845, 2196, 439, 559 559 282, 433, 372, 281, 437, 434, 428, 570, 444, 466, 560 560 464, 469, 475, 321, 492, 438, 471, 445, 474, 512, 561 489, 503, 496, 521, 276, 515, 516, 22 02, 526, 510,561 489, 503, 496, 521, 276, 515, 516, 2224, 526, 510, 562 562 519, 525, 543, 522, 560, 553, 523, 561, 551, 544, 563 599, 582, 593, 584, 28 25, 2825, 660, 651, 2249, 666,564 565 28 25, 678, 2825, 2196, 607, 2192, 2191, 0, 693, 2825,566 28 25, 684, 2189, 2186, 2183, 0, 2206, 578, 608, 617,567 654, 679, 650, 683, 684, 687, 22 03, 690, 691, 2179,568 21 59, 2825, 0, 683, 710, 686, 700, 2157, 2209, 2825,569 7 14, 0, 427, 746, 764, 786, 808, 621, 2825, 2165,570 21 38, 0, 794, 2184, 795, 709, 2825, 2160, 2134, 832,571 28 25, 2825, 2165, 2825, 2825, 711, 714, 2142, 2142, 717,572 21 38, 2136, 2133, 0, 2130, 0, 2101, 694, 679, 712,573 7 09, 711, 698, 566, 726, 743, 771, 741, 790, 784,574 800, 795, 742, 744, 814, 816, 818, 2131, 819, 745,575 576 8 20, 821, 822, 823, 824, 746, 825, 748, 659, 831,577 8 26, 833, 838, 839, 848, 850, 851, 844, 834, 857,578 21 29, 858, 859, 860, 862, 861, 864, 865, 867, 868,579 8 66, 871, 876, 872, 878, 2126, 880, 689, 881, 882,580 89 2, 896, 893, 953, 954, 2120, 2119, 2118, 0, 2116,581 0, 94 1, 945, 2113, 0, 2112, 0, 2111, 0, 2131,582 28 25, 940, 941, 2108, 2105, 0, 2104, 0, 2825, 953,583 97 5, 964, 2825, 981, 997, 1021, 2102, 2825, 2825, 939,584 940, 1006, 982, 1041, 310, 1039, 1004, 2825, 2825, 2099,585 2 095, 2091, 0, 2089, 0, 2087, 0, 2084, 0, 2825,586 587 886, 941, 960, 962, 977, 976, 980, 982, 1017, 1010,588 10 02, 998, 1022, 1031, 1028, 1033, 1034, 1037, 1040, 1043,589 10 38, 1041, 1053, 2085, 1055, 2083, 1045, 2080, 1056, 1061,590 10 63, 1065, 1066, 1067, 1070, 2077, 1071, 2076, 1073, 1074,591 10 75, 1078, 1080, 1081, 1085, 2075, 1087, 2073, 1084, 1089,592 1 091, 1097, 1099, 1092, 1102, 1103, 1105, 1106, 1108, 905,593 11 09, 1116, 1110, 1122, 2070, 1120, 1123, 1179, 2064, 0,594 20 63, 0, 2062, 0, 2060, 0, 1166, 2057, 0, 2054,595 0, 20 53, 2052, 2050, 0, 2047, 0, 1173, 2044, 1179,596 1137, 1195, 1181, 1178, 1176, 2825, 1219, 1231, 1253, 2055,597 598 2030, 2040, 2037, 0, 2034, 0, 2033, 0, 2032, 0,599 2030, 0, 2027, 0, 1141, 1172, 2027, 1180, 1155, 1196,600 11 57, 1216, 1207, 1231, 1125, 1210, 1232, 1214, 1187, 1236,601 12 35, 1237, 1238, 1272, 1249, 1252, 1250, 1253, 1254, 2026,602 12 61, 1256, 2025, 1260, 1263, 1264, 1257, 2023, 1271, 1268,603 1269, 1273, 2020, 1275, 1282, 2017, 1283, 1284, 2016, 1276,604 1 286, 1289, 2015, 1294, 1291, 1296, 1295, 1297, 1310, 2013,605 13 05, 1308, 2010, 1307, 1300, 2009, 2058, 2003, 0, 2000,606 0, 1999, 0, 1998, 0, 1996, 0, 1963, 0, 1961,607 0, 1960, 0, 1355, 1361, 1389, 1372, 1957, 2825, 1378,608 609 1 325, 1365, 1379, 1954, 2825, 1953, 0, 1952, 0, 1950,610 0, 1947, 0, 0, 0, 1947, 0, 1366, 1312, 1311,611 13 41, 1323, 1368, 1369, 1374, 1356, 1383, 1372, 1388, 1390,612 1 393, 1395, 1396, 1398, 1400, 1431, 1406, 1407, 1411, 1408,613 14 13, 1414, 1946, 1409, 1416, 1419, 1945, 1943, 1940, 1422,614 1 424, 1939, 1429, 1938, 1936, 1425, 1430, 1933, 1932, 1931,615 19 29, 1926, 1922, 1436, 1433, 1918, 1439, 1440, 1964, 2825,616 1 895, 0, 1894, 0, 0, 0, 1896, 0, 0, 0,617 2825, 0, 0, 0, 0, 1486, 1891, 2825, 2825, 1492,618 1888, 0, 1887, 0, 0, 0, 0, 1886, 1447, 1444,619 620 1 887, 1449, 1471, 1479, 1450, 1480, 1482, 1469, 1884, 1486,621 149 0, 1488, 1502, 1452, 1510, 1504, 1491, 1519, 1506, 1498,622 15 08, 1512, 1513, 1514, 1515, 1883, 1882, 1518, 1880, 1877,623 15 17, 1520, 1523, 1876, 1521, 1525, 0, 0, 0, 1872,624 1870, 1867, 1575, 0, 1866, 1865, 1863, 1860, 1859, 1861,625 18 59, 1856, 1855, 1531, 1538, 1527, 1528, 1530, 1533, 1552,626 15 39, 1554, 1553, 1586, 1854, 1559, 1852, 1560, 1561, 1564,627 15 70, 1572, 1571, 1849, 1574, 1848, 1847, 1845, 1575, 1842,628 18 41, 1837, 1835, 1828, 1826, 1825, 1822, 1821, 1820, 1818,629 18 01, 1792, 1791, 1576, 1791, 1579, 1577, 1580, 1582, 1581,630 631 1 585, 1784, 1589, 1616, 1593, 1781, 1591, 1599, 1605, 1592,632 16 06, 1609, 1610, 1771, 1769, 1768, 1747, 1746, 1745, 1738,633 17 36, 1735, 1693, 1689, 1688, 1687, 1689, 1611, 1612, 1614,634 16 15, 1618, 1625, 1621, 1686, 1683, 1627, 1682, 1681, 1631,635 1 635, 1441, 1637, 1677, 1674, 1354, 1319, 1318, 1267, 1212,636 1 210, 1639, 1640, 1211, 1647, 1623, 1649, 1178, 1652, 1653,637 1 657, 1177, 1126, 964, 937, 903, 1641, 1643, 1659, 1663,638 16 64, 1665, 788, 752, 1629, 607, 487, 1666, 1669, 394,639 357, 1670, 1672, 1671, 1674, 1676, 1675, 1678, 233, 137,640 2825, 1750, 1763, 1776, 1786, 1796, 1809, 1819, 1832, 1845,641 642 18 58, 1866, 1876, 1883, 1890, 1897, 1904, 1911, 1918, 1925,643 193 2, 1939, 1952, 1959, 1963, 1971, 1974, 1981, 1988, 1995,644 1998, 2005, 2011, 2024, 2037, 2044, 2051, 2058, 2065, 2068,645 207 5, 2078, 2085, 2088, 2095, 2098, 2105, 2108, 2115, 2118,646 212 5, 2128, 2135, 2143, 2150, 2157, 2164, 2171, 2174, 2181,647 21 84, 2191, 2194, 2201, 2207, 2220, 2227, 2234, 2237, 2244,648 22 47, 2254, 2257, 2264, 2267, 2274, 2277, 2284, 2287, 2294,649 230 1, 2304, 2311, 2314, 2321, 2328, 2335, 2338, 2345, 2348,650 235 5, 2358, 2365, 2368, 2375, 2378, 2385, 2391, 2404, 2411,651 241 8, 2421, 2428, 2431, 2438, 2441, 2448, 2451, 2458, 2461,652 653 24 68, 2471, 2478, 2481, 2488, 2491, 2498, 2505, 2508, 2515,654 25 18, 2525, 2528, 2535, 2538, 2541, 2547, 2554, 2563, 2570,655 257 7, 2580, 2587, 2590, 2593, 2599, 2606, 2609, 2612, 2615,656 26 18, 2621, 2624, 2627, 2634, 2637, 2644, 2647, 2650, 2653,657 26 56, 2666, 2673, 2676, 2679, 2682, 2689, 2696, 2703, 2706,658 271 3, 2720, 2727, 2734, 2741, 2748, 2755, 2762, 2769, 2776,659 278 3, 2790, 2797, 2804, 2811563 599, 582, 593, 584, 2845, 2845, 660, 651, 2272, 666, 564 565 2845, 678, 2845, 2219, 607, 2213, 2212, 0, 693, 2845, 566 2845, 684, 2211, 2209, 2206, 0, 2227, 578, 608, 617, 567 654, 679, 650, 683, 684, 687, 2224, 690, 691, 2201, 568 2199, 2845, 0, 683, 710, 686, 700, 2179, 2230, 2845, 569 730, 722, 427, 747, 756, 787, 770, 621, 2845, 2188, 570 2161, 0, 795, 2205, 796, 700, 2845, 2181, 2156, 809, 571 2845, 2845, 2188, 2845, 2845, 728, 733, 2165, 2163, 701, 572 2159, 2158, 2156, 0, 2153, 0, 2122, 736, 746, 747, 573 716, 689, 748, 566, 789, 659, 801, 751, 754, 785, 574 776, 787, 808, 796, 739, 711, 806, 2152, 807, 815, 575 576 817, 821, 809, 819, 827, 830, 831, 832, 833, 834, 577 839, 840, 841, 842, 846, 853, 854, 844, 847, 855, 578 2151, 860, 862, 861, 866, 864, 867, 869, 870, 872, 579 873, 874, 878, 875, 883, 2149, 882, 928, 885, 888, 580 894, 899, 892, 956, 958, 2143, 2140, 2139, 0, 2138, 581 0, 945, 949, 2136, 0, 2133, 0, 2132, 0, 2153, 582 2845, 930, 944, 2131, 2126, 0, 2125, 0, 2845, 959, 583 979, 970, 2845, 985, 1025, 2124, 1001, 1047, 2122, 2845, 584 2845, 943, 987, 1033, 986, 1072, 310, 1064, 987, 2845, 585 2845, 2119, 2115, 2111, 0, 2109, 0, 2107, 0, 2104, 586 587 0, 2845, 913, 947, 964, 966, 1005, 927, 1049, 939, 588 1051, 968, 991, 986, 1041, 1053, 1003, 1059, 1063, 1066, 589 1023, 1064, 1062, 1065, 978, 2105, 1072, 2103, 1078, 2100, 590 1071, 1074, 1076, 1080, 1091, 1093, 1095, 2097, 1094, 2096, 591 1082, 1098, 1099, 1100, 1101, 1105, 1106, 2095, 1107, 2093, 592 1110, 1112, 1111, 1117, 1118, 1113, 1119, 1123, 1126, 1127, 593 1129, 1130, 1131, 1140, 1142, 1143, 2090, 1144, 1147, 1195, 594 2084, 0, 2083, 0, 2082, 0, 2080, 0, 1190, 2077, 595 0, 2074, 0, 2073, 2072, 2070, 0, 2067, 0, 1197, 596 2064, 1203, 1219, 1205, 1244, 1210, 1202, 1200, 2845, 1260, 597 598 1278, 1271, 2075, 2050, 2060, 2057, 0, 2054, 0, 2053, 599 0, 2052, 0, 2050, 0, 2047, 0, 1164, 1152, 2047, 600 1184, 1182, 1226, 1157, 1227, 1196, 1254, 1146, 1237, 1255, 601 1256, 1204, 1258, 1271, 1261, 1260, 1292, 1274, 1262, 1277, 602 1278, 1280, 2046, 1186, 1289, 2045, 1279, 1282, 1290, 1295, 603 2043, 1299, 1300, 1301, 1303, 2040, 1306, 1302, 2037, 1310, 604 1311, 2036, 1309, 1312, 1315, 2035, 1220, 1314, 1316, 1322, 605 1326, 1333, 2033, 1328, 1329, 2030, 1330, 1335, 2029, 2078, 606 2023, 0, 2020, 0, 2019, 0, 2018, 0, 2016, 0, 607 1983, 0, 1981, 0, 1980, 0, 1379, 1385, 1413, 1396, 608 609 1977, 2845, 1402, 1351, 1389, 1403, 1974, 2845, 1973, 0, 610 1972, 0, 1970, 0, 1967, 0, 0, 0, 1967, 0, 611 1390, 1336, 1397, 1365, 1345, 1392, 1393, 1409, 1381, 1407, 612 1412, 1414, 1419, 1420, 1422, 1424, 1427, 1431, 926, 1429, 613 1432, 1438, 1433, 1435, 1440, 1966, 1437, 1441, 1445, 1965, 614 1963, 1960, 1450, 1453, 1959, 1455, 1958, 1956, 1456, 1459, 615 1953, 1952, 1951, 1949, 1942, 1940, 1458, 1461, 1939, 1464, 616 1462, 1986, 2845, 1929, 0, 1925, 0, 0, 0, 1924, 617 0, 0, 0, 2845, 0, 0, 0, 0, 1511, 1918, 618 2845, 2845, 1517, 1917, 0, 1916, 0, 0, 0, 0, 619 620 1914, 1474, 1468, 1914, 1443, 1493, 1498, 1476, 1504, 1505, 621 1494, 1913, 1334, 1509, 1506, 1510, 1511, 1545, 1525, 1518, 622 1543, 1530, 1523, 1529, 1531, 1534, 1535, 1539, 1912, 1910, 623 1540, 1907, 1906, 1542, 1538, 1544, 1905, 1546, 1550, 0, 624 0, 0, 1900, 1897, 1896, 1596, 0, 1895, 1893, 1890, 625 1889, 1888, 1889, 1886, 1885, 1884, 1552, 1557, 1573, 1549, 626 1551, 1553, 1575, 1555, 1577, 1582, 1607, 1882, 1583, 1879, 627 1584, 1589, 1585, 1590, 1591, 1594, 1878, 1597, 1877, 1875, 628 1872, 1598, 1871, 1870, 1865, 1862, 1861, 1860, 1858, 1851, 629 1849, 1848, 1845, 1844, 1843, 1841, 1600, 1827, 1601, 1605, 630 631 1608, 1602, 1609, 1610, 1818, 1614, 1629, 1615, 1817, 1604, 632 1616, 1625, 1630, 1380, 1631, 1633, 1811, 1804, 1801, 1794, 633 1792, 1791, 1770, 1769, 1768, 1761, 1759, 1758, 1716, 1716, 634 1634, 1636, 1635, 1637, 1640, 1641, 1645, 1715, 1713, 1647, 635 1712, 1711, 1648, 1652, 1653, 1654, 1703, 1701, 1700, 1698, 636 1696, 1476, 1472, 1343, 1657, 1667, 1259, 1656, 1660, 1668, 637 1150, 1671, 1675, 1676, 1031, 1027, 793, 752, 675, 1669, 638 1677, 1680, 1681, 1682, 1684, 645, 607, 1686, 487, 441, 639 1688, 1690, 394, 357, 1693, 1694, 1695, 1697, 1696, 1698, 640 1700, 233, 137, 2845, 1773, 1786, 1799, 1809, 1819, 1832, 641 642 1842, 1855, 1868, 1881, 1889, 1899, 1906, 1913, 1920, 1927, 643 1934, 1941, 1948, 1955, 1962, 1969, 1973, 1981, 1987, 1994, 644 2001, 2008, 2015, 2018, 2025, 2031, 2044, 2057, 2064, 2071, 645 2078, 2085, 2088, 2095, 2098, 2105, 2108, 2115, 2118, 2125, 646 2128, 2135, 2138, 2145, 2148, 2155, 2163, 2170, 2177, 2184, 647 2191, 2194, 2201, 2204, 2211, 2214, 2221, 2227, 2240, 2247, 648 2254, 2257, 2264, 2267, 2274, 2277, 2284, 2287, 2294, 2297, 649 2304, 2307, 2314, 2321, 2324, 2331, 2334, 2341, 2348, 2355, 650 2358, 2365, 2368, 2375, 2378, 2385, 2388, 2395, 2398, 2405, 651 2411, 2424, 2431, 2438, 2441, 2448, 2451, 2458, 2461, 2468, 652 653 2471, 2478, 2481, 2488, 2491, 2498, 2501, 2508, 2511, 2518, 654 2525, 2528, 2535, 2538, 2545, 2548, 2555, 2558, 2561, 2567, 655 2574, 2583, 2590, 2597, 2600, 2607, 2610, 2613, 2619, 2626, 656 2629, 2632, 2635, 2638, 2641, 2644, 2647, 2654, 2657, 2664, 657 2667, 2670, 2673, 2676, 2686, 2693, 2696, 2699, 2702, 2709, 658 2716, 2723, 2726, 2733, 2740, 2747, 2754, 2761, 2768, 2775, 659 2782, 2789, 2796, 2803, 2810, 2817, 2824, 2831 660 660 } ; 661 661 662 static yyconst flex_int16_t yy_def[106 6] =662 static yyconst flex_int16_t yy_def[1069] = 663 663 { 0, 664 89 1, 1, 892, 892, 891, 5, 893, 893, 894, 894,665 89 1, 891, 891, 891, 891, 891, 891, 895, 891, 891,666 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,667 89 1, 31, 891, 891, 891, 891, 891, 891, 896, 895,668 89 1, 891, 891, 891, 895, 891, 895, 895, 895, 895,669 89 5, 895, 895, 895, 895, 895, 895, 895, 895, 895,670 89 5, 895, 891, 891, 891, 891, 891, 897, 891, 891,671 89 1, 898, 891, 891, 899, 891, 891, 900, 891, 891,672 89 1, 891, 891, 891, 891, 895, 891, 891, 891, 891,673 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,674 675 90 1, 891, 99, 30, 891, 891, 891, 891, 902, 30,676 89 1, 31, 891, 891, 31, 891, 891, 891, 891, 891,677 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,678 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 903,679 89 1, 891, 891, 891, 895, 904, 905, 891, 891, 895,680 89 5, 895, 895, 895, 895, 895, 895, 895, 895, 895,681 89 5, 895, 895, 895, 895, 895, 895, 895, 895, 895,682 89 5, 895, 895, 895, 895, 895, 895, 895, 895, 895,683 89 5, 895, 895, 895, 895, 895, 895, 895, 895, 895,684 89 5, 895, 895, 895, 891, 891, 891, 897, 897, 897,685 686 89 1, 897, 891, 898, 891, 906, 907, 899, 891, 891,687 89 1, 891, 908, 909, 910, 900, 891, 891, 891, 891,688 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 911,689 91 2, 891, 99, 891, 891, 891, 891, 99, 913, 891,690 891, 104, 104, 891, 891, 891, 891, 891, 891, 891,691 89 1, 914, 915, 916, 891, 891, 891, 891, 891, 891,692 89 1, 891, 891, 891, 891, 891, 891, 891, 903, 891,693 9 17, 918, 919, 920, 921, 922, 891, 923, 923, 923,694 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,695 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,696 697 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,698 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,699 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,700 92 3, 923, 923, 923, 923, 923, 923, 923, 923, 923,701 92 3, 923, 923, 924, 925, 926, 927, 928, 929, 930,702 93 1, 891, 891, 932, 933, 934, 935, 936, 937, 891,703 89 1, 891, 891, 891, 938, 939, 940, 941, 891, 891,704 89 1, 891, 891, 891, 891, 371, 376, 891, 891, 942,705 943, 944, 891, 891, 891, 944, 891, 891, 891, 945,706 946, 947, 948, 949, 950, 951, 952, 953, 954, 891,707 708 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,709 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,710 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,711 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,712 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,713 95 5, 955, 955, 955, 955, 955, 955, 955, 955, 955,714 95 5, 955, 955, 955, 955, 955, 955, 956, 957, 958,715 9 59, 960, 961, 962, 963, 964, 891, 965, 966, 967,716 96 8, 969, 969, 970, 971, 972, 973, 891, 488, 891,717 974, 891, 974, 891, 891, 891, 891, 891, 891, 891,718 719 89 1, 975, 976, 977, 978, 979, 980, 981, 982, 983,720 984, 985, 986, 987, 988, 98 8, 988, 988, 988, 988,721 9 88, 988, 988, 988, 988, 988, 988, 988, 988, 988,722 9 88, 988, 988, 988, 988, 988, 988, 988, 988, 988,723 9 88, 988, 988, 988, 988, 988, 988, 988, 988, 988,724 9 88, 988, 988, 988, 988, 988, 988, 988, 988, 988,725 9 88, 988, 988, 988, 988, 988, 988, 988, 988, 988,726 9 88, 988, 988, 988, 988, 988, 989, 990, 991, 992,664 894, 1, 895, 895, 894, 5, 896, 896, 897, 897, 665 894, 894, 894, 894, 894, 894, 894, 898, 894, 894, 666 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 667 894, 31, 894, 894, 894, 894, 894, 894, 899, 898, 668 894, 894, 894, 894, 898, 894, 898, 898, 898, 898, 669 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 670 898, 898, 894, 894, 894, 894, 894, 900, 894, 894, 671 894, 901, 894, 894, 902, 894, 894, 903, 894, 894, 672 894, 894, 894, 894, 894, 898, 894, 894, 894, 894, 673 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 674 675 904, 894, 894, 30, 894, 894, 894, 894, 905, 30, 676 894, 31, 894, 894, 31, 894, 894, 894, 894, 894, 677 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 678 894, 894, 894, 894, 894, 894, 894, 894, 894, 906, 679 894, 894, 894, 894, 898, 907, 908, 894, 894, 898, 680 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 681 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 682 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 683 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 684 898, 898, 898, 898, 894, 894, 894, 900, 900, 900, 685 686 894, 900, 894, 901, 894, 909, 910, 902, 894, 894, 687 894, 894, 911, 912, 913, 903, 894, 894, 894, 894, 688 894, 894, 894, 894, 894, 894, 894, 894, 894, 914, 689 915, 894, 99, 894, 894, 894, 894, 99, 904, 894, 690 99, 110, 242, 894, 894, 894, 894, 894, 894, 894, 691 894, 916, 917, 918, 894, 894, 894, 894, 894, 894, 692 894, 894, 894, 894, 894, 894, 894, 894, 919, 894, 693 920, 921, 922, 923, 924, 925, 894, 926, 926, 926, 694 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 695 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 696 697 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 698 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 699 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 700 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 701 926, 926, 926, 927, 928, 929, 930, 931, 932, 933, 702 934, 894, 894, 935, 936, 937, 938, 939, 940, 894, 703 894, 894, 894, 894, 941, 942, 943, 944, 894, 894, 704 894, 894, 894, 894, 894, 375, 894, 371, 378, 894, 705 894, 945, 946, 947, 894, 894, 894, 947, 894, 894, 706 894, 948, 949, 950, 951, 952, 953, 954, 955, 956, 707 708 957, 894, 958, 958, 958, 958, 958, 958, 958, 958, 709 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 710 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 711 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 712 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 713 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 714 958, 958, 958, 958, 958, 958, 958, 958, 958, 959, 715 960, 961, 962, 963, 964, 965, 966, 967, 894, 968, 716 969, 970, 971, 972, 972, 973, 974, 975, 976, 894, 717 490, 894, 894, 977, 894, 977, 894, 894, 894, 894, 718 719 894, 894, 894, 894, 978, 979, 980, 981, 982, 983, 720 984, 985, 986, 987, 988, 989, 990, 991, 991, 991, 721 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 722 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 723 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 724 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 725 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 726 991, 991, 991, 991, 991, 991, 991, 991, 991, 992, 727 727 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 728 1003, 1004, 1005, 891, 891, 891, 891, 1006, 891, 596,729 730 891, 891, 891, 600, 891, 1007, 1008, 1009, 1010, 1011,731 1012, 1013, 1014, 1015, 1016, 1017, 1018, 101 7, 1017, 1017,732 10 17, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,733 10 17, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,734 10 17, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,735 10 17, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,736 10 17, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1019, 891,737 1020, 102 1, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029,738 891, 1030, 1031, 1032, 1033, 891, 686, 891, 891, 891,739 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1042,740 741 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,742 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,743 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,744 104 2, 1042, 1042, 1042, 1042, 1042, 1043, 1044, 1045, 1046,745 1047, 1048, 891, 1049, 1034, 1036, 1050, 1051, 1041, 1042,746 10 42, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,747 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,748 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,749 104 2, 1052, 1053, 1046, 1054, 1047, 1055, 1048, 1056, 1057,750 105 0, 1058, 1051, 1042, 1042, 1042, 1042, 1042, 1042, 1042,751 752 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,753 104 2, 1042, 1042, 1059, 1052, 1060, 1053, 1061, 1054, 1062,754 10 55, 1063, 1056, 1064, 1057, 1058, 1042, 1042, 1042, 1042,755 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,756 104 2, 1042, 1042, 1065, 1059, 1060, 1061, 1062, 1036, 1063,757 106 4, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,758 104 2, 1042, 1042, 1042, 1065, 1036, 1042, 1042, 1042, 1042,759 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,760 104 2, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,761 0, 891, 891, 891, 891, 891, 891, 891, 891, 891,762 763 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,764 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,765 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,766 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,767 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,768 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,769 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,770 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,771 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,772 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,773 774 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,775 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,776 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,777 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,778 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,779 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,780 89 1, 891, 891, 891, 891728 1003, 1004, 1005, 1006, 1007, 1008, 894, 894, 894, 894, 729 730 1009, 894, 599, 894, 894, 894, 603, 894, 1010, 1011, 731 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 732 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 733 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 734 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 735 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 736 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 737 1020, 1022, 894, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 738 1030, 1031, 1032, 894, 1033, 1034, 1035, 1036, 894, 689, 739 894, 894, 894, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 740 741 1044, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 742 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 743 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 744 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1046, 745 1047, 1048, 1049, 1050, 1051, 894, 1052, 1037, 1039, 1053, 746 1054, 1044, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 747 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 748 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 749 1045, 1045, 1045, 1045, 1055, 1056, 1049, 1057, 1050, 1058, 750 1051, 1059, 1060, 1053, 1061, 1054, 1045, 1045, 1045, 1045, 751 752 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 753 1045, 1045, 1045, 1045, 1045, 1045, 1062, 1055, 1063, 1056, 754 1064, 1057, 1065, 1058, 1066, 1059, 1067, 1060, 1061, 1045, 755 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 756 1045, 1045, 1045, 1045, 1045, 1045, 1068, 1062, 1063, 1064, 757 1065, 1039, 1066, 1067, 1045, 1045, 1045, 1045, 1045, 1045, 758 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1068, 1039, 1045, 759 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 760 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 761 1045, 1045, 1045, 0, 894, 894, 894, 894, 894, 894, 762 763 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 764 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 765 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 766 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 767 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 768 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 769 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 770 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 771 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 772 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 773 774 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 775 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 776 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 777 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 778 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 779 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 780 894, 894, 894, 894, 894, 894, 894, 894 781 781 } ; 782 782 783 static yyconst flex_int16_t yy_nxt[29 11] =783 static yyconst flex_int16_t yy_nxt[2931] = 784 784 { 0, 785 785 12, 13, 14, 15, 15, 15, 13, 16, 17, 12, … … 806 806 807 807 83, 83, 83, 82, 91, 93, 87, 142, 146, 98, 808 95, 99, 99, 99, 99, 99, 99, 252, 89 1, 94,808 95, 99, 99, 99, 99, 99, 99, 252, 894, 94, 809 809 100, 85, 96, 97, 85, 101, 161, 118, 143, 77, 810 810 77, 77, 77, 144, 147, 102, 103, 87, 104, 104, … … 821 821 115, 264, 248, 87, 87, 173, 106, 174, 249, 231, 822 822 175, 143, 116, 263, 176, 264, 144, 259, 317, 283, 823 114, 125, 280, 50 0, 249, 126, 127, 87, 128, 191,823 114, 125, 280, 503, 249, 126, 127, 87, 128, 191, 824 824 129, 130, 256, 131, 249, 132, 87, 265, 257, 184, 825 185, 257, 248, 87, 133, 134, 135, 50 1, 188, 186,825 185, 257, 248, 87, 133, 134, 135, 504, 188, 186, 826 826 249, 263, 187, 264, 271, 87, 189, 265, 145, 256, 827 827 305, 200, 201, 190, 257, 136, 200, 257, 137, 263, 828 828 829 89 1, 264, 192, 197, 81, 82, 82, 82, 197, 87,829 894, 264, 192, 197, 81, 82, 82, 82, 197, 87, 830 830 272, 198, 202, 202, 202, 202, 202, 202, 80, 81, 831 831 82, 82, 82, 80, 87, 138, 139, 209, 210, 263, 832 89 1, 264, 209, 282, 211, 255, 263, 267, 264, 211,833 82, 81, 82, 82, 82, 82, 87, 89 1, 212, 212,834 212, 212, 82, 81, 83, 83, 83, 82, 89 1, 211,835 99, 99, 99, 99, 99, 99, 242, 242, 242, 242,832 894, 264, 209, 282, 211, 255, 263, 267, 264, 211, 833 82, 81, 82, 82, 82, 82, 87, 894, 212, 212, 834 212, 212, 82, 81, 83, 83, 83, 82, 894, 211, 835 241, 241, 241, 241, 241, 241, 242, 242, 242, 242, 836 836 266, 263, 263, 264, 264, 213, 143, 263, 211, 264, 837 87, 144, 37 5, 211, 211, 87, 87, 211, 211, 87,838 87, 87, 286, 241, 891, 211, 87, 87, 211, 243,837 87, 144, 377, 211, 211, 87, 87, 211, 211, 87, 838 87, 87, 286, 87, 894, 211, 87, 87, 211, 243, 839 839 840 840 211, 214, 211, 281, 215, 217, 278, 284, 285, 218, 841 841 219, 307, 298, 279, 220, 221, 87, 222, 87, 223, 842 87, 87, 89 1, 87, 309, 300, 87, 87, 224, 225,842 87, 87, 894, 87, 309, 300, 87, 87, 224, 225, 843 843 226, 103, 303, 105, 105, 105, 105, 105, 105, 87, 844 844 299, 87, 301, 302, 87, 304, 308, 310, 87, 227, … … 852 852 331, 361, 87, 87, 238, 337, 326, 327, 87, 236, 853 853 235, 236, 87, 329, 237, 332, 236, 287, 288, 289, 854 336, 290, 291, 334, 87, 292, 87, 293, 40 7, 360,854 336, 290, 291, 334, 87, 292, 87, 293, 409, 360, 855 855 330, 361, 294, 295, 296, 87, 297, 339, 360, 343, 856 856 361, 87, 200, 201, 338, 340, 346, 200, 341, 87, 857 857 342, 197, 81, 82, 82, 82, 197, 200, 201, 198, 858 3 78, 361, 200, 202, 202, 202, 202, 202, 202, 344,858 380, 361, 200, 202, 202, 202, 202, 202, 202, 344, 859 859 201, 360, 347, 361, 344, 360, 345, 361, 202, 202, 860 202, 202, 202, 202, 209, 210, 3 78, 143, 361, 209,860 202, 202, 202, 202, 209, 210, 380, 87, 361, 209, 861 861 862 862 202, 202, 202, 202, 202, 202, 352, 352, 352, 352, 863 863 360, 87, 361, 362, 360, 360, 361, 361, 360, 363, 864 864 361, 360, 360, 361, 361, 369, 369, 370, 369, 370, 865 435, 87, 371, 371, 371, 371, 371, 371, 373, 353, 866 373, 87, 263, 373, 264, 263, 87, 264, 369, 402, 867 87, 369, 234, 235, 236, 406, 237, 236, 388, 401, 868 373, 87, 373, 87, 87, 372, 390, 373, 105, 105, 869 105, 105, 105, 105, 236, 235, 236, 404, 87, 237, 870 405, 236, 403, 408, 388, 106, 246, 246, 246, 246, 871 246, 246, 391, 87, 87, 87, 87, 87, 87, 419, 872 873 87, 255, 425, 432, 87, 420, 434, 106, 376, 376, 874 376, 376, 376, 376, 381, 409, 413, 105, 105, 105, 875 105, 105, 105, 87, 234, 245, 236, 245, 237, 236, 876 246, 246, 246, 246, 246, 246, 87, 383, 410, 384, 877 87, 377, 87, 385, 411, 412, 236, 87, 236, 386, 878 255, 237, 87, 236, 112, 112, 112, 112, 112, 112, 879 414, 387, 415, 417, 418, 384, 87, 416, 87, 385, 880 87, 87, 87, 87, 87, 87, 87, 87, 87, 421, 881 427, 426, 433, 87, 437, 87, 87, 260, 423, 424, 882 87, 87, 436, 429, 428, 422, 87, 430, 431, 439, 883 884 87, 438, 87, 87, 446, 441, 440, 442, 443, 87, 885 87, 87, 87, 87, 87, 445, 87, 87, 87, 87, 886 87, 448, 447, 87, 87, 444, 449, 451, 87, 456, 887 87, 450, 87, 87, 87, 452, 455, 454, 87, 453, 888 457, 462, 460, 461, 87, 87, 458, 464, 87, 515, 889 459, 463, 465, 466, 344, 201, 201, 87, 891, 344, 890 467, 345, 199, 211, 211, 211, 211, 352, 352, 352, 891 352, 360, 360, 361, 361, 371, 371, 371, 371, 371, 892 371, 370, 569, 370, 492, 492, 371, 371, 371, 371, 893 371, 371, 891, 87, 493, 494, 477, 488, 488, 488, 894 895 488, 488, 488, 233, 233, 233, 233, 233, 233, 516, 896 492, 492, 87, 234, 87, 236, 87, 237, 236, 242, 897 242, 242, 242, 105, 105, 495, 381, 517, 87, 87, 898 489, 496, 87, 518, 87, 236, 374, 236, 519, 520, 899 237, 521, 236, 376, 376, 376, 376, 376, 376, 383, 900 87, 384, 375, 496, 87, 385, 522, 496, 497, 891, 901 497, 386, 87, 498, 498, 498, 498, 498, 498, 87, 902 525, 495, 526, 387, 87, 524, 377, 384, 523, 496, 903 87, 385, 383, 87, 384, 87, 87, 527, 385, 87, 904 87, 532, 87, 87, 502, 87, 499, 87, 535, 528, 905 906 529, 537, 530, 531, 533, 87, 387, 87, 87, 541, 907 384, 534, 538, 87, 385, 87, 536, 87, 87, 87, 908 539, 540, 87, 87, 546, 87, 87, 87, 544, 542, 909 87, 548, 87, 87, 547, 543, 87, 87, 549, 87, 910 545, 87, 552, 87, 87, 550, 556, 554, 551, 87, 911 559, 87, 553, 555, 87, 87, 557, 87, 87, 558, 912 87, 87, 87, 564, 560, 567, 563, 568, 87, 561, 913 566, 562, 87, 565, 87, 87, 571, 87, 87, 573, 914 627, 201, 492, 570, 576, 574, 572, 577, 211, 211, 915 211, 211, 493, 87, 575, 488, 488, 488, 488, 488, 916 917 488, 376, 376, 376, 376, 376, 376, 87, 492, 87, 918 618, 234, 595, 236, 595, 237, 236, 596, 596, 596, 919 596, 596, 596, 492, 87, 599, 492, 621, 489, 87, 920 87, 623, 87, 236, 490, 236, 598, 619, 237, 87, 921 236, 498, 498, 498, 498, 498, 498, 620, 87, 492, 922 597, 599, 492, 600, 600, 600, 600, 600, 600, 87, 923 631, 622, 87, 87, 625, 891, 87, 891, 87, 601, 924 497, 602, 497, 603, 602, 498, 498, 498, 498, 498, 925 498, 624, 628, 87, 87, 630, 604, 87, 87, 87, 926 87, 602, 633, 602, 626, 636, 603, 632, 602, 629, 927 928 634, 87, 87, 635, 87, 87, 87, 642, 87, 87, 929 637, 641, 87, 87, 640, 87, 87, 643, 647, 639, 930 87, 87, 866, 87, 87, 87, 638, 87, 87, 644, 931 645, 646, 648, 650, 87, 87, 87, 649, 87, 653, 932 651, 87, 652, 87, 654, 655, 87, 87, 87, 87, 933 656, 657, 87, 660, 659, 661, 664, 87, 658, 87, 934 87, 663, 87, 87, 87, 668, 665, 688, 688, 662, 935 666, 701, 702, 891, 891, 87, 667, 488, 488, 488, 936 488, 488, 488, 596, 596, 596, 596, 596, 596, 595, 937 688, 595, 704, 87, 596, 596, 596, 596, 596, 596, 938 939 600, 600, 600, 600, 600, 600, 703, 688, 87, 891, 940 594, 686, 686, 686, 686, 686, 686, 689, 87, 689, 941 87, 87, 689, 699, 87, 708, 87, 601, 706, 602, 942 688, 603, 602, 604, 707, 87, 700, 710, 709, 689, 943 87, 689, 87, 705, 687, 87, 689, 87, 87, 602, 944 87, 602, 87, 716, 603, 718, 602, 712, 87, 87, 945 87, 87, 711, 87, 714, 87, 87, 713, 87, 717, 946 715, 87, 721, 719, 87, 724, 87, 87, 722, 720, 947 727, 87, 87, 87, 725, 87, 731, 723, 87, 732, 948 726, 87, 87, 87, 728, 734, 87, 733, 730, 87, 949 950 735, 87, 87, 729, 87, 863, 751, 736, 686, 686, 951 686, 686, 686, 686, 600, 600, 600, 600, 600, 600, 952 750, 87, 755, 87, 601, 763, 602, 752, 603, 602, 953 753, 87, 87, 764, 87, 756, 754, 757, 87, 758, 954 87, 687, 87, 87, 759, 767, 602, 690, 602, 761, 955 87, 603, 766, 602, 87, 760, 87, 762, 87, 765, 956 87, 768, 87, 769, 87, 87, 87, 87, 770, 87, 957 87, 87, 87, 87, 771, 87, 774, 87, 772, 87, 958 87, 780, 87, 87, 796, 87, 781, 773, 775, 777, 959 87, 87, 798, 776, 778, 797, 779, 686, 686, 686, 960 961 686, 686, 686, 794, 87, 87, 87, 795, 799, 802, 962 804, 87, 87, 87, 805, 806, 87, 801, 803, 808, 963 807, 800, 87, 87, 87, 809, 87, 87, 87, 87, 964 743, 87, 87, 87, 87, 830, 832, 87, 87, 810, 965 833, 87, 835, 87, 87, 87, 811, 829, 836, 812, 966 813, 87, 828, 840, 838, 827, 831, 87, 87, 834, 967 839, 87, 87, 87, 87, 837, 87, 87, 87, 854, 968 87, 853, 842, 87, 841, 87, 855, 87, 843, 87, 969 858, 87, 860, 87, 852, 870, 861, 87, 856, 87, 970 859, 87, 87, 87, 857, 87, 862, 868, 864, 87, 971 972 867, 87, 869, 881, 87, 87, 871, 872, 873, 87, 973 876, 87, 874, 875, 877, 87, 87, 87, 87, 879, 974 880, 87, 87, 87, 87, 878, 87, 87, 87, 891, 975 87, 884, 865, 87, 87, 87, 883, 885, 87, 882, 976 890, 87, 891, 891, 851, 886, 888, 887, 891, 889, 977 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 978 69, 69, 69, 75, 75, 75, 75, 75, 75, 75, 979 75, 75, 75, 75, 75, 75, 78, 78, 78, 78, 980 78, 78, 78, 78, 78, 78, 78, 78, 78, 86, 981 850, 891, 86, 848, 86, 86, 86, 86, 86, 140, 982 983 891, 847, 891, 140, 140, 140, 140, 140, 140, 199, 984 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 985 199, 199, 204, 846, 891, 204, 845, 204, 204, 204, 986 204, 204, 208, 87, 208, 208, 87, 208, 208, 208, 987 208, 208, 208, 87, 208, 216, 891, 826, 216, 216, 988 216, 216, 216, 216, 216, 216, 891, 216, 239, 239, 989 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 990 239, 253, 253, 825, 253, 823, 891, 821, 253, 269, 991 891, 819, 269, 891, 269, 269, 269, 269, 269, 273, 992 817, 273, 815, 87, 87, 273, 275, 87, 275, 87, 993 994 87, 87, 275, 348, 87, 348, 87, 87, 87, 348, 995 350, 87, 350, 87, 891, 793, 350, 354, 791, 354, 996 891, 891, 788, 354, 356, 786, 356, 784, 87, 87, 997 356, 358, 87, 358, 87, 87, 87, 358, 365, 87, 998 365, 749, 746, 745, 365, 367, 743, 367, 205, 739, 999 738, 367, 239, 239, 239, 239, 239, 239, 239, 239, 1000 239, 239, 239, 239, 239, 380, 670, 380, 382, 382, 1001 87, 382, 382, 382, 87, 382, 253, 253, 87, 253, 1002 392, 87, 392, 87, 87, 87, 392, 394, 87, 394, 1003 87, 87, 87, 394, 396, 87, 396, 87, 87, 87, 1004 1005 396, 273, 697, 273, 398, 696, 398, 694, 692, 690, 1006 398, 275, 598, 275, 86, 685, 684, 86, 682, 86, 865 894, 411, 371, 371, 371, 371, 371, 371, 373, 353, 866 373, 87, 103, 373, 242, 242, 242, 242, 369, 390, 867 392, 369, 375, 375, 375, 375, 375, 375, 407, 263, 868 373, 264, 373, 87, 263, 372, 264, 373, 87, 105, 869 105, 105, 105, 105, 105, 390, 393, 243, 246, 246, 870 246, 246, 246, 246, 406, 376, 106, 245, 87, 245, 871 424, 87, 246, 246, 246, 246, 246, 246, 87, 87, 872 873 87, 403, 255, 87, 423, 408, 87, 894, 106, 378, 874 378, 378, 378, 378, 378, 383, 404, 405, 105, 105, 875 105, 105, 105, 105, 416, 234, 415, 236, 87, 237, 876 236, 112, 112, 112, 112, 112, 112, 87, 385, 87, 877 386, 87, 379, 418, 387, 87, 410, 236, 87, 236, 878 388, 255, 237, 87, 236, 419, 420, 422, 87, 87, 879 87, 87, 389, 417, 260, 421, 386, 87, 412, 87, 880 387, 87, 427, 87, 413, 414, 425, 426, 428, 87, 881 429, 430, 87, 87, 87, 87, 87, 434, 435, 431, 882 436, 87, 87, 87, 87, 438, 87, 439, 87, 87, 883 884 432, 433, 441, 443, 437, 87, 87, 87, 440, 442, 885 444, 445, 87, 87, 87, 447, 87, 448, 87, 87, 886 449, 87, 87, 450, 87, 87, 87, 87, 446, 451, 887 87, 453, 452, 458, 87, 87, 143, 87, 454, 457, 888 87, 456, 455, 464, 87, 462, 87, 459, 463, 460, 889 721, 87, 461, 466, 467, 465, 468, 344, 201, 469, 890 201, 360, 344, 361, 345, 87, 199, 211, 211, 211, 891 211, 352, 352, 352, 352, 360, 518, 361, 87, 87, 892 87, 371, 371, 371, 371, 371, 371, 370, 495, 370, 893 523, 87, 371, 371, 371, 371, 371, 371, 496, 87, 894 895 479, 490, 490, 490, 490, 490, 490, 233, 233, 233, 896 233, 233, 233, 525, 495, 519, 87, 234, 87, 236, 897 87, 237, 236, 242, 242, 242, 242, 105, 105, 498, 898 87, 520, 495, 527, 491, 499, 499, 521, 87, 236, 899 374, 236, 497, 87, 237, 542, 236, 375, 375, 375, 900 375, 375, 375, 383, 498, 87, 377, 87, 495, 528, 901 529, 499, 499, 234, 235, 236, 522, 237, 236, 378, 902 378, 378, 378, 378, 378, 87, 385, 533, 386, 87, 903 376, 538, 387, 87, 894, 236, 235, 236, 388, 500, 904 237, 500, 236, 87, 501, 501, 501, 501, 501, 501, 905 906 389, 87, 379, 87, 386, 87, 530, 385, 387, 386, 907 524, 87, 526, 387, 87, 87, 87, 87, 87, 505, 908 535, 531, 532, 87, 87, 540, 87, 502, 87, 534, 909 87, 389, 87, 536, 87, 386, 541, 539, 543, 387, 910 537, 547, 544, 87, 545, 87, 87, 87, 546, 549, 911 87, 87, 87, 87, 553, 548, 551, 87, 87, 87, 912 550, 552, 87, 87, 87, 87, 555, 559, 557, 87, 913 87, 87, 554, 562, 556, 87, 560, 558, 87, 87, 914 567, 87, 87, 87, 563, 561, 570, 566, 571, 564, 915 565, 569, 87, 568, 87, 87, 87, 201, 87, 87, 916 917 574, 630, 87, 580, 87, 573, 577, 572, 579, 87, 918 575, 576, 211, 211, 211, 211, 87, 622, 578, 490, 919 490, 490, 490, 490, 490, 375, 375, 375, 375, 375, 920 375, 626, 645, 621, 87, 234, 87, 236, 87, 237, 921 236, 378, 378, 378, 378, 378, 378, 495, 87, 602, 922 495, 623, 491, 628, 624, 495, 87, 236, 492, 236, 923 496, 598, 237, 598, 236, 601, 599, 599, 599, 599, 924 599, 599, 87, 495, 493, 602, 495, 634, 87, 87, 925 662, 495, 501, 501, 501, 501, 501, 501, 500, 87, 926 500, 625, 627, 501, 501, 501, 501, 501, 501, 600, 927 928 603, 603, 603, 603, 603, 603, 87, 87, 87, 631, 929 87, 87, 87, 87, 87, 639, 604, 629, 605, 635, 930 606, 605, 632, 87, 637, 638, 87, 633, 636, 87, 931 87, 87, 87, 607, 87, 640, 641, 644, 605, 643, 932 605, 87, 87, 606, 87, 605, 642, 87, 647, 648, 933 646, 87, 87, 87, 87, 87, 650, 649, 87, 656, 934 651, 87, 87, 87, 87, 653, 87, 87, 87, 652, 935 654, 657, 658, 655, 87, 664, 663, 660, 87, 667, 936 87, 87, 87, 659, 661, 87, 87, 87, 87, 668, 937 666, 669, 762, 691, 691, 704, 665, 87, 894, 670, 938 939 671, 490, 490, 490, 490, 490, 490, 599, 599, 599, 940 599, 599, 599, 598, 707, 598, 691, 87, 599, 599, 941 599, 599, 599, 599, 603, 603, 603, 603, 603, 603, 942 706, 691, 87, 87, 597, 689, 689, 689, 689, 689, 943 689, 692, 87, 692, 87, 87, 692, 702, 844, 87, 944 711, 604, 709, 605, 691, 606, 605, 607, 705, 87, 945 703, 87, 712, 692, 87, 692, 87, 708, 690, 710, 946 692, 87, 87, 605, 87, 605, 87, 713, 606, 87, 947 605, 87, 719, 87, 87, 87, 715, 87, 714, 87, 948 87, 717, 87, 87, 716, 87, 722, 87, 718, 724, 949 950 720, 727, 87, 725, 723, 87, 730, 87, 87, 726, 951 87, 87, 728, 87, 87, 729, 87, 734, 735, 736, 952 87, 755, 731, 737, 733, 738, 87, 894, 87, 739, 953 754, 869, 732, 689, 689, 689, 689, 689, 689, 603, 954 603, 603, 603, 603, 603, 87, 87, 753, 758, 604, 955 87, 605, 756, 606, 605, 757, 87, 87, 87, 759, 956 760, 87, 87, 87, 761, 765, 690, 764, 767, 770, 957 87, 605, 693, 605, 763, 87, 606, 87, 605, 769, 958 768, 87, 87, 87, 766, 771, 87, 87, 772, 773, 959 87, 87, 87, 774, 87, 87, 87, 87, 87, 775, 960 961 777, 87, 87, 87, 87, 87, 783, 87, 776, 87, 962 778, 784, 781, 801, 780, 779, 800, 782, 689, 689, 963 689, 689, 689, 689, 797, 87, 798, 87, 802, 87, 964 799, 807, 805, 804, 87, 87, 87, 87, 808, 809, 965 811, 87, 87, 87, 803, 812, 87, 806, 810, 87, 966 87, 746, 87, 87, 87, 838, 87, 87, 813, 87, 967 87, 87, 87, 833, 835, 836, 87, 87, 87, 814, 968 839, 841, 815, 816, 831, 832, 834, 87, 840, 830, 969 842, 87, 87, 87, 837, 87, 87, 87, 87, 87, 970 857, 843, 87, 87, 845, 856, 861, 87, 858, 87, 971 972 87, 846, 863, 864, 87, 87, 87, 855, 87, 87, 973 859, 872, 87, 865, 862, 867, 860, 866, 870, 87, 974 87, 87, 873, 87, 871, 874, 875, 87, 87, 87, 975 876, 877, 87, 87, 87, 880, 87, 882, 87, 883, 976 87, 878, 87, 881, 879, 87, 87, 87, 87, 87, 977 87, 894, 87, 894, 887, 894, 894, 886, 868, 888, 978 884, 885, 893, 87, 87, 87, 891, 87, 87, 889, 979 890, 894, 892, 69, 69, 69, 69, 69, 69, 69, 980 69, 69, 69, 69, 69, 69, 75, 75, 75, 75, 981 75, 75, 75, 75, 75, 75, 75, 75, 75, 78, 982 983 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 984 78, 78, 86, 894, 854, 86, 894, 86, 86, 86, 985 86, 86, 140, 853, 894, 851, 140, 140, 140, 140, 986 140, 140, 199, 199, 199, 199, 199, 199, 199, 199, 987 199, 199, 199, 199, 199, 204, 894, 850, 204, 894, 988 204, 204, 204, 204, 204, 208, 849, 208, 208, 894, 989 208, 208, 208, 208, 208, 208, 848, 208, 216, 87, 990 87, 216, 216, 216, 216, 216, 216, 216, 216, 87, 991 216, 239, 239, 239, 239, 239, 239, 239, 239, 239, 992 239, 239, 239, 239, 253, 253, 894, 253, 829, 894, 993 994 828, 253, 269, 826, 894, 269, 824, 269, 269, 269, 995 269, 269, 273, 894, 273, 822, 894, 820, 273, 275, 996 818, 275, 87, 87, 87, 275, 348, 87, 348, 87, 997 87, 87, 348, 350, 87, 350, 87, 87, 87, 350, 998 354, 87, 354, 894, 796, 794, 354, 356, 894, 356, 999 894, 791, 789, 356, 358, 787, 358, 87, 87, 87, 1000 358, 365, 87, 365, 87, 87, 87, 365, 367, 752, 1001 367, 749, 748, 746, 367, 382, 205, 382, 384, 384, 1002 742, 384, 384, 384, 741, 384, 253, 253, 673, 253, 1003 269, 87, 87, 269, 87, 269, 269, 269, 269, 269, 1004 1005 394, 87, 394, 87, 87, 87, 394, 396, 87, 396, 1006 87, 87, 87, 396, 398, 87, 398, 87, 87, 87, 1007 398, 273, 700, 273, 400, 699, 400, 697, 695, 693, 1008 400, 275, 601, 275, 86, 688, 687, 86, 685, 86, 1007 1009 86, 86, 86, 86, 199, 199, 199, 199, 199, 199, 1008 199, 199, 199, 199, 199, 199, 199, 4 68, 468, 468,1009 4 68, 468, 468, 468, 468, 468, 468, 468, 468, 468,1010 4 69, 680, 469, 678, 676, 674, 469, 471, 672, 471,1011 67 0, 87, 87, 471, 473, 87, 473, 87, 87, 87,1012 47 3, 348, 87, 348, 475, 87, 475, 87, 87, 87,1013 475, 350, 617, 350, 478, 615, 478, 613, 611, 609, 1014 47 8, 354, 607, 354, 480, 502, 480, 605, 605, 594,1015 1016 48 0, 356, 593, 356, 482, 591, 482, 483, 483, 589,1017 48 2, 358, 587, 358, 484, 585, 484, 583, 581, 579,1018 48 4, 365, 87, 365, 486, 87, 486, 87, 87, 87,1019 48 6, 367, 87, 367, 491, 87, 491, 87, 491, 514,1020 49 1, 380, 512, 380, 510, 380, 508, 380, 382, 382,1021 50 6, 382, 382, 382, 504, 382, 503, 490, 503, 487,1022 48 5, 361, 503, 505, 361, 505, 483, 481, 479, 505,1023 5 07, 476, 507, 474, 472, 470, 507, 392, 87, 392,1024 509, 87, 509, 87, 400, 399, 509, 394, 397, 394, 1025 51 1, 395, 511, 393, 270, 265, 511, 396, 264, 396,1026 1027 51 3, 389, 513, 389, 252, 379, 513, 398, 379, 398,1028 86, 240, 374, 86, 368, 86, 86, 86, 86, 86,1029 4 68, 468, 468, 468, 468, 468, 468, 468, 468, 468,1030 4 68, 468, 468, 578, 366, 578, 364, 360, 359, 578,1031 4 69, 357, 469, 580, 355, 580, 351, 349, 205, 580,1032 47 1, 201, 471, 582, 87, 582, 277, 276, 274, 582,1033 47 3, 270, 473, 584, 265, 584, 268, 265, 263, 584,1034 47 5, 262, 475, 586, 261, 586, 240, 232, 85, 586,1035 478, 85, 478, 588, 87, 588, 205, 203, 85, 588, 1036 480, 122, 480, 482, 117, 482, 87, 891, 70, 482,1037 1038 59 0, 70, 590, 891, 891, 891, 590, 484, 891, 484,1039 59 2, 891, 592, 891, 891, 891, 592, 486, 891, 486,1040 49 1, 891, 491, 891, 491, 891, 491, 382, 891, 382,1041 89 1, 891, 891, 382, 606, 891, 606, 891, 891, 891,1042 60 6, 503, 891, 503, 608, 891, 608, 891, 891, 891,1043 6 08, 505, 891, 505, 610, 891, 610, 891, 891, 891,1044 61 0, 507, 891, 507, 612, 891, 612, 891, 891, 891,1045 61 2, 509, 891, 509, 614, 891, 614, 891, 891, 891,1046 614, 511, 891, 511, 616, 891, 616, 891, 891, 891, 1047 61 6, 513, 891, 513, 86, 891, 891, 86, 891, 86,1048 1049 86, 86, 86, 86, 6 69, 669, 669, 669, 669, 669,1050 6 69, 669, 669, 669, 669, 669, 669, 671, 891, 671,1051 89 1, 891, 891, 671, 578, 891, 578, 673, 891, 673,1052 89 1, 891, 891, 673, 580, 891, 580, 675, 891, 675,1053 89 1, 891, 891, 675, 582, 891, 582, 677, 891, 677,1054 89 1, 891, 891, 677, 584, 891, 584, 679, 891, 679,1055 89 1, 891, 891, 679, 586, 891, 586, 681, 891, 681,1056 89 1, 891, 891, 681, 588, 891, 588, 683, 891, 683,1057 891, 891, 891, 683, 590, 891, 590, 86, 891, 86, 1058 89 1, 891, 891, 86, 592, 891, 592, 491, 891, 491,1059 1060 89 1, 891, 891, 491, 691, 891, 691, 891, 891, 891,1061 69 1, 606, 891, 606, 693, 891, 693, 891, 891, 891,1062 69 3, 608, 891, 608, 695, 891, 695, 891, 891, 891,1063 69 5, 610, 891, 610, 140, 891, 140, 891, 891, 891,1064 140, 61 2, 891, 612, 698, 891, 698, 614, 891, 614,1065 86, 89 1, 891, 86, 891, 86, 86, 86, 86, 86,1066 61 6, 891, 616, 669, 669, 669, 669, 669, 669, 669,1067 6 69, 669, 669, 669, 669, 669, 737, 891, 737, 891,1068 891, 891, 737, 671, 891, 671, 204, 891, 204, 891, 1069 89 1, 891, 204, 673, 891, 673, 740, 891, 740, 675,1070 1071 89 1, 675, 204, 891, 891, 204, 891, 204, 204, 204,1072 204, 204, 6 77, 891, 677, 741, 891, 741, 679, 891,1073 6 79, 681, 891, 681, 742, 891, 742, 683, 891, 683,1074 86, 89 1, 86, 744, 891, 744, 891, 891, 891, 744,1075 69 1, 891, 691, 269, 891, 269, 891, 891, 891, 269,1076 69 3, 891, 693, 747, 891, 747, 695, 891, 695, 140,1077 89 1, 140, 748, 891, 748, 891, 891, 891, 748, 86,1078 89 1, 891, 86, 891, 86, 86, 86, 86, 86, 782,1079 891, 782, 737, 891, 737, 204, 891, 204, 783, 891, 1080 783, 891, 891, 891, 783, 785, 891, 785, 891, 891,1081 1082 89 1, 785, 787, 891, 787, 891, 891, 891, 787, 789,1083 89 1, 789, 790, 891, 790, 891, 891, 891, 790, 792,1084 89 1, 792, 891, 891, 891, 792, 814, 891, 814, 891,1085 89 1, 891, 814, 816, 891, 816, 891, 891, 891, 816,1086 8 18, 891, 818, 891, 891, 891, 818, 820, 891, 820,1087 89 1, 891, 891, 820, 822, 891, 822, 891, 891, 891,1088 82 2, 824, 891, 824, 891, 891, 891, 824, 616, 891,1089 61 6, 891, 891, 891, 616, 844, 891, 844, 891, 891,1090 891, 844, 677, 891, 677, 891, 891, 891, 677, 681, 1091 89 1, 681, 891, 891, 891, 681, 86, 891, 86, 891,1092 1093 89 1, 891, 86, 849, 891, 849, 891, 891, 891, 849,1094 140, 89 1, 140, 891, 891, 891, 140, 204, 891, 204,1095 89 1, 891, 891, 204, 11, 891, 891, 891, 891, 891,1096 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1097 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1098 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1099 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1100 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1101 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1102 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 891,1103 1104 89 1, 891, 891, 891, 891, 891, 891, 891, 891, 8911010 199, 199, 199, 199, 199, 199, 199, 470, 470, 470, 1011 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 1012 471, 683, 471, 681, 679, 677, 471, 473, 675, 473, 1013 673, 87, 87, 473, 475, 87, 475, 87, 87, 87, 1014 475, 348, 87, 348, 477, 87, 477, 87, 87, 87, 1015 1016 477, 350, 620, 350, 480, 618, 480, 616, 614, 612, 1017 480, 354, 610, 354, 482, 505, 482, 608, 608, 597, 1018 482, 356, 596, 356, 484, 594, 484, 485, 485, 592, 1019 484, 358, 590, 358, 486, 588, 486, 586, 584, 582, 1020 486, 365, 87, 365, 488, 87, 488, 87, 87, 87, 1021 488, 367, 87, 367, 494, 87, 494, 87, 494, 517, 1022 494, 382, 515, 382, 513, 382, 511, 382, 384, 384, 1023 509, 384, 384, 384, 507, 384, 506, 493, 506, 492, 1024 489, 487, 506, 508, 361, 508, 361, 485, 483, 508, 1025 510, 481, 510, 478, 476, 474, 510, 394, 472, 394, 1026 1027 512, 87, 512, 87, 87, 402, 512, 396, 401, 396, 1028 514, 399, 514, 397, 395, 270, 514, 398, 265, 398, 1029 516, 264, 516, 391, 391, 252, 516, 400, 381, 400, 1030 86, 381, 240, 86, 374, 86, 86, 86, 86, 86, 1031 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 1032 470, 470, 470, 581, 368, 581, 366, 364, 360, 581, 1033 471, 359, 471, 583, 357, 583, 355, 351, 349, 583, 1034 473, 205, 473, 585, 201, 585, 87, 277, 276, 585, 1035 475, 274, 475, 587, 270, 587, 265, 268, 265, 587, 1036 477, 263, 477, 589, 262, 589, 261, 240, 232, 589, 1037 1038 480, 85, 480, 591, 85, 591, 87, 205, 203, 591, 1039 482, 85, 482, 484, 122, 484, 117, 87, 894, 484, 1040 593, 70, 593, 70, 894, 894, 593, 486, 894, 486, 1041 595, 894, 595, 894, 894, 894, 595, 488, 894, 488, 1042 494, 894, 494, 894, 494, 894, 494, 384, 894, 384, 1043 894, 894, 894, 384, 609, 894, 609, 894, 894, 894, 1044 609, 506, 894, 506, 611, 894, 611, 894, 894, 894, 1045 611, 508, 894, 508, 613, 894, 613, 894, 894, 894, 1046 613, 510, 894, 510, 615, 894, 615, 894, 894, 894, 1047 615, 512, 894, 512, 617, 894, 617, 894, 894, 894, 1048 1049 617, 514, 894, 514, 619, 894, 619, 894, 894, 894, 1050 619, 516, 894, 516, 86, 894, 894, 86, 894, 86, 1051 86, 86, 86, 86, 672, 672, 672, 672, 672, 672, 1052 672, 672, 672, 672, 672, 672, 672, 674, 894, 674, 1053 894, 894, 894, 674, 581, 894, 581, 676, 894, 676, 1054 894, 894, 894, 676, 583, 894, 583, 678, 894, 678, 1055 894, 894, 894, 678, 585, 894, 585, 680, 894, 680, 1056 894, 894, 894, 680, 587, 894, 587, 682, 894, 682, 1057 894, 894, 894, 682, 589, 894, 589, 684, 894, 684, 1058 894, 894, 894, 684, 591, 894, 591, 686, 894, 686, 1059 1060 894, 894, 894, 686, 593, 894, 593, 86, 894, 86, 1061 894, 894, 894, 86, 595, 894, 595, 494, 894, 494, 1062 894, 894, 894, 494, 694, 894, 694, 894, 894, 894, 1063 694, 609, 894, 609, 696, 894, 696, 894, 894, 894, 1064 696, 611, 894, 611, 698, 894, 698, 894, 894, 894, 1065 698, 613, 894, 613, 140, 894, 140, 894, 894, 894, 1066 140, 615, 894, 615, 701, 894, 701, 617, 894, 617, 1067 86, 894, 894, 86, 894, 86, 86, 86, 86, 86, 1068 619, 894, 619, 672, 672, 672, 672, 672, 672, 672, 1069 672, 672, 672, 672, 672, 672, 740, 894, 740, 894, 1070 1071 894, 894, 740, 674, 894, 674, 204, 894, 204, 894, 1072 894, 894, 204, 676, 894, 676, 743, 894, 743, 678, 1073 894, 678, 204, 894, 894, 204, 894, 204, 204, 204, 1074 204, 204, 680, 894, 680, 744, 894, 744, 682, 894, 1075 682, 684, 894, 684, 745, 894, 745, 686, 894, 686, 1076 86, 894, 86, 747, 894, 747, 894, 894, 894, 747, 1077 694, 894, 694, 269, 894, 269, 894, 894, 894, 269, 1078 696, 894, 696, 750, 894, 750, 698, 894, 698, 140, 1079 894, 140, 751, 894, 751, 894, 894, 894, 751, 86, 1080 894, 894, 86, 894, 86, 86, 86, 86, 86, 785, 1081 1082 894, 785, 740, 894, 740, 204, 894, 204, 786, 894, 1083 786, 894, 894, 894, 786, 788, 894, 788, 894, 894, 1084 894, 788, 790, 894, 790, 894, 894, 894, 790, 792, 1085 894, 792, 793, 894, 793, 894, 894, 894, 793, 795, 1086 894, 795, 894, 894, 894, 795, 817, 894, 817, 894, 1087 894, 894, 817, 819, 894, 819, 894, 894, 894, 819, 1088 821, 894, 821, 894, 894, 894, 821, 823, 894, 823, 1089 894, 894, 894, 823, 825, 894, 825, 894, 894, 894, 1090 825, 827, 894, 827, 894, 894, 894, 827, 619, 894, 1091 619, 894, 894, 894, 619, 847, 894, 847, 894, 894, 1092 1093 894, 847, 680, 894, 680, 894, 894, 894, 680, 684, 1094 894, 684, 894, 894, 894, 684, 86, 894, 86, 894, 1095 894, 894, 86, 852, 894, 852, 894, 894, 894, 852, 1096 140, 894, 140, 894, 894, 894, 140, 204, 894, 204, 1097 894, 894, 894, 204, 11, 894, 894, 894, 894, 894, 1098 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1099 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1100 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1101 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1102 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1103 1104 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1105 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1106 894, 894, 894, 894, 894, 894, 894, 894, 894, 894 1105 1107 } ; 1106 1108 1107 static yyconst flex_int16_t yy_chk[29 11] =1109 static yyconst flex_int16_t yy_chk[2931] = 1108 1110 { 0, 1109 1111 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 1126 1128 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1127 1129 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 1128 8, 9, 10, 37, 37, 20, 39, 9, 10, 89 0,1130 8, 9, 10, 37, 37, 20, 39, 9, 10, 893, 1129 1131 7, 8, 13, 13, 13, 13, 13, 13, 15, 15, 1130 1132 … … 1137 1139 47, 45, 45, 45, 49, 30, 30, 45, 45, 49, 1138 1140 45, 30, 40, 45, 45, 40, 49, 30, 45, 56, 1139 62, 45, 49, 30, 73, 8 89, 127, 53, 127, 51,1141 62, 45, 49, 30, 73, 892, 127, 53, 127, 51, 1140 1142 61, 30, 62, 55, 30, 31, 108, 31, 31, 31, 1141 1143 … … 1145 1147 31, 129, 107, 154, 151, 52, 31, 52, 107, 87, 1146 1148 52, 60, 31, 132, 52, 132, 60, 114, 175, 154, 1147 31, 38, 151, 38 5, 111, 38, 38, 58, 38, 60,1149 31, 38, 151, 387, 111, 38, 38, 58, 38, 60, 1148 1150 38, 38, 113, 38, 107, 38, 59, 130, 113, 58, 1149 58, 116, 111, 164, 38, 38, 38, 38 5, 59, 58,1151 58, 116, 111, 164, 38, 38, 38, 387, 59, 58, 1150 1152 111, 130, 58, 130, 142, 60, 59, 131, 60, 116, 1151 1153 164, 68, 68, 59, 113, 38, 68, 116, 38, 131, 1152 1154 1153 110, 131, 60, 67, 67, 67, 67, 67, 67, 88 1,1155 110, 131, 60, 67, 67, 67, 67, 67, 67, 884, 1154 1156 142, 67, 68, 68, 68, 68, 68, 68, 80, 80, 1155 1157 80, 80, 80, 80, 153, 38, 38, 77, 77, 134, 1156 1158 110, 134, 77, 153, 77, 110, 135, 135, 135, 77, 1157 82, 82, 82, 82, 82, 82, 88 0, 243, 77, 77,1159 82, 82, 82, 82, 82, 82, 883, 243, 77, 77, 1158 1160 77, 77, 83, 83, 83, 83, 83, 83, 110, 77, 1159 1161 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 1160 1162 133, 133, 137, 133, 137, 77, 145, 139, 77, 139, 1161 1163 157, 145, 243, 77, 77, 152, 156, 77, 77, 155, 1162 166, 150, 157, 103, 104, 77, 159, 168, 77, 104,1164 166, 150, 157, 880, 104, 77, 159, 168, 77, 104, 1163 1165 1164 1166 77, 77, 77, 152, 77, 85, 150, 155, 156, 85, 1165 1167 85, 166, 159, 150, 85, 85, 161, 85, 160, 85, 1166 1168 145, 162, 104, 167, 168, 161, 169, 163, 85, 85, 1167 85, 105, 163, 105, 105, 105, 105, 105, 105, 87 7,1169 85, 105, 163, 105, 105, 105, 105, 105, 105, 879, 1168 1170 160, 171, 162, 162, 165, 163, 167, 169, 173, 85, 1169 1171 105, 106, 85, 106, 165, 172, 106, 106, 106, 106, … … 1178 1180 189, 158, 158, 188, 192, 158, 194, 158, 284, 219, 1179 1181 185, 219, 158, 158, 158, 193, 158, 192, 220, 194, 1180 220, 191, 198, 198, 191, 192, 205, 198, 193, 87 6,1182 220, 191, 198, 198, 191, 192, 205, 198, 193, 877, 1181 1183 193, 197, 197, 197, 197, 197, 197, 200, 200, 197, 1182 1184 248, 221, 200, 198, 198, 198, 198, 198, 198, 202, 1183 1185 202, 223, 205, 223, 202, 221, 202, 221, 200, 200, 1184 200, 200, 200, 200, 209, 209, 248, 338, 222, 209,1186 200, 200, 200, 200, 209, 209, 248, 876, 222, 209, 1185 1187 1186 1188 202, 202, 202, 202, 202, 202, 212, 212, 212, 212, 1187 222, 309, 222, 224, 224, 225, 224, 225, 226, 226,1189 222, 286, 222, 224, 224, 225, 224, 225, 226, 226, 1188 1190 226, 228, 229, 228, 229, 234, 234, 235, 236, 235, 1189 309, 279, 235, 235, 235, 235, 235, 235, 237, 212, 1190 237, 338, 266, 237, 266, 267, 278, 267, 234, 279, 1191 283, 236, 241, 241, 241, 283, 241, 241, 256, 278, 1192 237, 281, 237, 282, 280, 235, 270, 237, 244, 244, 1193 244, 244, 244, 244, 241, 241, 241, 281, 285, 241, 1194 282, 241, 280, 285, 256, 244, 245, 245, 245, 245, 1195 245, 245, 270, 288, 293, 286, 294, 300, 306, 293, 1196 1197 308, 244, 300, 306, 874, 294, 308, 244, 246, 246, 1198 246, 246, 246, 246, 253, 286, 288, 255, 255, 255, 1199 255, 255, 255, 287, 246, 247, 246, 247, 246, 246, 1200 247, 247, 247, 247, 247, 247, 290, 253, 287, 253, 1201 873, 246, 289, 253, 287, 287, 246, 292, 246, 253, 1202 255, 246, 291, 246, 260, 260, 260, 260, 260, 260, 1203 289, 253, 290, 292, 292, 253, 295, 291, 296, 253, 1204 297, 299, 301, 302, 303, 304, 305, 307, 311, 295, 1205 302, 301, 307, 310, 311, 312, 319, 260, 297, 299, 1206 313, 314, 310, 304, 303, 296, 318, 305, 305, 313, 1207 1208 315, 312, 316, 317, 319, 315, 314, 316, 317, 320, 1209 322, 323, 324, 326, 325, 318, 327, 328, 331, 329, 1210 330, 322, 320, 332, 334, 317, 323, 325, 333, 330, 1211 335, 324, 337, 339, 340, 326, 329, 328, 401, 327, 1212 331, 337, 334, 335, 341, 343, 332, 340, 342, 401, 1213 333, 339, 341, 342, 344, 344, 345, 460, 866, 344, 1214 343, 344, 345, 352, 352, 352, 352, 353, 353, 353, 1215 353, 362, 363, 362, 363, 370, 370, 370, 370, 370, 1216 370, 372, 460, 372, 380, 381, 372, 372, 372, 372, 1217 372, 372, 865, 402, 380, 381, 352, 371, 371, 371, 1218 1219 371, 371, 371, 374, 374, 374, 374, 374, 374, 402, 1220 380, 381, 403, 371, 404, 371, 864, 371, 371, 375, 1221 375, 375, 375, 375, 375, 383, 382, 403, 406, 405, 1222 371, 383, 407, 404, 408, 371, 374, 371, 405, 406, 1223 371, 407, 371, 376, 376, 376, 376, 376, 376, 382, 1224 412, 382, 375, 387, 411, 382, 408, 383, 384, 386, 1225 384, 382, 410, 384, 384, 384, 384, 384, 384, 409, 1226 411, 387, 412, 382, 413, 410, 376, 382, 409, 387, 1227 415, 382, 386, 414, 386, 416, 417, 413, 386, 418, 1228 421, 417, 419, 422, 386, 420, 384, 427, 419, 414, 1229 1230 414, 421, 415, 416, 418, 423, 386, 425, 429, 427, 1231 386, 418, 422, 430, 386, 431, 420, 432, 433, 434, 1232 423, 425, 435, 437, 433, 439, 440, 441, 431, 429, 1233 442, 435, 443, 444, 434, 430, 449, 445, 437, 447, 1234 432, 450, 441, 451, 454, 439, 445, 443, 440, 452, 1235 450, 453, 442, 444, 455, 456, 447, 457, 458, 449, 1236 459, 461, 463, 455, 451, 458, 454, 459, 462, 452, 1237 457, 453, 466, 456, 464, 467, 462, 525, 863, 463, 1238 525, 468, 491, 461, 467, 464, 462, 468, 477, 477, 1239 477, 477, 491, 515, 466, 488, 488, 488, 488, 488, 1240 1241 488, 490, 490, 490, 490, 490, 490, 519, 491, 521, 1242 515, 488, 492, 488, 492, 488, 488, 492, 492, 492, 1243 492, 492, 492, 494, 516, 495, 493, 519, 488, 862, 1244 858, 521, 518, 488, 490, 488, 493, 516, 488, 529, 1245 488, 497, 497, 497, 497, 497, 497, 518, 520, 494, 1246 492, 495, 493, 498, 498, 498, 498, 498, 498, 523, 1247 529, 520, 526, 854, 523, 851, 528, 850, 522, 498, 1248 499, 498, 499, 498, 498, 499, 499, 499, 499, 499, 1249 499, 522, 526, 524, 527, 528, 498, 531, 530, 532, 1250 533, 498, 531, 498, 524, 534, 498, 530, 498, 527, 1251 1252 532, 535, 537, 533, 536, 538, 539, 541, 542, 547, 1253 535, 539, 544, 541, 538, 545, 546, 542, 547, 537, 1254 550, 551, 849, 549, 534, 552, 536, 554, 560, 544, 1255 545, 546, 549, 551, 555, 557, 558, 550, 561, 555, 1256 552, 562, 554, 565, 557, 558, 564, 567, 566, 568, 1257 560, 561, 575, 565, 564, 566, 569, 571, 562, 574, 1258 572, 568, 569, 620, 619, 575, 571, 601, 601, 567, 1259 572, 619, 620, 848, 847, 622, 574, 594, 594, 594, 1260 594, 594, 594, 595, 595, 595, 595, 595, 595, 597, 1261 601, 597, 622, 621, 597, 597, 597, 597, 597, 597, 1262 1263 600, 600, 600, 600, 600, 600, 621, 602, 626, 846, 1264 594, 596, 596, 596, 596, 596, 596, 603, 618, 603, 1265 623, 624, 603, 618, 628, 626, 625, 596, 624, 596, 1266 602, 596, 596, 600, 625, 627, 618, 628, 627, 603, 1267 629, 603, 630, 623, 596, 631, 603, 632, 633, 596, 1268 634, 596, 635, 634, 596, 636, 596, 630, 637, 638, 1269 640, 644, 629, 639, 632, 641, 642, 631, 645, 635, 1270 633, 646, 639, 637, 650, 642, 651, 656, 640, 638, 1271 646, 653, 657, 636, 644, 665, 656, 641, 664, 657, 1272 645, 667, 668, 842, 650, 665, 700, 664, 653, 699, 1273 1274 667, 702, 705, 651, 714, 842, 700, 668, 686, 686, 1275 686, 686, 686, 686, 690, 690, 690, 690, 690, 690, 1276 699, 708, 705, 703, 686, 714, 686, 702, 686, 686, 1277 703, 704, 706, 715, 707, 706, 704, 707, 710, 708, 1278 712, 686, 711, 717, 710, 718, 686, 690, 686, 712, 1279 720, 686, 717, 686, 713, 711, 716, 713, 719, 716, 1280 721, 719, 715, 720, 722, 723, 724, 725, 721, 731, 1281 728, 718, 732, 735, 722, 733, 725, 736, 723, 756, 1282 757, 735, 758, 754, 756, 759, 736, 724, 728, 731, 1283 755, 761, 758, 728, 732, 757, 733, 743, 743, 743, 1284 1285 743, 743, 743, 754, 760, 763, 762, 755, 759, 762, 1286 764, 766, 768, 769, 766, 768, 770, 761, 763, 770, 1287 769, 760, 771, 773, 772, 771, 775, 779, 794, 797, 1288 743, 796, 798, 800, 799, 798, 800, 801, 764, 772, 1289 801, 803, 804, 807, 810, 805, 773, 797, 805, 775, 1290 779, 808, 796, 810, 808, 794, 799, 809, 811, 803, 1291 809, 812, 813, 828, 829, 807, 830, 831, 804, 830, 1292 832, 829, 812, 834, 811, 856, 831, 833, 813, 837, 1293 833, 875, 837, 840, 828, 856, 840, 841, 832, 843, 1294 834, 852, 853, 867, 832, 868, 841, 853, 843, 855, 1295 1296 852, 857, 855, 875, 859, 860, 857, 859, 860, 861, 1297 868, 869, 861, 867, 869, 870, 871, 872, 878, 871, 1298 872, 879, 882, 884, 883, 870, 885, 887, 886, 845, 1299 888, 882, 844, 839, 838, 836, 879, 883, 835, 878, 1300 888, 827, 826, 825, 824, 884, 886, 885, 823, 887, 1301 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 1302 892, 892, 892, 893, 893, 893, 893, 893, 893, 893, 1303 893, 893, 893, 893, 893, 893, 894, 894, 894, 894, 1304 894, 894, 894, 894, 894, 894, 894, 894, 894, 895, 1305 822, 821, 895, 820, 895, 895, 895, 895, 895, 896, 1306 1307 819, 818, 817, 896, 896, 896, 896, 896, 896, 897, 1191 869, 286, 235, 235, 235, 235, 235, 235, 237, 212, 1192 237, 282, 242, 237, 242, 242, 242, 242, 234, 256, 1193 270, 236, 241, 241, 241, 241, 241, 241, 282, 266, 1194 237, 266, 237, 296, 267, 235, 267, 237, 281, 244, 1195 244, 244, 244, 244, 244, 256, 270, 242, 245, 245, 1196 245, 245, 245, 245, 281, 241, 244, 247, 278, 247, 1197 296, 295, 247, 247, 247, 247, 247, 247, 279, 280, 1198 1199 283, 278, 244, 288, 295, 283, 289, 868, 244, 246, 1200 246, 246, 246, 246, 246, 253, 279, 280, 255, 255, 1201 255, 255, 255, 255, 289, 246, 288, 246, 291, 246, 1202 246, 260, 260, 260, 260, 260, 260, 290, 253, 292, 1203 253, 285, 246, 291, 253, 867, 285, 246, 294, 246, 1204 253, 255, 246, 287, 246, 292, 292, 294, 297, 299, 1205 293, 303, 253, 290, 260, 293, 253, 300, 287, 301, 1206 253, 304, 300, 302, 287, 287, 297, 299, 301, 305, 1207 302, 303, 306, 307, 308, 309, 310, 306, 307, 304, 1208 308, 311, 312, 313, 314, 310, 318, 311, 315, 319, 1209 1210 305, 305, 313, 315, 309, 316, 317, 320, 312, 314, 1211 316, 317, 322, 324, 323, 318, 326, 319, 325, 327, 1212 320, 328, 329, 322, 330, 331, 332, 334, 317, 323, 1213 333, 325, 324, 330, 337, 335, 338, 339, 326, 329, 1214 340, 328, 327, 337, 343, 334, 341, 331, 335, 332, 1215 639, 342, 333, 340, 341, 339, 342, 344, 344, 343, 1216 345, 362, 344, 362, 344, 403, 345, 352, 352, 352, 1217 352, 353, 353, 353, 353, 363, 403, 363, 639, 408, 1218 338, 370, 370, 370, 370, 370, 370, 372, 382, 372, 1219 408, 410, 372, 372, 372, 372, 372, 372, 382, 404, 1220 1221 352, 371, 371, 371, 371, 371, 371, 374, 374, 374, 1222 374, 374, 374, 410, 382, 404, 405, 371, 406, 371, 1223 412, 371, 371, 377, 377, 377, 377, 377, 377, 385, 1224 425, 405, 383, 412, 371, 385, 389, 406, 414, 371, 1225 374, 371, 383, 413, 371, 425, 371, 375, 375, 375, 1226 375, 375, 375, 384, 389, 417, 377, 407, 383, 413, 1227 414, 385, 389, 375, 375, 375, 407, 375, 375, 378, 1228 378, 378, 378, 378, 378, 421, 384, 417, 384, 866, 1229 375, 421, 384, 865, 388, 375, 375, 375, 384, 386, 1230 375, 386, 375, 415, 386, 386, 386, 386, 386, 386, 1231 1232 384, 409, 378, 411, 384, 416, 415, 388, 384, 388, 1233 409, 418, 411, 388, 423, 419, 422, 424, 420, 388, 1234 419, 416, 416, 431, 427, 423, 432, 386, 433, 418, 1235 429, 388, 434, 420, 441, 388, 424, 422, 427, 388, 1236 420, 433, 429, 435, 431, 436, 439, 437, 432, 435, 1237 442, 443, 444, 445, 441, 434, 437, 446, 447, 449, 1238 436, 439, 451, 453, 452, 456, 443, 447, 445, 454, 1239 455, 457, 442, 452, 444, 458, 449, 446, 459, 460, 1240 457, 461, 462, 463, 453, 451, 460, 456, 461, 454, 1241 455, 459, 464, 458, 465, 466, 468, 470, 528, 469, 1242 1243 464, 528, 861, 470, 519, 463, 466, 462, 469, 524, 1244 464, 465, 479, 479, 479, 479, 518, 519, 468, 490, 1245 490, 490, 490, 490, 490, 492, 492, 492, 492, 492, 1246 492, 524, 544, 518, 522, 490, 521, 490, 544, 490, 1247 490, 493, 493, 493, 493, 493, 493, 497, 526, 498, 1248 494, 521, 490, 526, 522, 496, 532, 490, 492, 490, 1249 494, 495, 490, 495, 490, 496, 495, 495, 495, 495, 1250 495, 495, 567, 497, 493, 498, 494, 532, 523, 525, 1251 567, 496, 500, 500, 500, 500, 500, 500, 502, 529, 1252 502, 523, 525, 502, 502, 502, 502, 502, 502, 495, 1253 1254 501, 501, 501, 501, 501, 501, 527, 530, 531, 529, 1255 533, 857, 536, 535, 539, 537, 501, 527, 501, 533, 1256 501, 501, 530, 534, 535, 536, 538, 531, 534, 540, 1257 541, 547, 542, 501, 548, 538, 539, 542, 501, 541, 1258 501, 545, 549, 501, 537, 501, 540, 550, 547, 548, 1259 545, 552, 553, 554, 558, 555, 550, 549, 557, 558, 1260 552, 563, 560, 561, 564, 554, 568, 565, 569, 553, 1261 555, 560, 561, 557, 570, 569, 568, 564, 571, 572, 1262 574, 575, 577, 563, 565, 572, 713, 578, 622, 574, 1263 571, 575, 713, 604, 604, 622, 570, 625, 854, 577, 1264 1265 578, 597, 597, 597, 597, 597, 597, 598, 598, 598, 1266 598, 598, 598, 600, 625, 600, 604, 624, 600, 600, 1267 600, 600, 600, 600, 603, 603, 603, 603, 603, 603, 1268 624, 605, 814, 629, 597, 599, 599, 599, 599, 599, 1269 599, 606, 621, 606, 626, 627, 606, 621, 814, 623, 1270 629, 599, 627, 599, 605, 599, 599, 603, 623, 630, 1271 621, 628, 630, 606, 631, 606, 632, 626, 599, 628, 1272 606, 633, 634, 599, 635, 599, 636, 631, 599, 637, 1273 599, 640, 637, 638, 641, 643, 633, 644, 632, 647, 1274 642, 635, 645, 648, 634, 705, 640, 649, 636, 642, 1275 1276 638, 645, 653, 643, 641, 654, 649, 656, 659, 644, 1277 667, 660, 647, 668, 671, 648, 670, 659, 660, 667, 1278 703, 705, 653, 668, 656, 670, 702, 853, 708, 671, 1279 703, 852, 654, 689, 689, 689, 689, 689, 689, 693, 1280 693, 693, 693, 693, 693, 706, 711, 702, 708, 689, 1281 707, 689, 706, 689, 689, 707, 709, 710, 715, 709, 1282 710, 714, 716, 717, 711, 716, 689, 715, 718, 721, 1283 720, 689, 693, 689, 714, 723, 689, 719, 689, 720, 1284 719, 724, 722, 725, 717, 722, 726, 727, 723, 724, 1285 735, 728, 731, 725, 734, 721, 736, 718, 738, 726, 1286 1287 728, 760, 739, 761, 757, 762, 738, 764, 727, 758, 1288 731, 739, 735, 761, 734, 731, 760, 736, 746, 746, 1289 746, 746, 746, 746, 757, 759, 758, 763, 762, 765, 1290 759, 767, 765, 764, 766, 769, 771, 773, 769, 771, 1291 773, 772, 774, 775, 763, 774, 776, 766, 772, 778, 1292 782, 746, 797, 799, 802, 807, 810, 800, 775, 767, 1293 801, 803, 804, 801, 803, 804, 806, 808, 811, 776, 1294 808, 811, 778, 782, 799, 800, 802, 812, 810, 797, 1295 812, 807, 813, 815, 806, 816, 831, 833, 832, 834, 1296 833, 813, 835, 836, 815, 832, 836, 837, 834, 840, 1297 1298 843, 816, 840, 843, 844, 845, 846, 831, 858, 855, 1299 835, 858, 859, 844, 837, 846, 835, 845, 855, 856, 1300 860, 870, 859, 862, 856, 860, 862, 863, 864, 871, 1301 863, 864, 872, 873, 874, 872, 875, 874, 878, 875, 1302 881, 870, 882, 873, 871, 885, 886, 887, 889, 888, 1303 890, 851, 891, 850, 885, 849, 848, 882, 847, 886, 1304 878, 881, 891, 842, 841, 839, 889, 838, 830, 887, 1305 888, 829, 890, 895, 895, 895, 895, 895, 895, 895, 1306 895, 895, 895, 895, 895, 895, 896, 896, 896, 896, 1307 896, 896, 896, 896, 896, 896, 896, 896, 896, 897, 1308 1308 1309 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 1309 897, 897, 898, 816, 815, 898, 814, 898, 898, 898, 1310 898, 898, 899, 806, 899, 899, 802, 899, 899, 899, 1311 899, 899, 899, 795, 899, 900, 793, 792, 900, 900, 1312 900, 900, 900, 900, 900, 900, 791, 900, 901, 901, 1313 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 1314 901, 902, 902, 790, 902, 789, 788, 787, 902, 903, 1315 786, 785, 903, 784, 903, 903, 903, 903, 903, 904, 1316 783, 904, 782, 781, 780, 904, 905, 778, 905, 777, 1317 1318 776, 774, 905, 906, 767, 906, 765, 753, 752, 906, 1319 907, 751, 907, 750, 749, 748, 907, 908, 747, 908, 1320 746, 745, 742, 908, 909, 741, 909, 740, 734, 730, 1321 909, 910, 729, 910, 727, 726, 709, 910, 911, 701, 1322 911, 698, 693, 691, 911, 912, 687, 912, 677, 673, 1323 671, 912, 913, 913, 913, 913, 913, 913, 913, 913, 1324 913, 913, 913, 913, 913, 914, 669, 914, 915, 915, 1325 666, 915, 915, 915, 663, 915, 916, 916, 662, 916, 1326 917, 661, 917, 660, 659, 658, 917, 918, 655, 918, 1327 654, 652, 649, 918, 919, 648, 919, 647, 643, 616, 1328 1329 919, 920, 612, 920, 921, 610, 921, 608, 606, 604, 1330 921, 922, 598, 922, 923, 592, 590, 923, 588, 923, 1331 923, 923, 923, 923, 924, 924, 924, 924, 924, 924, 1332 924, 924, 924, 924, 924, 924, 924, 925, 925, 925, 1333 925, 925, 925, 925, 925, 925, 925, 925, 925, 925, 1334 926, 586, 926, 584, 582, 580, 926, 927, 578, 927, 1335 577, 576, 573, 927, 928, 570, 928, 563, 559, 556, 1336 928, 929, 553, 929, 930, 548, 930, 543, 540, 517, 1337 930, 931, 513, 931, 932, 511, 932, 509, 507, 505, 1338 932, 933, 503, 933, 934, 502, 934, 501, 500, 489, 1339 1340 934, 935, 486, 935, 936, 484, 936, 483, 482, 480, 1341 936, 937, 478, 937, 938, 475, 938, 473, 471, 469, 1342 938, 939, 465, 939, 940, 448, 940, 446, 438, 436, 1343 940, 941, 428, 941, 942, 426, 942, 424, 942, 398, 1344 942, 943, 396, 943, 394, 943, 392, 943, 944, 944, 1345 391, 944, 944, 944, 390, 944, 945, 377, 945, 367, 1346 365, 364, 945, 946, 360, 946, 358, 356, 354, 946, 1347 947, 350, 947, 348, 347, 346, 947, 948, 336, 948, 1348 949, 321, 949, 298, 277, 275, 949, 950, 273, 950, 1349 951, 272, 951, 271, 269, 268, 951, 952, 263, 952, 1350 1351 953, 259, 953, 258, 254, 251, 953, 954, 250, 954, 1352 955, 239, 238, 955, 231, 955, 955, 955, 955, 955, 1353 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 1354 956, 956, 956, 957, 230, 957, 227, 217, 215, 957, 1355 958, 214, 958, 959, 213, 959, 207, 206, 204, 959, 1356 960, 199, 960, 961, 178, 961, 149, 147, 146, 961, 1357 962, 140, 962, 963, 138, 963, 136, 128, 125, 963, 1358 964, 124, 964, 965, 120, 965, 101, 98, 95, 965, 1359 966, 93, 966, 967, 86, 967, 72, 70, 66, 967, 1360 968, 36, 968, 969, 33, 969, 18, 11, 4, 969, 1361 1362 970, 3, 970, 0, 0, 0, 970, 971, 0, 971, 1363 972, 0, 972, 0, 0, 0, 972, 973, 0, 973, 1364 974, 0, 974, 0, 974, 0, 974, 975, 0, 975, 1365 0, 0, 0, 975, 976, 0, 976, 0, 0, 0, 1366 976, 977, 0, 977, 978, 0, 978, 0, 0, 0, 1367 978, 979, 0, 979, 980, 0, 980, 0, 0, 0, 1368 980, 981, 0, 981, 982, 0, 982, 0, 0, 0, 1369 982, 983, 0, 983, 984, 0, 984, 0, 0, 0, 1370 984, 985, 0, 985, 986, 0, 986, 0, 0, 0, 1371 986, 987, 0, 987, 988, 0, 0, 988, 0, 988, 1372 1373 988, 988, 988, 988, 989, 989, 989, 989, 989, 989, 1374 989, 989, 989, 989, 989, 989, 989, 990, 0, 990, 1375 0, 0, 0, 990, 991, 0, 991, 992, 0, 992, 1376 0, 0, 0, 992, 993, 0, 993, 994, 0, 994, 1377 0, 0, 0, 994, 995, 0, 995, 996, 0, 996, 1378 0, 0, 0, 996, 997, 0, 997, 998, 0, 998, 1379 0, 0, 0, 998, 999, 0, 999, 1000, 0, 1000, 1380 0, 0, 0, 1000, 1001, 0, 1001, 1002, 0, 1002, 1381 0, 0, 0, 1002, 1003, 0, 1003, 1004, 0, 1004, 1382 0, 0, 0, 1004, 1005, 0, 1005, 1006, 0, 1006, 1383 1384 0, 0, 0, 1006, 1007, 0, 1007, 0, 0, 0, 1385 1007, 1008, 0, 1008, 1009, 0, 1009, 0, 0, 0, 1386 1009, 1010, 0, 1010, 1011, 0, 1011, 0, 0, 0, 1387 1011, 1012, 0, 1012, 1013, 0, 1013, 0, 0, 0, 1388 1013, 1014, 0, 1014, 1015, 0, 1015, 1016, 0, 1016, 1389 1017, 0, 0, 1017, 0, 1017, 1017, 1017, 1017, 1017, 1390 1018, 0, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1391 1019, 1019, 1019, 1019, 1019, 1019, 1020, 0, 1020, 0, 1392 0, 0, 1020, 1021, 0, 1021, 1022, 0, 1022, 0, 1393 0, 0, 1022, 1023, 0, 1023, 1024, 0, 1024, 1025, 1394 1395 0, 1025, 1026, 0, 0, 1026, 0, 1026, 1026, 1026, 1396 1026, 1026, 1027, 0, 1027, 1028, 0, 1028, 1029, 0, 1397 1029, 1030, 0, 1030, 1031, 0, 1031, 1032, 0, 1032, 1398 1033, 0, 1033, 1034, 0, 1034, 0, 0, 0, 1034, 1399 1035, 0, 1035, 1036, 0, 1036, 0, 0, 0, 1036, 1400 1037, 0, 1037, 1038, 0, 1038, 1039, 0, 1039, 1040, 1401 0, 1040, 1041, 0, 1041, 0, 0, 0, 1041, 1042, 1402 0, 0, 1042, 0, 1042, 1042, 1042, 1042, 1042, 1043, 1403 0, 1043, 1044, 0, 1044, 1045, 0, 1045, 1046, 0, 1404 1046, 0, 0, 0, 1046, 1047, 0, 1047, 0, 0, 1405 1406 0, 1047, 1048, 0, 1048, 0, 0, 0, 1048, 1049, 1407 0, 1049, 1050, 0, 1050, 0, 0, 0, 1050, 1051, 1408 0, 1051, 0, 0, 0, 1051, 1052, 0, 1052, 0, 1409 0, 0, 1052, 1053, 0, 1053, 0, 0, 0, 1053, 1410 1054, 0, 1054, 0, 0, 0, 1054, 1055, 0, 1055, 1411 0, 0, 0, 1055, 1056, 0, 1056, 0, 0, 0, 1412 1056, 1057, 0, 1057, 0, 0, 0, 1057, 1058, 0, 1413 1058, 0, 0, 0, 1058, 1059, 0, 1059, 0, 0, 1414 0, 1059, 1060, 0, 1060, 0, 0, 0, 1060, 1061, 1415 0, 1061, 0, 0, 0, 1061, 1062, 0, 1062, 0, 1416 1417 0, 0, 1062, 1063, 0, 1063, 0, 0, 0, 1063, 1418 1064, 0, 1064, 0, 0, 0, 1064, 1065, 0, 1065, 1419 0, 0, 0, 1065, 891, 891, 891, 891, 891, 891, 1420 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1421 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1422 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1423 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1424 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1425 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1426 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 1427 1428 891, 891, 891, 891, 891, 891, 891, 891, 891, 891 1310 897, 897, 898, 828, 827, 898, 826, 898, 898, 898, 1311 898, 898, 899, 825, 824, 823, 899, 899, 899, 899, 1312 899, 899, 900, 900, 900, 900, 900, 900, 900, 900, 1313 900, 900, 900, 900, 900, 901, 822, 821, 901, 820, 1314 901, 901, 901, 901, 901, 902, 819, 902, 902, 818, 1315 902, 902, 902, 902, 902, 902, 817, 902, 903, 809, 1316 805, 903, 903, 903, 903, 903, 903, 903, 903, 798, 1317 903, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1318 904, 904, 904, 904, 905, 905, 796, 905, 795, 794, 1319 1320 793, 905, 906, 792, 791, 906, 790, 906, 906, 906, 1321 906, 906, 907, 789, 907, 788, 787, 786, 907, 908, 1322 785, 908, 784, 783, 781, 908, 909, 780, 909, 779, 1323 777, 770, 909, 910, 768, 910, 756, 755, 754, 910, 1324 911, 753, 911, 752, 751, 750, 911, 912, 749, 912, 1325 748, 745, 744, 912, 913, 743, 913, 737, 733, 732, 1326 913, 914, 730, 914, 729, 712, 704, 914, 915, 701, 1327 915, 696, 694, 690, 915, 916, 680, 916, 917, 917, 1328 676, 917, 917, 917, 674, 917, 918, 918, 672, 918, 1329 919, 669, 666, 919, 665, 919, 919, 919, 919, 919, 1330 1331 920, 664, 920, 663, 662, 661, 920, 921, 658, 921, 1332 657, 655, 652, 921, 922, 651, 922, 650, 646, 619, 1333 922, 923, 615, 923, 924, 613, 924, 611, 609, 607, 1334 924, 925, 601, 925, 926, 595, 593, 926, 591, 926, 1335 926, 926, 926, 926, 927, 927, 927, 927, 927, 927, 1336 927, 927, 927, 927, 927, 927, 927, 928, 928, 928, 1337 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 1338 929, 589, 929, 587, 585, 583, 929, 930, 581, 930, 1339 580, 579, 576, 930, 931, 573, 931, 566, 562, 559, 1340 931, 932, 556, 932, 933, 551, 933, 546, 543, 520, 1341 1342 933, 934, 516, 934, 935, 514, 935, 512, 510, 508, 1343 935, 936, 506, 936, 937, 505, 937, 504, 503, 491, 1344 937, 938, 488, 938, 939, 486, 939, 485, 484, 482, 1345 939, 940, 480, 940, 941, 477, 941, 475, 473, 471, 1346 941, 942, 467, 942, 943, 450, 943, 448, 440, 438, 1347 943, 944, 430, 944, 945, 428, 945, 426, 945, 400, 1348 945, 946, 398, 946, 396, 946, 394, 946, 947, 947, 1349 393, 947, 947, 947, 392, 947, 948, 379, 948, 376, 1350 367, 365, 948, 949, 364, 949, 360, 358, 356, 949, 1351 950, 354, 950, 350, 348, 347, 950, 951, 346, 951, 1352 1353 952, 336, 952, 321, 298, 277, 952, 953, 275, 953, 1354 954, 273, 954, 272, 271, 269, 954, 955, 268, 955, 1355 956, 263, 956, 259, 258, 254, 956, 957, 251, 957, 1356 958, 250, 239, 958, 238, 958, 958, 958, 958, 958, 1357 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 1358 959, 959, 959, 960, 231, 960, 230, 227, 217, 960, 1359 961, 215, 961, 962, 214, 962, 213, 207, 206, 962, 1360 963, 204, 963, 964, 199, 964, 178, 149, 147, 964, 1361 965, 146, 965, 966, 140, 966, 138, 136, 128, 966, 1362 967, 125, 967, 968, 124, 968, 120, 101, 98, 968, 1363 1364 969, 95, 969, 970, 93, 970, 86, 72, 70, 970, 1365 971, 66, 971, 972, 36, 972, 33, 18, 11, 972, 1366 973, 4, 973, 3, 0, 0, 973, 974, 0, 974, 1367 975, 0, 975, 0, 0, 0, 975, 976, 0, 976, 1368 977, 0, 977, 0, 977, 0, 977, 978, 0, 978, 1369 0, 0, 0, 978, 979, 0, 979, 0, 0, 0, 1370 979, 980, 0, 980, 981, 0, 981, 0, 0, 0, 1371 981, 982, 0, 982, 983, 0, 983, 0, 0, 0, 1372 983, 984, 0, 984, 985, 0, 985, 0, 0, 0, 1373 985, 986, 0, 986, 987, 0, 987, 0, 0, 0, 1374 1375 987, 988, 0, 988, 989, 0, 989, 0, 0, 0, 1376 989, 990, 0, 990, 991, 0, 0, 991, 0, 991, 1377 991, 991, 991, 991, 992, 992, 992, 992, 992, 992, 1378 992, 992, 992, 992, 992, 992, 992, 993, 0, 993, 1379 0, 0, 0, 993, 994, 0, 994, 995, 0, 995, 1380 0, 0, 0, 995, 996, 0, 996, 997, 0, 997, 1381 0, 0, 0, 997, 998, 0, 998, 999, 0, 999, 1382 0, 0, 0, 999, 1000, 0, 1000, 1001, 0, 1001, 1383 0, 0, 0, 1001, 1002, 0, 1002, 1003, 0, 1003, 1384 0, 0, 0, 1003, 1004, 0, 1004, 1005, 0, 1005, 1385 1386 0, 0, 0, 1005, 1006, 0, 1006, 1007, 0, 1007, 1387 0, 0, 0, 1007, 1008, 0, 1008, 1009, 0, 1009, 1388 0, 0, 0, 1009, 1010, 0, 1010, 0, 0, 0, 1389 1010, 1011, 0, 1011, 1012, 0, 1012, 0, 0, 0, 1390 1012, 1013, 0, 1013, 1014, 0, 1014, 0, 0, 0, 1391 1014, 1015, 0, 1015, 1016, 0, 1016, 0, 0, 0, 1392 1016, 1017, 0, 1017, 1018, 0, 1018, 1019, 0, 1019, 1393 1020, 0, 0, 1020, 0, 1020, 1020, 1020, 1020, 1020, 1394 1021, 0, 1021, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1395 1022, 1022, 1022, 1022, 1022, 1022, 1023, 0, 1023, 0, 1396 1397 0, 0, 1023, 1024, 0, 1024, 1025, 0, 1025, 0, 1398 0, 0, 1025, 1026, 0, 1026, 1027, 0, 1027, 1028, 1399 0, 1028, 1029, 0, 0, 1029, 0, 1029, 1029, 1029, 1400 1029, 1029, 1030, 0, 1030, 1031, 0, 1031, 1032, 0, 1401 1032, 1033, 0, 1033, 1034, 0, 1034, 1035, 0, 1035, 1402 1036, 0, 1036, 1037, 0, 1037, 0, 0, 0, 1037, 1403 1038, 0, 1038, 1039, 0, 1039, 0, 0, 0, 1039, 1404 1040, 0, 1040, 1041, 0, 1041, 1042, 0, 1042, 1043, 1405 0, 1043, 1044, 0, 1044, 0, 0, 0, 1044, 1045, 1406 0, 0, 1045, 0, 1045, 1045, 1045, 1045, 1045, 1046, 1407 1408 0, 1046, 1047, 0, 1047, 1048, 0, 1048, 1049, 0, 1409 1049, 0, 0, 0, 1049, 1050, 0, 1050, 0, 0, 1410 0, 1050, 1051, 0, 1051, 0, 0, 0, 1051, 1052, 1411 0, 1052, 1053, 0, 1053, 0, 0, 0, 1053, 1054, 1412 0, 1054, 0, 0, 0, 1054, 1055, 0, 1055, 0, 1413 0, 0, 1055, 1056, 0, 1056, 0, 0, 0, 1056, 1414 1057, 0, 1057, 0, 0, 0, 1057, 1058, 0, 1058, 1415 0, 0, 0, 1058, 1059, 0, 1059, 0, 0, 0, 1416 1059, 1060, 0, 1060, 0, 0, 0, 1060, 1061, 0, 1417 1061, 0, 0, 0, 1061, 1062, 0, 1062, 0, 0, 1418 1419 0, 1062, 1063, 0, 1063, 0, 0, 0, 1063, 1064, 1420 0, 1064, 0, 0, 0, 1064, 1065, 0, 1065, 0, 1421 0, 0, 1065, 1066, 0, 1066, 0, 0, 0, 1066, 1422 1067, 0, 1067, 0, 0, 0, 1067, 1068, 0, 1068, 1423 0, 0, 0, 1068, 894, 894, 894, 894, 894, 894, 1424 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1425 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1426 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1427 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1428 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1429 1430 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1431 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1432 894, 894, 894, 894, 894, 894, 894, 894, 894, 894 1429 1433 } ; 1430 1434 1431 1435 /* Table of booleans, true if rule could match eol. */ 1432 static yyconst flex_int32_t yy_rule_can_match_eol[18 2] =1436 static yyconst flex_int32_t yy_rule_can_match_eol[184] = 1433 1437 { 0, 1434 1438 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … … 1437 1441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1438 1442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,1440 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1444 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1441 1445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1442 1446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1443 0, 0, };1447 0, 0, 0, 0, }; 1444 1448 1445 1449 static yy_state_type yy_last_accepting_state; … … 1469 1473 * Created On : Sat Sep 22 08:58:10 2001 1470 1474 * Last Modified By : Peter A. Buhr 1471 * Last Modified On : Wed Aug 24 13:27:0420161472 * Update Count : 4 871475 * Last Modified On : Wed Oct 26 17:32:30 2016 1476 * Update Count : 499 1473 1477 */ 1474 1478 #line 20 "lex.ll" … … 1517 1521 1518 1522 // identifier, GCC: $ in identifier 1519 // quoted identifier1520 1523 // attribute identifier, GCC: $ in identifier 1521 1524 // numeric constants, CFA: '_' in constant … … 1532 1535 1533 1536 1534 #line 153 5"Parser/lex.cc"1537 #line 1538 "Parser/lex.cc" 1535 1538 1536 1539 #define INITIAL 0 … … 1724 1727 register int yy_act; 1725 1728 1726 #line 13 9"lex.ll"1729 #line 138 "lex.ll" 1727 1730 1728 1731 /* line directives */ 1729 #line 173 0"Parser/lex.cc"1732 #line 1733 "Parser/lex.cc" 1730 1733 1731 1734 if ( !(yy_init) ) … … 1781 1784 { 1782 1785 yy_current_state = (int) yy_def[yy_current_state]; 1783 if ( yy_current_state >= 89 2)1786 if ( yy_current_state >= 895 ) 1784 1787 yy_c = yy_meta[(unsigned int) yy_c]; 1785 1788 } … … 1787 1790 ++yy_cp; 1788 1791 } 1789 while ( yy_base[yy_current_state] != 28 25 );1792 while ( yy_base[yy_current_state] != 2845 ); 1790 1793 1791 1794 yy_find_action: … … 1824 1827 /* rule 1 can match eol */ 1825 1828 YY_RULE_SETUP 1826 #line 14 1"lex.ll"1829 #line 140 "lex.ll" 1827 1830 { 1828 1831 /* " stop highlighting */ … … 1850 1853 /* rule 2 can match eol */ 1851 1854 YY_RULE_SETUP 1852 #line 16 3"lex.ll"1855 #line 162 "lex.ll" 1853 1856 ; 1854 1857 YY_BREAK … … 1856 1859 case 3: 1857 1860 YY_RULE_SETUP 1858 #line 16 6"lex.ll"1861 #line 165 "lex.ll" 1859 1862 { BEGIN COMMENT; } 1860 1863 YY_BREAK … … 1862 1865 /* rule 4 can match eol */ 1863 1866 YY_RULE_SETUP 1867 #line 166 "lex.ll" 1868 ; 1869 YY_BREAK 1870 case 5: 1871 YY_RULE_SETUP 1864 1872 #line 167 "lex.ll" 1865 ;1866 YY_BREAK1867 case 5:1868 YY_RULE_SETUP1869 #line 168 "lex.ll"1870 1873 { BEGIN 0; } 1871 1874 YY_BREAK … … 1874 1877 /* rule 6 can match eol */ 1875 1878 YY_RULE_SETUP 1876 #line 17 1"lex.ll"1879 #line 170 "lex.ll" 1877 1880 ; 1878 1881 YY_BREAK … … 1880 1883 case 7: 1881 1884 YY_RULE_SETUP 1885 #line 173 "lex.ll" 1886 { WHITE_RETURN(' '); } 1887 YY_BREAK 1888 case 8: 1889 YY_RULE_SETUP 1882 1890 #line 174 "lex.ll" 1883 1891 { WHITE_RETURN(' '); } 1884 1892 YY_BREAK 1885 case 8:1886 YY_RULE_SETUP1887 #line 175 "lex.ll"1888 { WHITE_RETURN(' '); }1889 YY_BREAK1890 1893 case 9: 1891 1894 /* rule 9 can match eol */ 1892 1895 YY_RULE_SETUP 1893 #line 17 6"lex.ll"1896 #line 175 "lex.ll" 1894 1897 { NEWLINE_RETURN(); }