! VAX SCAN Token and Placeholder Definitions ! ! ! COPYRIGHT (c) 1986 BY ! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. ! ALL RIGHTS RESERVED ! ! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED ! ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE ! INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER ! COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY ! OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY ! TRANSFERRED. ! ! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE ! AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT ! CORPORATION. ! ! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS ! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. ! ! !++ ! ! FACILITY: ! ! VAX SCAN Front End. ! ! ABSTRACT: ! ! This file contains the necessary tokens and placeholders to define ! the VAX SCAN language. ! ! ENVIRONMENT: ! ! VAX User Mode. ! ! AUTHOR: T.C.Gorton, CREATION DATE: 18-February-1985 ! ! MODIFIED BY: ! ! T.C.Gorton, 18-February-1985 ! 001-000 Initial creation of module. ! 011-001 Add PRUNE instruction. SED 04-Aug-86 ! 011-002 Update version. MIZ 26-Sep-86 ! 011-003 Fix Prune to be mandatory and have list capabilities. SED 16-Oct-86 ! 011-004 Use null lines instead of single-space lines. MIZ 29-Oct-86 ! 012-005 Remove semicolons from expansions of COLUMN,ANY,NOTANY ! Version SLW 08-Dec-88 ! 012-006 Update the SCAN identification number to V1.2 ! (037 SCAN M) WSM 20-Jan-89 ! !-- ! DEFINE LANGUAGE SCAN - /CAPABILITIES = DIAGNOSTICS - /COMPILE_COMMAND="SCAN " - /FILE_TYPES=(.SCN) - /IDENTIFIER_CHARACTERS= - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$_" - /INITIAL_STRING="{-scan_module-}" - /OPT=("[-","-]") - /OPTL=("[-","-]...") - /REQ=("{-","-}") - /REQL=("{-","-}...") - /TAB_INCREMENT=4 - /VERSION = "V1.2" - /topic="SCAN " SET LANGUAGE SCAN ! ***************************************************** ! ******** NOTE ******** ! Only characters listed as identifier characters ! can be used to name tokens and placeholders. ! ***************************************************** ! !======================================================================== ! ! define the version of the SCAN LSEDIT Definition File !DEFINE token $version /PLACEHOLDER = $version !DEFINE PLACEHOLDER $version- ! /TYPE = terminal ! "You are using Version V1.2 of the SCAN LSEDIT" ! "Definitions File." !END DEFINE ! !------------------------------------------------------------------------------- ! ! Module declarations. ! DEFINE PLACEHOLDER "scan_module" /TYPE=NONTERMINAL /DUPLICATION=VERTICAL ! /TOPIC_STRING = "Language_topics module" "MODULE {-module_name-} [-IDENT '{-module_ident-}'-];" "[-module_level_comments-]" "" " [-module_statement-]..." "" "END MODULE /* {-module_name-} */;" end define define placeholder "module_name" /type=terminal /autofill "the module name" end define define placeholder "IDENT '{-module_ident-}'" /type=nonterminal "IDENT '{-module_ident-}'" end define define placeholder "module_ident" /type=terminal "a sequence of characters identifying the module," "for example V1.00" end define define token module_block /placeholder=scan_module define token module_statement /placeholder=module_statement define placeholder "module_statement" /type=menu /duplication=vertical "declarative_statement" /placeholder "directive_statement" /placeholder "comment_line" /placeholder end define define placeholder "declarative_statement" /type=menu /duplication=vertical - /topic_string = "Language_topics declarative" constant /token declare /token external_procedure /token forward_procedure /token group /token macro /token procedure /token set /token token /token type /token end define define token lf /placeholder=lf define placeholder "lf" " " end define !------------------------------------------------------------------------------- ! ! Source line comments. ! define token comment_line /placeholder=comment_line define placeholder "comment_line" "!++" "{-embedded_comments-}..." "!--" end define define placeholder "embedded_comments"- /duplication=vertical "! {-code_commentary-}" end define define placeholder "tbs"/type=terminal "To be supplied" end define define placeholder "code_commentary" /type = terminal "Any combination of ASCII chars and symbols, excluding the" "comment end markers and nonprinting control characters" end define !------------------------------------------------------------------------------- ! ! Module-level comments. ! DEFINE PLACEHOLDER "module_level_comments" "LIST TITLE {-ct_string_expression-};" "!++ "!" "! ABSTRACT:" "!" "! [-tbs-]" "!" "! AUTHORS:" "!" "! [-tbs-]" "!" "! CREATION DATE: [-tbs-]" "!" "! MODIFICATION HISTORY:" "!" "! [-tbs-]" "!--" END DEFINE !------------------------------------------------------------------------------- ! ! Procedure-level comments. ! DEFINE PLACEHOLDER "procedure_level_comments" "!++" "! FUNCTIONAL DESCRIPTION:" "!" "! [-tbs-]" "!" "! FORMAL PARAMETERS:" "!" "! [-tbs-]" "!" "! IMPLICIT INPUTS:" "!" "! [-tbs-]" "!" "! IMPLICIT OUTPUTS:" "!" "! [-tbs-]" "!" "! SIDE EFFECTS:" "!" "! [-tbs-]" "!--" END DEFINE !------------------------------------------------------------------------------- ! ! Procedure title. ! DEFINE PLACEHOLDER "procedure_title" "" " " "LIST TITLE {-ct_string_expression-};" END DEFINE !------------------------------------------------------------------------------- ! ! Macro-level comments. ! DEFINE PLACEHOLDER "macro_level_comments" "!++" "! FUNCTIONAL DESCRIPTION:" "!" "! [-tbs-]" "!" "! PICTURE VARIABLES:" "!" "! [-tbs-]" "!" "! IMPLICIT INPUTS:" "!" "! [-tbs-]" "!" "! IMPLICIT OUTPUTS:" "!" "! [-tbs-]" "!" "! SIDE EFFECTS:" "!" "! [-tbs-]" "!--" END DEFINE !------------------------------------------------------------------------------- ! ! Macro title. ! DEFINE PLACEHOLDER "macro_title" "" " " "LIST TITLE {-ct_string_expression-};" END DEFINE !------------------------------------------------------------------------------- ! ! Macro declarations. ! define token macro /topic_string = "Language macro" "[-macro_title-]" "" "MACRO {-macro_name-} {-req_attribute-} [-EXPOSE-] { [-picture-] };" "[-macro_level_comments-]" "" " [-macro_body_statement-]..." "" "END MACRO /* {-macro_name-} */;" end define define placeholder "macro_name" /type=terminal /autofill "the macro name" end define define placeholder "req_attribute" /type=menu - /topic_string = "Language macro attribute" syntax /token trigger /token end define define placeholder "EXPOSE" /type=nonterminal - /topic_string= "Language macro attribute" "EXPOSE" end define define placeholder "picture" /type=terminal - /topic_string = "Language macro picture" "a picture specification" end define define placeholder "macro_body_statement" /type=menu /duplication=vertical "declarative_statement" /placeholder "directive_statement" /placeholder "executable_statement" /placeholder "comment_line" /placeholder end define !------------------------------------------------------------------------------- ! ! Procedure declarations. ! define token procedure /topic_string = "language procedure" "[-procedure_title-]" "" "PROCEDURE {-procedure_name-} [-MAIN-] [-parameters-] [-OF {-type-}-];" "[-procedure_level_comments-]" "" " [-procedure_body_statement-]..." "" "END PROCEDURE /* {-procedure_name-} */;" end define define token forward_procedure /topic_string = "Language forward" "FORWARD PROCEDURE {-procedure_name-} [-dummy_params-] [-OF {-type-}-];" end define define token external_procedure - /topic_string = "Language external_procedure" "EXTERNAL PROCEDURE {-procedure_name-} [-dummy_params-] [-OF {-type-}-];" end define define placeholder "procedure_name" /type=terminal /autofill "the procedure name" end define define placeholder "MAIN" /type=nonterminal - /topic_string = "Language_topics procedure attributes" "MAIN" end define define placeholder "parameters" /type=nonterminal "( [-parameter-]... )" end define define placeholder "parameter" /type=nonterminal /duplication=vertical /separator="," - /topic_string = "Language_topics procedure parameter" "{-parameter_name-} : [-mechanism-] {-type-}" end define define placeholder "dummy_params" /type=nonterminal "( [-dummy_param-]... )" end define define placeholder "dummy_param" /type=nonterminal /duplication=vertical /separator="," "[-mechanism-] {-type-}" end define define placeholder "mechanism" /type=menu - /topic_string = "Language_topics procedure mechanism" descriptor /token reference /token value /token end define define placeholder "OF {-type-}" /type=nonterminal "OF {-type-}" end define define placeholder "procedure_body_statement" /type=menu /duplication=vertical - /Topic_string = "Language_topics procedure" "declarative_statement" /placeholder "directive_statement" /placeholder "executable_statement" /placeholder "comment_line" /placeholder end define !------------------------------------------------------------------------------- ! ! Directive statements. ! define placeholder "directive_statement" /type=menu - /Topic_string = "Language_topics directive" include /token list /token redefine /token end define define token list /Topic_string = "Language_topics directive list" "LIST {-list_option-};" end define define placeholder "list_option" /type=menu - /Topic_string = "Language_topics directive list" "OFF" "ON" "PAGE" "TITLE '{-title_string-}'" end define define placeholder "title_string" /type=terminal "the new page title" end define define token include /Topic_string = "Language_topics directive include" "INCLUDE FILE {-ct_vms_file_spec-};" end define define placeholder "ct_vms_file_spec" /type=terminal "A string expression known at compile time" end define define placeholder "vms_file_spec" /type=terminal "A string expression" end define define token redefine /Topic_string = "Language_topics directive redefine" "REDEFINE {-special_SCAN_character-} = {-ct_string_expression-};" end define define placeholder "special_SCAN_character" /type=menu ! /Topic_string = "Language_topics special_scan_char" "S'EOL'" "S'EOS'" "S'SOS'" end define !------------------------------------------------------------------------------- ! ! Declarative statements. ! define token constant /Topic_string = "Language_topics constant" "CONSTANT {-constant_name-} {-constant_spec-};" end define define placeholder "constant_name" /type=terminal "an identifier" end define define placeholder "constant_spec" /type=menu "= {-ct_expression-}" external_constant /token global_constant /token end define define token external_constant /Topic_string = "Language_topics constant" "EXTERNAL {-external_constant_type-}" end define define token global_constant /Topic_string = "Language_topics constant" "GLOBAL = {-global_constant-}" end define define token type /Topic_string = "Language_topics type" "TYPE {-type_name-} : {-type-};" end define define token declare /Topic_string = "Language_topics declare" "DECLARE {-name_list-}... : [-storage_attribute-] {-type-};" end define define placeholder "name_list" /type=nonterminal /separator=", " /duplication=horizontal "{-variable_name-}" end define define placeholder "storage_attribute" /type=menu - /Topic_string = "Language_topics declare storage_attr" automatic /token common /token external /token global /token static /token end define define placeholder "type" /type=menu - /Topic_string = "Language_topics data_type" boolean_type /token dynamic_string_type /token file_type /token fill_type /token fixed_string_type /token integer_type /token pointer_type /token record_type /token tree_type /token treeptr_type /token "type_name" /placeholder overlay_type /token varying_string_type /token end define define token boolean_type /topic="language data boolean" "BOOLEAN" end define define token file_type /topic="language data file" "FILE" end define define token fill_type /Topic_string = "Language_topics data_type fill" "FILL ({-ct_integer_expression-})" end define define token varying_string_type /Topic_string = "Language_topics data_type string" "VARYING STRING ({-ct_integer_expression-})" end define define token fixed_string_type /Topic_string = "Language_topics data_type string" "FIXED STRING ({-ct_integer_expression-})" end define define token dynamic_string_type /Topic_string = "Language_topics data_type string" "DYNAMIC STRING" end define define token pointer_type /Topic_string = "Language_topics data_type pointer" "POINTER TO {-type-}" end define define token treeptr_type /Topic_string = "Language_topics data_type treeptr" "TREEPTR({-tree_subscript_type-}) TO {-type-}" end define define token tree_type /Topic_string = "Language_topics data_type tree" "TREE ({-tree_subscript_type-}...) OF {-type-}" end define define token overlay_type /Topic_string = "Language_topics data_type overlay" "OVERLAY" " {-overlay_field-}..." "END OVERLAY" end define define placeholder "overlay_field" /type=nonterminal /duplication=vertical "{-component_name-} : {-component_type-}," end define define token record_type /Topic_string = "Language_topics data_type record" "RECORD" " {-record_field-}..." "END RECORD" end define define placeholder "record_field" /type=nonterminal /duplication=vertical "{-component_name-} : {-component_type-}," end define define placeholder "component_type" /type=menu - /Topic_string = "Language_topics data_type record" boolean_type /token fill_type /token fixed_string_type /token integer_type /token pointer_type /token record_type /token treeptr_type /token "type_name" /placeholder overlay_type /token varying_string_type /token end define !------------------------------------------------------------------------------- ! ! Picture elements. ! define token set /Topic_string = "Language_topics set" "SET {-set_name-} ( {-set_expression-} );" end define define placeholder "set_expression" /type=terminal - /topic_string = "Language set expression" "a set expression" end define define token token /Topic_string = "Language_topics Token" "TOKEN {-token_name-} [-token_attr-]... { {-token_expression-} };" end define define placeholder "token_attr" /type=menu /duplication=horizontal /separator=" " - /Topic_string = "Language_topics token" alias /token caseless /token ignore /token end define define token alias "ALIAS '{-alias_name-}'" end define define placeholder "alias_name" /type=terminal "a sequence of characters identifying the alias" end define define placeholder "token_expression" /type=terminal - /topic_string = "Language token expression" "a token expression" end define define token group /Topic_string = "Language_topics group" "GROUP {-group_name-} ( {-group_expression-} );" end define define placeholder "group_expression" /type=terminal - /topic_string = "Language group expression" "a group expression" end define !------------------------------------------------------------------------------- ! ! Executable statements. ! define placeholder "executable_statement" /type=menu /duplication=vertical "{-label_name-}:" "{-variable_name-} = {-expression-};" allocate /token answer /token call /token case /token close /token fail /token for /token free /token goto /token if /token open /token prune /token read /token return /token start_scan /token stop_scan /token while /token write /token end define define token call /topic="Language call" "CALL {-procedure_name-} [-argument_list-];" end define define placeholder "argument_list" "( [-expression-]... )" end define define token goto /topic="Language goto" "GOTO {-label_name-};" end define define token case /topic="Language case" "CASE {-index-} FROM {-low_limit-} TO {-high_limit-};" " {-case_item-}..." "END CASE;" end define define placeholder "index" /placeholder=integer_expression define placeholder "low_limit" /placeholder=ct_integer_expression define placeholder "high_limit" /placeholder=ct_integer_expression define placeholder "case_item" /type=nonterminal /duplication=vertical "[ {-case_value-}... ] :" " [-executable_statement-]..." end define define placeholder "case_value" /type=menu /duplication=horizontal /separator=", " "{-ct_integer_expression-}" "{-ct_integer_expression-} .. {-ct_integer_expression-}" inrange /token outrange /token end define define token if /topic="Language if" "IF {-boolean_expression-} " "THEN " [-executable_statement-]..." "[-else_part-]" "END IF;" end define define placeholder "else_part" /type=nonterminal "ELSE" " [-executable_statement-]..." end define define token while /topic="Language while" "WHILE {-boolean_expression-};" " [-executable_statement-]..." "END WHILE;" end define define token for /topic="Language for" "FOR {-index_variable-} = {-initial_value-} TO {-final_value-} [-STEP {-step_value-}-]; " [-executable_statement-]..." "END FOR;" end define define placeholder "STEP {-step_value-}" /type=nonterminal "STEP {-step_value-}" end define define placeholder "index_variable" /placeholder=identifier define placeholder "initial_value" /placeholder=integer_expression define placeholder "final_value" /placeholder=integer_expression define placeholder "step_value" /placeholder=integer_expression define token prune /topic="Language prune" "PRUNE {-tree_reference-}...;" end define define token return /topic="Language return" "RETURN [-return_value-];" end define define placeholder "return_value" /placeholder=expression define token start_scan /topic="Language start_scan" "START SCAN" " [-scan_option-]...;" end define define placeholder "scan_option" /type=menu /duplication=vertical "INPUT FILE {-vms_file_spec-}" "INPUT STRING {-string_expression-}" "INPUT PROCEDURE {-procedure_name-}" "INPUT WIDTH {-integer_expression-}" "OUTPUT FILE {-vms_file_spec-}" "OUTPUT STRING {-variable_name-}" "OUTPUT PROCEDURE {-procedure_name-}" "OUTPUT WIDTH {-integer_expression-}" "DATA STACK {-integer_expression-} end define define placeholder "io_direction" /type=menu input /token output /token end define define placeholder "file_name" /placeholder=string_expression define token stop_scan /topic="Language stop_scan" "STOP SCAN;" end define define token allocate /topic="Language allocate" "ALLOCATE {-pointer_variable-};" end define define token free /topic="Language free" "FREE {-pointer_variable-};" end define define token answer /topic="Language answer" "ANSWER [-TRIGGER-] {-replacement_text-}...;" end define define placeholder "trigger" /type=nonterminal "TRIGGER" end define define placeholder "replacement_text" /type=nonterminal /duplication=horizontal /separator=", " "{-string_expression-}" end define define token fail /topic="Language fail" "FAIL" end define define token open /topic="Language open" "OPEN FILE( {-file_variable-} ) AS {-file_name-} FOR {-io_direction-};" end define define token close /topic="Language close" "CLOSE FILE( {-file_variable-} );" end define define token read /topic="Language read" "READ [-FILE( {-file_variable-} )-] [-prompt-] {-variable_name-};" end define define placeholder "FILE( {-file_variable-} )" /type=nonterminal "FILE( {-file_variable-} )" end define define placeholder "prompt" /type=nonterminal "PROMPT ({-prompt_string-})" end define define token write /topic="Language write" "WRITE [-FILE( {-file_variable-} )-] {-expression-}...;" end define !------------------------------------------------------------------------------- ! ! General purpose definitions ! define placeholder "external_constant_type" /type=menu boolean_type /token integer_type /token end define define placeholder "tree_subscript_type" /type=menu /duplication=horizontal /separator=", " integer_type /token string /token end define define placeholder "identifier" /type=terminal "Combination of letters, digits, dollar signs, and underscores;" "First character must be a letter; Cannot exceed 31 chars in length." end define define placeholder "prompt_string" /placeholder=string_expression define placeholder "type_name" /placeholder=identifier define placeholder "file_variable" /placeholder=identifier define placeholder "pointer_variable" /placeholder=identifier define placeholder "variable_name" /placeholder=identifier define placeholder "component_name" /placeholder=identifier define placeholder "set_name" /placeholder=identifier define placeholder "token_name" /placeholder=identifier define placeholder "group_name" /placeholder=identifier define placeholder "parameter_name" /placeholder=identifier define placeholder "label_name" /placeholder=identifier define placeholder "file" /placeholder=identifier define placeholder "expression" /type=terminal /duplication=horizontal - /separator=", "/topic_string = "Language expression" "an expression" end define define placeholder "integer_expression" /type=terminal "an integer expression" end define define placeholder "string_expression" /type=terminal - /duplication=horizontal /separator="," "a string expression" end define define placeholder "boolean_expression" /type=terminal "a boolean expression" end define define placeholder "ct_expression" /type=terminal "an expression whose value is known at compile time" end define define placeholder "ct_string_expression" /type=terminal "a string expression whose value is known at compile time" end define define placeholder "ct_integer_expression" /type=terminal "an integer expression whose value is known at compile time" end define define placeholder "global_constant" /type=terminal "an integer or boolean expression whose value is known at compile time" end define define placeholder "tree_reference" /type=terminal - /duplication=horizontal /separator="," "an expression which specifies a node in a tree" end define define placeholder "search_expression" /placeholder=string_expression define placeholder "locate_expression" /placeholder=string_expression define placeholder "member_expression" /placeholder=string_expression define placeholder "trim_expression" /placeholder=string_expression !------------------------------------------------------------------------------- ! ! Built_in Tokens. ! define token built_in_token /placeholder=built_in_token define placeholder "built_in_token" - /topic_string = "Language_topics macro built-in-token" - /description = "Scan built-in tokens" - /type=menu any_token /token notany_token /token column_token /token skip_token /token find_token /token sequence_token /token instance_token /token end define define token any_token /description="Match any character in specified string expression."- /topic_string = "Language_topics macro built-in-token any" "ANY( {-string_expression-} )" end define define token notany_token /description="Match any character NOT in specified string expression."- /topic_string = "Language_topics macro built-in-token notany" "NOTANY( {-string_expression-} )" end define define token column_token /description="Match up to, but not including specified column number."- /topic_string = "Language_topics macro built-in-token column" "COLUMN( {-integer_expression-} )" end define define token skip_token /description="Match next specified number of characters in input stream."- /topic_string = "Language_topics macro built-in-token skip" "SKIP( {-integer_expression-} )" end define define token find_token /description="Match specified string expression in input stream."- /topic_string = "Language_topics macro built-in-token find" "FIND( {-string_expression-} [-caseless_flag-] )" end define define token sequence_token /description="Match next sequence of characters in input stream against string expression."- /topic_string = "Language_topics macro built-in-token sequence" "SEQUENCE( {-string_expression-} [-caseless_flag-] )" end define define token instance_token /description="Match next token in input stream against string expression."- /topic_string = "Language_topics macro built-in-token instance" "INSTANCE( {-string_expression-} [-caseless_flag-] )" end define define placeholder "caseless_flag" ",{-boolean_expression-}" end define !------------------------------------------------------------------------------- ! ! Built_in functions. ! define token built_in_functions /placeholder=built_in_functions define placeholder "built_in_functions" - /topic_string = "Language_topics built-in" - /description = "Scan built-in functions" - /type=menu "conversion_functions" /token "mathematical_functions" /token "miscellaneous_functions" /token "string_functions" /token "tree_functions" /token end define define token tree_functions/placeholder=tree_functions define placeholder "tree_functions" - /topic="language built-in tree_traversing" - /description="EXISTS,FIRST,LAST,NEXT,PRIOR,SUBSCRIPT,TREEPTR,VALUE,VALUEPTR" - /type=menu exists_bif /token first_bif /token last_bif /token next_bif /token prior_bif /token subscript_bif /token treeptr_bif /token value_bif /token valueptr_bif /token end define define token string_functions/placeholder=string_functions define placeholder "string_functions" - /topic="language built-in string_functions" - /description ="INDEX,LENGTH,LOWER,MEMBER,TRIM,UPPER" - /type=menu index_bif /token length_bif /token lower_bif /token member_bif /token trim_bif /token upper_bif /token end define define token conversion_functions/placeholder=conversion_functions define placeholder "conversion_functions" - /topic="language built-in conversion_functions" - /description="INTEGER,STRING,POINTER" - /type=menu integer_bif /token pointer_bif /token string_bif /token end define define token mathematical_functions/placeholder=mathematical_functions define placeholder "mathematical_functions" - /topic="language built-in math_functions" - /description="ABS,MAX,MIN,MOD" - /type=menu abs_bif /token max_bif /token min_bif /token mod_bif /token end define define token miscellaneous_functions/placeholder=misc_functions define placeholder "misc_functions" - /topic="language built-in misc_functions" - /description="ENDFILE,TIME" - /type=menu endfile_bif /token time_bif /token end define define token treeptr_bif- /topic="language built-in treeptr" - /description="Returns a treeptr for a node in a tree." "TREEPTR( {-tree_reference-} )" end define define token exists_bif - /topic="language built-in exists" - /description="Tests if a node exists in a tree." "EXISTS( {-tree_reference-} )" end define define token first_bif - /topic="language built-in FIRST" - /description="Find the first node in a tree." "FIRST( {-tree_reference-} )" end define define token last_bif - /topic="language built-in LAST" - /description="Find the last node in a tree." "LAST( {-tree_reference-} )" end define define token next_bif - /topic="language built-in NEXT" - /description="Find the next node in a tree." "NEXT( {-tree_reference-} )" end define define token prior_bif - /topic="language built-in PRIOR" - /description="Find the prior node in a tree." "PRIOR( {-tree_reference-} )" end define define token value_bif - /topic="language built-in VALUE" - /description="Return the value of a leaf node in a tree." "VALUE( {-tree_reference-} )" end define define token valueptr_bif - /topic="language built-in VALUEPTR" - /description="Return a pointer to the value of a leaf node in a tree." "VALUEPTR( {-tree_reference-} )" end define define token subscript_bif - /topic="language built-in SUBSCRIPT" - /description="Return the subscript of a node in a tree." "SUBSCRIPT( {-tree_reference-} )" end define define token index_bif - /topic="language built-in index" - /description="Find the position of one string within another." "INDEX( {-search_expression-}, {-locate_expression-} )" end define define token length_bif - /topic="language built-in length" - /description="Return the current length of a string." "LENGTH( {-string_expression-} )" end define define token lower_bif - /topic="language built-in lower" - /description="Convert a string expression to lower-case." "LOWER( {-string_expression-} )" end define define token upper_bif - /topic="language built-in upper" - /description="Convert a string expression to upper-case." "UPPER( {-string_expression-} )" end define define token member_bif - /topic="language built-in member" - /description="Find the first member of a set within a string." "MEMBER( {-search_expression-}, {-member_expression-} )" end define define token trim_bif - /topic="language built-in trim" - /description="Trim characters from a string." "TRIM( {-string_expression-}, [-trim_expression-] )" end define define token integer_bif - /topic="language built-in integer" - /description="Converts an expression to an integer." "INTEGER( {-expression-} )" end define define token string_bif - /topic="language built-in string" - /description="Converts an expression to a string." "STRING( {-expression-} )" end define define token pointer_bif - /topic="language built-in pointer" - /description="Returns the address of a variable." "POINTER( {-variable_name-} )" end define define token abs_bif - /topic="language built-in abs" - /description="Returns absolute value of an integer expression." "ABS( {-integer_expression-} )" end define define token max_bif - /topic="language built-in max" - /description="Returns maximum value of two or more integer expressions." "MAX( {-integer_expression-}... )" end define define token min_bif - /topic="language built-in min" - /description="Returns minimum value of two or more integer expressions." "MIN( {-integer_expression-}... )" end define define token mod_bif - /topic="language built-in mod" - /description="Returns remainder after division of two integer expressions." "MOD( {-integer_expression-}, {-integer_expression-} )" end define define token time_bif - /topic="language built-in time" - /description="Returns the current date and time as a string value" "TIME( )" end define define token endfile_bif - /topic="language built-in endfile" - /description="Tests if the end of a Scan file has been reached." "ENDFILE( [-file_variable-] )" end define !------------------------------------------------------------------------------- ! ! Simple keyword expansion tokens. ! define token automatic "AUTOMATIC" end define define token caseless "CASELESS" end define define token common "COMMON" end define define token descriptor "DESCRIPTOR" end define define token external "EXTERNAL" end define define token global "GLOBAL" end define define token ignore "IGNORE" end define define token input /description ="READ from file" "INPUT" end define define token inrange "INRANGE" end define define token integer_type "INTEGER" end define define token output /description ="WRITE to file" "OUTPUT" end define define token outrange "OUTRANGE" end define define token reference "REFERENCE" end define define token static "STATIC" end define define token string "STRING" end define define token syntax "SYNTAX" end define define token trigger "TRIGGER" end define define token value "VALUE" end define