[CSUSB]
>> [CNS]
>> [Comp Sci Dept]
>> [R J Botting]
>> [CSci620]
>>
resources
[Source]
(publishing your work):
[ publishing ]
and
[ HTML ]
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.
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 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
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.
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 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