Cross-platform application for creating and executing Nassi–Shneiderman diagrams
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images Initial google code project commit Sep 26, 2013
scripts
.gitignore
LICENSE.GPL
bisonproxy.cpp
bisonproxy.h
callinstruction.cpp
callinstruction.h
commands.cpp
commands.h
executionthread.cpp
executionthread.h
exprtree.cpp
exprtree.h
imp.l
imp.y Poprawki: Oct 17, 2013
imp_idents.cpp
imp_idents.h
inputinstruction.cpp
inputinstruction.h
instruction.cpp
instruction.h
instructioneditor.cpp
instructioneditor.h
instructioneditor.ui
instructionwizard.cpp
instructionwizard.h Change spacing Jan 13, 2016
instructionwizard.ui
iteration.cpp
iteration.h
iterationwidget.cpp
iterationwidget.h
main.cpp Change spacing Jan 13, 2016
mainwindow.cpp
mainwindow.h
namevaluedialog.cpp
namevaluedialog.h
namevaluedialog.ui
nsbuilder.pro
nsbuilder.qrc
nsbuilder.rc
nsbuilder_pl.ts
nsscheme.cpp
nsscheme.h
nsschemewizard.cpp
nsschemewizard.h
nsschemewizard.ui
outputinstruction.cpp
outputinstruction.h
questiondialog.cpp Change spacing Jan 13, 2016
questiondialog.h
questiondialog.ui
readme.md
returninstruction.cpp
returninstruction.h
selection.cpp
selection.h
selectioncondition.cpp
selectioncondition.h
selectionwidget.cpp
selectionwidget.h
sequence.cpp
sequence.h
settingsdialog.cpp
settingsdialog.h
settingsdialog.ui
simpleinstruction.cpp Change spacing Jan 13, 2016
simpleinstruction.h Change spacing Jan 13, 2016
variableeditor.cpp
variableeditor.h
variableeditor.ui

readme.md

NSBuilder

NSBuilder logo

NSBuilder is an cross-platform application for creating and executing Nassi–Shneiderman diagrams useful in introduction to programming.

Features

  • running diagrams or going step-by-step through them,
  • tracing values of variables during execution,
  • creation of schemas, procedures and functions,
  • automatic diagrams validation,
  • exporting diagrams in PNG or SVG formats,
  • cross-platform (Windows and Linux).

History

NSBuilder was created by Aleksander Wojdyga during his work in the Institute of Computer Science of Lublin University of Technology for Theoretical Computer Science Fundamentals course (TPI) and is still use for this course at the University.

Project is created using C++ language with a Qt library, version 4.7.4.

Licensing

NSBuilder is licensed under GNU GPL version 2, allowing you to run, copy, modify, and play without any requirements apart from sharing your changes (if any).

Contributing

If you have found any issue with the NSBuilder, feel free to create an issue. If you have made any modifications to the NSBuilder, we would be happy to include them in the mainstream release if they align well with project goals. We are open to any Pull Requests you possibly will be sending.

We are still under moving the project to GitHub and releasing it in a more open way than it was before. More information and documentation are to come soon.

Building from source

Windows

To build on Windows you need QT version 4.7.4 or 4.8.5 (both were tested) and MinGW compiler version 4.4.0, as well as GNU bison (version 2.4.1 tested) and flex (2.5.4 version tested).

Go to root directory and set 3 environmental variables, for example:

set QTPATH=C:\Qt\4.8.5\bin
set MINGWPATH=E:\nsbuilder-tools\mingw\bin
rem GNU bison, flex, date, iconv, m4 exe files should be in %NSBUILDENV%\bin
set NSBUILDENV=E:\nsbuilder-tools

Then, you should run scripts\set-version.cmd, which creates one of the files describing current version, needed in build process.

Next, you can run scripts\build-windows.bat which automatically builds release version of 32-bit NSBuilder, and puts resulting files in release\ directory.

The scripts\pack-windows.bat uses 7-Zip command line to prepare "portable" package of the application, while scripts\pack-windows-setup.bat prepares an Inno Setup installer (Inno Setup 5 required).

The whole set of binaries required for building NSBuilder under Windows will be provided in the coming weeks.

Linux

On Ubuntu 14.04 you have to install required packages (QT4, Bison, Flex, compilers and git). Tested QT version was 4.8.6 and GCC 4.8. There is a need for older Bison (2.x), which can be installed from older packages.

# installing QT4 and compilers
sudo apt install git qt4-dev-tools gcc g++ make flex zip
# install bison version 2.7
wget http://launchpadlibrarian.net/140087283/libbison-dev_2.7.1.dfsg-1_amd64.deb
wget http://launchpadlibrarian.net/140087282/bison_2.7.1.dfsg-1_amd64.deb
sudo dpkg -i libbison-dev_2.7.1.dfsg-1_amd64.deb 
sudo dpkg -i bison_2.7.1.dfsg-1_amd64.deb

To compile release version:

./scripts/set-version.sh
qmake
make

lrelease nsbuilder.pro #for build translations

Or just run scripts/build-linux-64bit.sh to get executable version zipped to pack directory, where build artefacts are being copied.

There is also a 32-bit build script, which is not supported anymore.