Select this to skip to main content [CSUSB] >> [CNS] >> [Comp Sci Dept] >> [R J Botting] >> [CSci620] >> resources [Source]
[Index] [Schedule] [Syllabi] [Text] [Labs] [Projects] [Resources] [Search] [Grading]
Notes: [01] [02] [03] [04] [05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]
Thu May 20 17:53:57 PDT 2004

Contents


    CSci620 Programming Language Theory Resources

      The Resources for CSci620 include many of those developed or linked for CSci 320(Programming Languages)

      General


      (search_engine): [ lookup.php ]


      (publishing your work): [ publishing ] and [ HTML ]

      Syntax Description

    1. BNF::metalanguage="Backus Naur Form", grandparent of all practical syntax description languages.

      BNF was developed to describe the syntax of Algol60 and various extensions (EBNF) and variations have been used for all major programming languages since then. In CS320 we will use a special extension that is designed to work well with ASCII and discrete mathematics called XBNF. Here is a one page cheatsheet for XBNF: [ cs320xbnf.htm ] , for a definition see the introduction [ intro_ebnf.html ] , for the theory [ intro_grammar.html ] , and for the general form [ math.lexicon.html ] [ math.syntax.html ] , and samples [ http://www.csci.csusb.edu/dick/samples/ ] of XBNF.

      Semantics

        I have some old notes on some key topics in the theory of programming langauge semantics:

        Introduction to Formal Semantics

        [ intro.html ]

        Semantics of a simple language: while

        [ while.html ]

        Denotations

        [ denotational.html ] [ fixed.html ]

        Operationational Semantics

        [ operational.html ]

      . . . . . . . . . ( end of section Semantics) <<Contents | Index>>

      HTML

      1. HTML::markup_language="HyperText Markup Language".

        HTML Quick Reference [ HTML_quick.html ] and Glossary [ comp.html.glossary.html ]


        (color): Colors in HTML and Java [ Colors in comp.html.syntax ] also in general [ color.html ]

        HTML Primer [ HTMLPrimer.html ] and guide to URLs [ URL_guide.html ]

        Syntax of HTML [ comp.html.syntax.html ]

        Notes from an HTML Workshop [ html.workshop.html ] [ rjb94c.html.html ] and HTML Tips [ tips in bugsEN ]

        Pointers to yet more WWW resources [ www.html ]

      . . . . . . . . . ( end of section HTML) <<Contents | Index>>

      UML

    2. UML::modeling_language="Unified Modeling Language". [ uml.html ]

      If you have problems with Rational Rose you can try a simpler and free diagramming tool. It is availabl;e on our workstations and you can download it onto your own computer (Windoze or Linux) for free. Mac users have AppleWorks already.

      On our system input this command

       		dia&
      into a terminal window. It may also be in a menu from the panel at the bottom of the screen.

      The Gimp is a handy tool for converting things on your screen into graphic files to put on WWW pages. On Windoze I use SnagIt for this job.

      LISP

    3. LISP::programming_language="List Processing".

      Handout [ 320wlisp.html ] , specification and points: [ lisp.html ] , and examples and source code: [ http://www.csci.csusb.edu/dick/cs320/lisp/ ]

      Prolog

      The PROgramming in LOGic language: [ Prolog.html ] (handout), [ prolog.html ] (sample documentation) and [ mbox ] (Selective SWI prolog mailing list archive) plus [ http://www.csci.csusb.edu/dick/cs320/prolog/ ] (lots of examples).

      Get your own copy of SWI-Prolog: [ http://www.swi.psy.uva.nl/projects/SWI-Prolog/ ]

      Java

    4. Java::programming_language, developed by Sun for toasters, networked devices and so the WWW. [ java.html ] [ http://www.csci.csusb.edu/dick/cs320/java/ ] [ http://csci.csusb.edu/public/faculty/dick/ ] [ java.www.sites.html ]

      Java Reference Documents [ index.html ]

      Java Application Programmer Interfaces [ index.html ]

      Current API [ http://java.sun.com/j2se/1.4.2/docs/api/ ]

      Other Languages

      [ languages.html ] [ http://www.csci.csusb.edu/dick/samples/ ] [ lang.en.html ]

      Random languages to hate: [ http://www.mines.edu/students/b/bolmstea/randlang/ ]


      (scripting): Scripting languages: [ scripting.html ] (With thanks to Kevin Hagel).


      (Ada): [ http://www.csci.csusb.edu/dick/cs320/ada/ ]
      (C): [ http://www.csci.csusb.edu/dick/cs320/c/ ] and C++ [ http://www.csci.csusb.edu/dick/cs320/c++/ ]


      (fortran): AKA
      (FORTRAN): the grandaddy of them all... We have the Gnu FORTRAN 77 compiler on tap. It is called g77 and works something like g++. FORTRAN programs must be in files that end .f. See [ ex5.f ] [ http://www.csci.csusb.edu/dick/cs320/fortran/ ] for examples and [ http://www.j3-fortran.org/ ] for the standards. Google and other searches also give interesting results.


      (ML): MetaLanguage [ http://www.csci.csusb.edu/dick/cs320/ml/ ]
      (Other): [ http://www.csci.csusb.edu/dick/cs320/other/ ]
      (Pascal): [ http://www.csci.csusb.edu/dick/cs320/pascal/ ] [ pascal.lexicon.html ] [ pascal.syntax.html ]
      (Scheme): a variety of LISP. [ http://www.csci.csusb.edu/dick/cs320/scheme/ ]
      (Shell): [ http://www.csci.csusb.edu/dick/cs320/shell/ ]
      (SmallTalk): [ http://www.csci.csusb.edu/dick/cs320/smalltalk/ ]
      (UML): [ uml.html ]
      (Unix): includes Linux [ http://www.csci.csusb.edu/dick/cs320/unix/ ]
      (Z): [ http://www.csci.csusb.edu/dick/cs320/z/ ]

      Also see

      Language sites on the WWW [ languages.html ]

    . . . . . . . . . ( end of section CSci620 Programming Language Theory Resources) <<Contents | Index>>

    Glossary

  1. BNF::="Backus-Naur Form", for syntax and grammar, developed by Backus and Naur.
  2. EBNF::="Extended " BNF.
  3. HTML::= "HyperText Markup Language", used on the WWW.
  4. HTML_page::syntax= "<HTML>" head body.
  5. Java::="An " OO " Language from Sun".
  6. LISP::= "LISt Processing Language".
  7. LRM::="Language Reference Manual".
  8. OO::="Object-Oriented".
  9. Prolog::="Programming in Logic".
  10. TBA::="To Be Announced".
  11. UML::="Unified Modeling Language".
  12. URL::=Universal_Resource_Locator,
  13. Universal_Resource_Locator::syntax= protocol ":" location, where
    Net
    1. protocol::= "http" | "ftp" | "mailto" | ... ,
    2. location::= O( "//" host) O(pathname).

    (End of Net)
  14. WWW::= See http://www.csci.csusb.edu/dick/cs620/, index to web site for this class.
  15. XBNF::="eXtreme" BNF, developed by the teacher from EBNF, designed to ASCII input of syntax, semantics, and other formal specifications.


Formulae and Definitions in Alphabetical Order