Giter VIP home page Giter VIP logo

drio's Introduction

Ubuntu OS X Coverage Builds/UnitTests Coverity Scan
Coverity Scan Build Status

dReal: An SMT Solver for Nonlinear Theories of the Reals

Please visit http://dreal.cs.cmu.edu for more information.

Download

Please check out our releases page to download latest static binaries.

How to Build

In most cases, running ./build.sh in the top dReal directory should suffice. If not, see below.

Required Packages

Documentations

drio's People

Contributors

scungao avatar soonhokong avatar wweic avatar

Watchers

 avatar  avatar  avatar  avatar

drio's Issues

CMake does not run flex

There is currently an error with CMake, such that in a clean build (OSX 10.9) it will fail giving the error.

clang: error: no such file or directory: '/Users/sun/dReal/drio/build/shell/lexer.yy.cc'
clang: error: no input files

This is due to CMake not generating the lexer.yy.cc file.

[ 43%] Generating lexer.yy.cc
/usr/local/Cellar/cmake/2.8.12.2/bin/cmake -E cmake_progress_report /Users/sun/dReal/drio/build/CMakeFiles 10
[ 52%] Building CXX object shell/CMakeFiles/SH_UTIL.dir/lexer.yy.cc.o

I'm not sure why this is behaving this way, however if I save the file src/CMakeList.txt, then run "make" it will compile nicely. Not sure why this is happening. Will update.

Flex header incompatibility

There is a known issue with mac-ports version of flex that generates a file which uses (size_t) instead of (int)[1]. All unmodified flex versions uses (int)

size_t LexerInput( char* buf, size_t max_size );
void LexerOutput( const char* buf, size_t size );

vs

int LexerInput( char* buf, int max_size );
void LexerOutput( const char* buf, int size );

So to allow for cross platform we need to be able to check when we are using a macports version of flex or unmodified flex. I'm still figuring out how to do that, but currently for all OSX we use FlexLexer_osx.h and the original file for all else

[1] https://bugs.launchpad.net/zorba/+bug/1034582

Formulas not storing in map.

Currently while bison is generating the parse tree, for each "operation" we have a stack allocated "expr" object. Which then has a pointer to the heap allocated "expr_cell".

Currently if you define a formula and evaluate it, the program segfaults. I think this is due to the stack objects being free'd and the "fmla_scoped_env map" is only storing the root expr object of the "expr" tree. Resulting in calls do dealloc'd objects.

Currently working on workaround.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.