#+TITLE: Gaussian
#+SETUPFILE: ../docs/theme.setup

* Summary

#+name: synopsis
#+begin_src ocaml :exports none :results value
"Gaussian basis sets"
#+end_src

#+RESULTS: synopsis
: Gaussian basis sets


* Dune files                                                         :noexport:

** Generate dune files

   Use [C-c C-c] on the code below to create the output for the dune files

   #+header: :noweb strip-export
   #+header: :var name=(file-name-directory buffer-file-name)
   #+header: :var dune="lib/dune"
   #+header: :var dunetest="test/dune"
   #+begin_src python :exports none :results output none
name = name.split('/')[-2]
synopsis = """
<<synopsis>>
"""

with open(dune,'w') as f:
    f.write(f"""
(library
 (name {name})
 (public_name qcaml.{name})
 (synopsis {synopsis}  )
 <<dependencies>>
 <<noimplementation>>
 <<c-files>>
)
<<lex-yacc>>
""")

with open(dunetest,'w') as f:
    f.write(f"""
(library
 (name test_{name})
 (synopsis "Test for {name} library")
 (libraries
  alcotest
  qcaml.{name}
 )
)
""")
   #+end_src

** Dependencies

   #+name: dependencies
   #+begin_src elisp
(libraries
 qcaml.common
 qcaml.particles
 )
   #+end_src

** Modules without implementation

   #+name: noimplementation
   #+begin_src elisp
   #+end_src

** Extra C files

   #+begin_src elisp
   #+end_src

** Parser files

   #+name: lex-yacc
   #+begin_src elisp
   #+end_src




