Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Sem is an interpreter and a debugger for the SIMPLESEM language.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
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: - C99 compiler (such as gcc or clang) - make Building sem: $ ./configure $ make This creates an executable 'src/sem'. In order to install it type: $ make install By default installation directory is /usr/local, so 'sem' is installed in /usr/local/bin/sem. Developers need also: - GNU autoconf (tested with version 2.69) - GNU automake (tested with version 1.12.4) - GNU bison (tested with version 2.5.1) - GNU flex (tested with verstion 2.5.37) - GNU indent (tested with 2.2.10) 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: email@example.com URL: http://bitbucket.org/dfa/sem