SYNTAX ERROR

From APL Wiki
Jump to navigation Jump to search

A SYNTAX ERROR is an error message which indicates that a rule of APL syntax was violated. A SYNTAX ERROR may indicate an ill-formed expression which violates APL's grammar:

      (
SYNTAX ERROR
      (
      

      'Hello world 
SYNTAX ERROR: Invalid token
      'Hello world
      

However, a SYNTAX ERROR may also indicate a problem not with the sequence of tokens in a statement, but with their meaning. For example, below an error results when a function is called with invalid valence: here, a monadic function with two arguments.

      fn  +
      2 fn 3
5
      fn  +\  ⍝ A strictly monadic function
      2 fn 3
SYNTAX ERROR: The function does not take a left argument
      2 fn 3
        

Depending on the value of fn, the same statement may or may not be considered invalid syntax. This is to be expected, since APL does not have a context-free grammar and needs to know the type of each variable to parse a statement.


APL features [edit]
Built-ins Primitive functionPrimitive operatorQuad name
Array model ShapeRankDepthBoundIndexAxisRavelRavel orderElementScalarVectorMatrixSimple scalarSimple arrayNested arrayBoxCellMajor cellSubarrayEmpty arrayPrototype
Concepts and paradigms Leading axis theoryScalar extensionConformabilityScalar functionPervasionGlyphIdentity elementTotal array ordering
Errors LIMIT ERRORRANK ERRORSYNTAX ERROR