-
Notifications
You must be signed in to change notification settings - Fork 0
Sem is an interpreter and a debugger for the SIMPLESEM language.
License
dfa1/sem
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Sem, an abstract semantic processor
===================================
What's sem?
-----------
Sem is an interpreter and a debugger for the SIMPLESEM language.
"We said that in this book we will use an operational approach to semantics.
To do so, we introduce a simple abstract processor called SIMPLESEM, and we
show constructs can be executed by sequences of operations of the abstract
processor."
PP. 69, "An abstract semantic processor"
Programming language concepts, Third Edition
Carlo Ghezzi, Politecnico di Milano
Mehdi Jazayeri, Technische Universitat Wien
John Wiley & Sons
License information
-------------------
This program is free software, released under the GNU Public License, which
gives you, from the user point of view, a great degree of liberty, which
proprietary software just doesn't.
Follows a little list of the advantages free software has:
o it's free;
o the complete source code is available;
o you are allowed to copy, modify and redistribute. For more info
about this subject refer to the COPYING file.
Build instructions
------------------
Requirements:
- C23 compiler
- cmake
How to use misc/sem.vim?
------------------------
The file sem.vim is a Vim syntax file. It enables Vim to show parts of
the text in another font or color for your .sem files. It has been tested
with vim 72.
Copy the file misc/sem.vim in ~/.vim/syntax/sem/sem.vim. Then put the
following line in your filetype.vim (e.g. ~/.vim/filetype.vim):
au! BufNewFile,BufRead *.sem setf sem
Distribution structure
----------------------
AUTHORS Authors and contributors
ChangeLog History of changes
COPYING Licensing information
README The file you're reading now
TODO To-do list, ideas, bugs
doc/QUICKREF Language reference
examples/comp.sem Compare two numbers
examples/fact.sem The factorial
examples/gcd.sem Greatest Common Divisor
examples/hello.sem Hello World, in SIMPLESEM this time
examples/pow.sem The power
examples/rfact.sem Recursive version of fact.sem
examples/sum.sem Sum two numbers
misc/sem.vim VIM syntax file
src/sem.h Sem C interface
src/compiler.y The compiler (GNU bison input)
src/compiler.c The compiler (generated from compiler.y)
src/tokens.h Tokens interface between scanner and compiler)
src/vm.c The interpreter
src/debugger.c The debugger
src/scanner.c The lexical scanner (generated from scanner.l)
src/scanner.h The lexical scanner interface
src/scanner.l The lexical scanner (GNU flex input)
src/main.c The main() for interpreter and debugger
Contact Information
-------------------
Email:
davide.angelocola@gmail.com
URL:
http://github.com/dfa1/sem
About
Sem is an interpreter and a debugger for the SIMPLESEM language.
Topics
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published