More functional Makefile.
[Jack-Compiler.git] / ERRORS
bloba417cac19dac1a974e1d9b7a560c556c85818d6d
1 This is a complete and detailed list of errors for the Jack Compiler.
3 It should provide assistance to the user in the correct and efficient use of the software.
5 The errors are listed in order. Each error entry contains a detailed explanation of the error as well as optional tips for reducing or eliminating its occurrence.
7 0: Unit Testing Failed.
8         All unit test must pass for compiler software to be considered valid.
10 1: No Input Files.
11         Compiler does not have a file to compile.
12         Retry command with a filename as an argument.
14 2: Too Many Files Listed.
15         Compiler may only work on one file at a time in this version.
16         Retry command with only one argument.
18 3: Cannot Open Input (Source) File.
19         There are several factors that can cause this error:
20                 A. File does not exist on system.
21                 B. Your account does not have permission to open file.
22                 C. File locked by either the operating system or another program.
24 4: Filename Extension Not Correct.
25         Compiler only accepts file extension "jack".
26         File extension must be in lower case.
28 5: Input File Has No Extension.
29         Input filename does not include a period.
30         Example:  filename.jack
32 6: Cannot Open Output (Object) File.
33         There are several factors that can cause this error:
34                 A. File does not exist on system.
35                 B. Your account does not have permission to open file.
36                 C. File locked by either the operating system or another program.
38 7: Cannot Allocate Memory For Source.
39         Operating system could not allocate enough free memory for source file.
41 8: Incorrect Token Found: Must be 'constructor', 'function', or 'method'.
42         Parser required one of these keywords at this location.
43         Could be caused by missing token or spelling error of token.
44         
45 9: Could Not Complete Parse Tree of Subroutine. Incomplete Program.
46         Parser found beginning of subroutine but could not complete construct
47         before running out of source code.
49 10: Incorrect Token Type. Looking for Keyword or Identifier.
50         Token at this location is of an incorrect type. At this location only a keyword or
51         identifier is allowed.
53 11: Name of Function Must be an Identifier.
54         Token should be the name of this function. At this location another type of
55         token was found.
57 12: Parameter List for Function Missing.
58         Beginning parenthesis for the parameter list is missing from source.
60 13: Could Not Complete Parameter List for Function.
61         Found beginning of parameter list, but could not find the corresponding parenthesis.
63 14: Incorrect Token Type in Parameter List. Looking for Datatype name.
64         Acceptable datatypes are 'int', 'char' and 'boolean'.
66 15: Incorrect Token Type in Parameter List. Looking for Variable Identifier.
67         Proper identifiers must not start with a symbol or a keyword.
69 16: Incorrect Token Type in Parameter List. Looking for ',' or ')'.
71 17. Could Not Complete Variable List of Subroutine. Incomplete Program.
73 18: Improperly Terminated Variable Declaration.
74         Datatype listed in declaration is not valid. Acceptable datatypes are 'int', 'char',
75         'boolean' and 'Array'.
77 20: Could Not Complete Let Statement. Incomplete Program.
78         Found beginning of let statement without, but could not find identifier or action.
80 24: Could Not Complete Expression List. Incomplete Program.
82 25. Could Not Complete Term. Incomplete Program.
84 26. Improperly Terminated Array Expression.  Symbol ']' Required at this Location.
86 27. Improperly Terminated Subtoutine Expression. Symbol ')' Required at this Location.
87         Subroutine called but was not terminated properly. End of subroutine paramater list could not
88         be determined.
90 28. Improperly Terminated Expression. Subroutine Name Required.
92 29. Incorrect Token Type.
94 30. Subroutine Name Must Be Listed Here.
96 31. Could Not Find Identifier At This Location.
98 32. Could Not Find '=' Symbol At This Location.
100 33. Could Not Find ';' Symbol At This Location.
102 34. Could Not Parse Expression. Incomplete Program.
104 35. Could Not Find Class Name or Subroutine Name at This Location.
105         Subroutine calls must begin with either a Class name or a Subroutine name.
107 36. Could Not Complete Subroutine Call. Incomplete Program.
109 37. Could Not Find Method Name or Subroutine Name at This Location.
111 38. Could Not Find Symbol ')' At This Location.
113 39. Could Not Find Symbol '(' At This Location.
115 40. Incomplete Class Declaration.
117 41. Token Must be Data Type.
119 42. Token Must be Variable Name.
121 43. Incorrect Token Found: Must be 'class'.
123 44. Could Not Find Class Name or Subroutine Name at This Location.
125 45. Could Not Find '{' Symbol At This Location.
127 46. Could Not Find '}' Symbol At This Location.
129 47 Could Not Complete While Statement. Incomplete Program.