Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
2006.09.13 Version 0.04 2006.11.01 Version 0.04.2 2006.12.20 Version 0.10 initial public release 2006.12.20 Version 0.10.1 - include missing HOL file ottDefine.sml 2006.12.22 Version 0.10.2 - include missing ottmode.el 2007.01.19 Version 0.10.3 - bugfixes - new examples: various TAPL fragments, and an OCaml fragment with concurrency (peterson_caml.ott) - generation of OCaml code for type definitions and generated functions (substitution etc) - merge option to merge ott source files - improved HOL support infrastructure 2007.01.24 Version 0.10.4 - bugfix: allow "-" in bindspec lexing 2007.02.07 Version 0.10.5 - various bugfixes (mostly w.r.t. Coq list support) - various improvements to examples - document generation of OCaml code - (breaking) source syntax changes: keyword "rules" is now replaced by "grammar", and hom "caml" is replaced by "ocaml" 2007.04.06 Version 0.10.6 - fixes and additional examples 2007.07.18 Version 0.10.7 - bug fixes 2007.08.13 Version 0.10.8 - rename module Aux to Auxl, to work around a Windows problem 2007.08.28 Version 0.10.9 - add Windows binary-only release 2007.09.04 Version 0.10.10 - new manual, in browsable html, pdf and postscript - new tex style for typesetting rules (in the tex/ directory) - move emacs mode and hol auxiliaries into new emacs/ and hol/ directories 2007.09.28 Version 0.10.11 - fix bug in Windows version: properly open files in binary mode when writesys and readsys 2007.10.05 Version 0.10.12 - add missing file from Coq proof support: ott_list_eq_dec.v 2007.10.18 Version 0.10.13 - new (experimental!) switch -picky_multiple_parses , to allow multiple parses if the generated code is identical - at present only for filtered LaTeX - some source documentation 2008.02.15 Version 0.10.14 - new parser, with better performance and better support for disambiguation (see Section 14 "Parsing Priorities" in the manual, and changes to Section 20 "Reference: The language of symbolic terms") - new support for context grammars, with automatically generated hole-filling functions (see Section 13 "Context rules" in the manual) - new syntactic sugar flavour of metaproductions: writing "S" instead of "M" gives metaproductions that can be used in concrete terms - various bugfixes 2008.12.16 Version 0.10.15 - support for Isabelle 2008 (Isabelle 2005 syntax no longer produced) - new option -isabelle_primrec : if set to false then ott generates "fun"s instead of "primrec"s (though Isabelle can only sometimes automatically prove termination of these "fun"s). - new declaration "phantom" to turn off type generation for metavariables. 2009.3.9 Version 0.10.16 - release of the experimental Coq locally-nameless backend - aesthetic improvements of the Coq output - -show-post-sort and -show-defns are now by default to make output less noisy 2009.7.19 Version 0.10.17 - fix ocamlvar hom bug - fix bug in Coq backend when dealing with some kinds of dot forms - suppress printing of number of good/bad definition rules if there are no rules - change -tex_show_meta false behaviour to not suppress sugar productions - add % at line ends in rules, to prevent extra spaces (per BCP patch) - remove doc references to the Windows binary distribution. It should be easy to build from source, but we don't have access to a suitable machine. 2010.3.24 Version 0.10.18alpha - The previous command-line options -coq, -hol, etc., are no longer supported; they should be replaced by -o. - By default (unless -merge true is set) the order of the input file is preserved, so one can have mixed sequences of definitions of grammar, of inductive relations, and of embed blocks. - New command-line options -i and -o for specifying multiple input and output files. Input files with non-.ott extensions (.v, .thy, .sml, .ml, .tex) are copied verbatim into the respective outputs. The command-line order of these options is significant: the prover output can be split into multiple output files; each prover output file specified with -o will contain the material from the previous input files specified with -i (since the last -o for this prover). - Better tex default spacing, distinguishing alphabetic and other ("symbolic") terminals based on their ott source strings and wrapping them in \ottkw{} and \ottsym{} respectively. - Support for in-line prover code in premises, e.g. {{ prover code mentioning [[x]] and [[\y.z]] }} ----------------------------------------------- :: rulename conclusion - The {{ phantom }} hom can now be applied to metavariables and to nonterminal rules. In both cases it suppresses generation of a prover or OCaml definition, but any type homs are taken into account when the metavariable or nonterminal root is output as a type. - There is a new hom {{ order ... }} that can be applied to productions which lets one specify the order of arguments of a prover or OCaml constructor independently of the order in which they appear in the production. For example, one might say: | e1 e2 :: :: ReversedApp {{ order [[e2]] [[e1]] }} - There is a new hom {{ coq-universe UniverseName }} that can be applied to metavariable or nonterminal rules, eg to force Ott to generate definitions in Type instead of in Set. - Changed some debug options (eg show-pre-sort) - Ocaml list homs on productions are now permitted - add coq_lngen option for compatibility with the lngen tool - Bug fixes: - problem with comment line in defns terminated with EOF [Jianzhou Zhao] - freshness of identifier in Ott generated functions [Jianzhou Zhao] - processing of parse tree for some cases of dot forms [Scott Owens] - processing of picky_multiple_parses [Scott Owens] - added some error checks - several fixes in the Coq locally-nameless backend [Stephanie Weirich] - performance issue when using contextrules [Nicolas Pouillard] - parens in OCaml substitutions for multiple binders [Vilhelm Sjoberg] 2010.03.29 Version 0.20 - The order among mutually recursive nonterminal definitions in grammar blocks is now preserved in prover output. 2010.04.04 Version 0.20.1 - Support coq-universe hom on blocks of definitions, eg: defns Jop :: '' ::= {{ coq-universe Type }} defn t1 --> t2 :: ::reduce::'' by -------------------------- :: ax_app (\x.t1) v2 --> {v2/x}t1