Documentation

Lean.Parser.Types

@[inline]
Equations
@[inline]
Equations
def Lean.Parser.getNext (input : String) (pos : String.Pos) :

Return character after position pos

Equations

Maximal (and function application) precedence. In the standard lean language, no parser has precedence higher than maxPrec.

Note that nothing prevents users from using a higher precedence, but we strongly discourage them from doing it.

Equations

Input string and related data. Recall that the FileMap is a helper structure for mapping String.Pos in the input string to line/column information.

Instances For
    Equations

    Input context derived from elaboration of previous commands.

    Instances For

      Parser context parts that can be updated without invalidating the parser cache.

      Instances For

          Opaque parser context updateable using adaptCacheableContextFn and adaptUncacheableContextFn.

          Instances For
            Instances For
              Equations
              Equations
              • One or more equations did not get rendered due to their size.
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Instances For
                  Equations

                  A syntax array with an inaccessible prefix, used for sound caching.

                  Instances For
                    Equations
                    Equations
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Equations
                    Instances For
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      Equations
                      Equations
                      Equations
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      Equations
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Equations
                      Equations
                      @[inline]

                      Create a simple parser combinator that inherits the info of the nested parser.

                      Equations

                      Run p with a fresh cache, restore outer cache afterwards. p may access the entire syntax stack.

                      Equations
                      • One or more equations did not get rendered due to their size.

                      Run p with a fresh cache, restore outer cache afterwards. p may access the entire syntax stack.

                      Equations

                      Run p under the given context transformation with a fresh cache (see also withResetCacheFn).

                      Equations

                      Run p and record result in parser cache for any further invocation with this parserName, parser context, and parser state. p cannot access syntax stack elements pushed before the invocation in order to make caching independent of parser history. As this excludes trailing parsers from being cached, we also reset lhsPrec, which is not read but set by leading parsers, to 0 in order to increase cache hits. Finally, errorMsg is also reset to none as a leading parser should not be called in the first place if there was an error.

                      Equations
                      • One or more equations did not get rendered due to their size.

                      Run p and record result in parser cache for any further invocation with this parserName, parser context, and parser state. p cannot access syntax stack elements pushed before the invocation in order to make caching independent of parser history. As this excludes trailing parsers from being cached, we also reset lhsPrec, which is not read but set by leading parsers, to 0 in order to increase cache hits. Finally, errorMsg is also reset to none as a leading parser should not be called in the first place if there was an error.

                      Equations
                      Equations
                      • One or more equations did not get rendered due to their size.