Differences

This shows you the differences between two versions of the page.

Link to this comparison view

alf:teme:tema4_en [2020/04/21 21:51]
alexandru.radovici
alf:teme:tema4_en [2020/04/25 12:15] (current)
alexandru.radovici
Line 56: Line 56:
     symbol_table:​ {...}, // the symbol_table     symbol_table:​ {...}, // the symbol_table
     ast: [...], // the ast with the type for very node that returns a value     ast: [...], // the ast with the type for very node that returns a value
-    ​error_list ​[] // the error list+    ​errors ​[] // the error list
 } }
 </​code>​ </​code>​
Line 298: Line 298:
 { {
     type: //  string with the error type     type: //  string with the error type
-    ​line: // the line number in the source (starting at 1) +    elements: ​
-    ​elements: // items for the error, each type of error has different items+       // items for the error, each type of error has different items 
 +       line: // the line where the error is 
 +    },
     text: // the error text message     text: // the error text message
 } }
 </​code>​ </​code>​
 +
 ==== Error type ==== ==== Error type ====
  
Line 313: Line 316:
 <code javascript>​ <code javascript>​
 { {
-    variable: // variable name+    variable: // variable name,
 } }
 </​code>​ </​code>​
Line 337: Line 340:
 </​code>​ </​code>​
  
-=== STRUCT_ELEMENT_ALREADY_DEFINED ​===+=== STRUCT_PROPERTY_ALREADY_DEFINED ​===
 The error occurs when a struct element definition is repeated. The error occurs when a struct element definition is repeated.
  
 == Elements == == Elements ==
 { {
-    ​struct: // struct type name +    ​type: // struct type title 
-    ​element: // element name+    ​title: // property title
 } }
  
Line 352: Line 355:
 <code javascript>​ <code javascript>​
 { {
-    ​vector: // array type name +    ​array: // array type name 
-    ​low_index: // the lower index value +    ​length: // the negative length
-    high_index: // the higher index value+
 } }
 </​code>​ </​code>​
Line 367: Line 369:
     variable: // the name of the variable with the unresolved type     variable: // the name of the variable with the unresolved type
 } }
-// struct ​element+// struct ​property
 { {
     struct: // name of struct type     struct: // name of struct type
-    ​element: // name of struct element with the unresolved type+    ​property: // name of struct element with the unresolved type
 } }
  
 </​code>​ </​code>​
  
-=== UNDEFINED_MESSAGE ​=== +=== UNDEFINED_FUNCTION ​=== 
-The error occurs when a function call is made to a function that is not defned.+The error occurs when a function call is made to a function that is not defined.
  
 == Elements == == Elements ==
 <code javascript>​ <code javascript>​
 { {
-   id: // message name+   title: // function title
 } }
 </​code>​ </​code>​
Line 391: Line 393:
 <code javascript>​ <code javascript>​
 { {
-   ​variable:​ // variable ​name+   ​variable:​ // variable ​title
 } }
 </​code>​ </​code>​
Line 400: Line 402:
 == Elements == == Elements ==
 { {
-    ​variable: // the variable that has that type +    ​value: // the type that is undefined
-    type: // the type that is undefined+
 } }
  
Line 410: Line 411:
 <code javascript>​ <code javascript>​
 { {
-   struct: // struct ​name +   type: // struct ​title 
-   property: // element name+   title: // property title
 } }
 </​code>​ </​code>​
Line 435: Line 436:
 </​code>​ </​code>​
 === ARRAY_INDEX_TYPE === === ARRAY_INDEX_TYPE ===
-The error occurs when an index for an array is not a number or symbol+The error occurs when an index for an array is not an int
  
 == Elements == == Elements ==
 <code javascript>​ <code javascript>​
 { {
-   vector: // array type +   type: // the index type
-   index: // supplied ​index type+
 } }
 </​code>​ </​code>​
Line 476: Line 476:
     op: // if, while, repeat     op: // if, while, repeat
 } }
-// for+// attribution (including ​for variable)
 { {
-    ​exp: // expression ​type +    ​to: // to type, 
-    op: "for+    op: "<-", 
-    ​element: // variable, ​from, to or step+    ​from: // from type
 } }
-// value_of_function+// return
 { {
-    op: "value"+    op: "return"
     to: // return type     to: // return type
     from: // provided type     from: // provided type
 } }
-// is+// iteration (for i in exp go)
 { {
-    op: "is+    op: "iteration
-    ​to: // to type +    ​value: // the exp type
-    from: // from type+
 } }
-// struct element type is undefined+// typecast
 { {
-    ​struct: // struct ​type, +    ​op: "​typecast",​ 
-    ​element: // name of struct element+    to: // to type, 
 +    ​from: // from type
 } }
-// variable type is undefined 
-{ 
-    variable: // name of the variable 
-} 
-</​code>​ 
  
 === LEXICAL === === LEXICAL ===
alf/teme/tema4_en.1587495115.txt.gz · Last modified: 2020/04/21 21:51 by alexandru.radovici
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0