| 
									
										
										
										
											2024-07-09 23:44:24 +09:00
										 |  |  | defclass A [ a ] { | 
					
						
							| 
									
										
										
										
											2024-02-03 18:50:10 +09:00
										 |  |  | 	defun :* init1() { | 
					
						
							| 
									
										
										
										
											2023-11-27 18:25:27 +09:00
										 |  |  | 		| b | | 
					
						
							|  |  |  | 		set b (+ 1 2); | 
					
						
							|  |  |  | 		set a b; | 
					
						
							|  |  |  | 		printf "init to %d\n" a; | 
					
						
							|  |  |  | 		return self; | 
					
						
							|  |  |  | 	}; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-27 00:08:59 +09:00
										 |  |  | 	{ | 
					
						
							|  |  |  | 		## this must not be allowed at this level. if it's allowed, | 
					
						
							|  |  |  | 		## it should be at the top-level which is above the class level. this is confusing. | 
					
						
							| 
									
										
										
										
											2023-11-27 18:25:27 +09:00
										 |  |  | 		| j | ##ERROR: syntax error - variable declaration disallowed in class init scope | 
					
						
							| 
									
										
										
										
											2023-11-27 00:08:59 +09:00
										 |  |  | 		set j 20; | 
					
						
							|  |  |  | 		printf ">>> %d\n" j; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-03 18:50:10 +09:00
										 |  |  | 	defun :* init2() { | 
					
						
							| 
									
										
										
										
											2023-11-27 18:25:27 +09:00
										 |  |  | 		| b | | 
					
						
							|  |  |  | 		set b (+ 10 20); | 
					
						
							|  |  |  | 		set a b; | 
					
						
							|  |  |  | 		printf "init to %d\n" a; | 
					
						
							| 
									
										
										
										
											2023-11-27 00:08:59 +09:00
										 |  |  | 		return self; | 
					
						
							|  |  |  | 	}; | 
					
						
							|  |  |  | }; | 
					
						
							| 
									
										
										
										
											2024-05-26 23:18:26 +09:00
										 |  |  | 
 | 
					
						
							|  |  |  | --- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | defun String length() { ##ERROR: syntax error - no argument list | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2024-07-09 23:44:24 +09:00
										 |  |  | 
 | 
					
						
							|  |  |  | --- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-13 17:40:27 +09:00
										 |  |  | class A [ 10 ] { ##ERROR: syntax error - invalid name - not symbol in tuple - 10 | 
					
						
							| 
									
										
										
										
											2024-07-09 23:44:24 +09:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | --- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class A [ a := 20 ] { ##ERROR: syntax error - := disallowed | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | --- | 
					
						
							|  |  |  | class A [ [ [a] ] ] { ##ERROR: syntax error - not variable name | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | --- | 
					
						
							|  |  |  | class A [ a + ] { ##ERROR: syntax error - prohibited binary operator - + | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-13 17:40:27 +09:00
										 |  |  | --- | 
					
						
							| 
									
										
										
										
											2024-07-15 01:02:07 +09:00
										 |  |  | class A [ + ] { ##ERROR: syntax error - invalid name - not symbol in tuple - + | 
					
						
							| 
									
										
										
										
											2024-07-13 17:40:27 +09:00
										 |  |  | } |