# Non-terminal symbol `Pragma`

rule(s) | occurrences

#### Description

This node stands for a pragma statement which allows the user to query state parameters or up some options using a few built-in extra-language commands of the form `%pragma;` where `pragma` is an identifier. Pragmas to be supported eventually are:
Pragma Expression | Caused Effect
--- | ---
`%exit` | End the session and exit OSF V1.
`%load filename` | Read and process the contents of the file (name specified as a quoted string)
`%encode` | Trigger the encoding of the current sort hierarchy.
`%showcodes` | Toggle on/off encoded sorts' display.
`%automatic` | Toggles on/off automatic sort encoding at the first expression evaluation without prompting the user. The default is to prompt the user.
`%mute` | Toggle on/off result displays.
`%size` | Print the number of concepts in the sort hierarchy.
`%height` | Print the height of the sort hierarchy; that is, the length of the longest is-a concept chain from `{}` to `@/tt>.`
`%width` | Print the size of the widest is-a concept cochain; that is, the size of the largest set of mutually unrelated concepts in the hierarchy.
`%children s` | Prints the set of maximal strict lower bounds of `s`; in other words, the set of immediate subconcepts of `s`.
`%descendants s` | Print the set of miminal strict lower bounds of `s`; in other words, the set of subconcepts of `s` immediately above `{}`, or `{}` if `s` is immediately above `{}`.
`%parents s` | Print the set of miminal strict lower bounds of `s`; in other words, the set of subconcepts of `s` immediately above `{}`, or `{}` if `s` is immediately above `{}`.
`%ancestors s` | Print the set of maximal strict upper bounds of `s`; in other words, the set of superconcepts of `s` immediately below `@/tt>, or `@/tt> if `s` is immediately below `@/tt>.```
`%isa s t` | Return `true` if `s` is a subconcept of `t`, and `false` otherwise.
`%refresh` | Erase the codes for all known sorts. After this pragma has been invoked, new sort declarations and variable definitions may then be added those previously recorded, and then the hierarchy may be reencoded.
`%tree` | Toggle on/off display of syntax tree.
`%timing` | Toggle on/off execution timing.
`%gc` | Force immediate garbage collection.
`%syntax` | Toggle on/off parser tracing.
`%trace` | Toggle on/off evaluation tracing.
`%defined` | List all the currently defined symbols.
`%symbols` | List all the known (built-in and defined) symbols
`%help` | List this information.

Defining rules for nonterminal symbol `Pragma`:

`Pragma` |  | `PRAGMA`

Occurrences of symbol `Pragma` in body of other rules:

`StatementType` |  | `Pragma` `PragmaArguments_opt`

Copyright © 2013 by Hassan Aït-Kaci; All Rights Reserved.