package acgtk

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Reduction.MakeSource

This module implements the reduction from ACG signatures and lexicons to datalog programs

Parameters

module Sg : module type of Signature.Data_Signature

Signature

generate_and_add_rule ~abs_cst:(name, dist_type) ~interpretation:(o_term, o_type) prog abs_sig obj_sig returns a pair (r,prog') where:

  • r is the generated rule
  • prog' is prog where the rule r has been added
  • name is the abstract constant name from the abstract signature abs_sig that triggers the rule generation, and dist_type is its type
  • o_term is the interpretation of name according to some lexicon
  • o_type is its type (and should be the image by the same lexicon of abs_cst
  • prog is the current datalog program
  • abs_sig and obj_sig are the abstract signature and the object signature of some ACG.

edb_and_query ~obj_term ~obj_type ~dist_type prog ~abs_sig ~obj_sig returns a pair (q,prog') where:

  • q is the predicate corresponding to the query generated by the object term obj_term to parse
  • prog' is prog where the extensional database resulting from the reduction of the object term obj_term has been added
  • obj_type is the type of obj_term (only used for debugging information)
  • dist_type is the distinguished type of the ACG
  • prog is the current datalog program
  • abs_sig and obj_sig are the abstract signature and the object signature of some ACG.