[Ur] Proposed location literals to track caller's location in error msgs.

Gabriel Riba gabriel at xarxaire.com
Thu Jun 4 06:49:44 EDT 2015


El 03/06/15 a les 15:57, Adam Chlipala ha escrit:
> On 06/03/2015 09:26 AM, Gabriel Riba wrote:
>> Here comes the mercurial patch with both the _LOC_ in urweb.lex and
>> the "assert" function in top.ur
>
> Thanks, patch accepted.  I had to add some fixes to make it actually
> work in top.ur; I presume testing only happened with the code at some
> other location.

A wiki page could be added telling the procedure to test compiler 
contributions, since it is not straight.

Here is the proposed content from my experience, and it is the procedure 
used in checking the proposed _LOC_ patch:

Here follows a wikimedia "source" tag for proper wiki syntax highlighting:

<source lang="bash">
#create the mercurial initial file ".hgrc" with your id
cat <<EOD > ~/.hgrc
[ui]
username = My name <my.account at mail-server.com>
EOD

mkdir -p ~/ur/mercurial-base-folder
mkdir ~/ur/testcompiler

cd ~/ur/mercurial-base-folder

# remove previous checkout if existant
rm -Rf urweb

# Clone the default branch
hg clone http://hg.impredicative.com/urweb

cd urweb

# autoconf to generate the configure file
./autogen.sh

# configure, specifying a destination folder for the compiler
./configure --prefix=$HOME/ur/testcompiler

# edit the sources

# compile, link and install
make && make install

# add the test-compiler to the environment paths head

export URW_HOME=$HOME/ur/testcompiler
export PATH=$URW_HOME/bin:$PATH
export LD_LIBRARY_PATH=$URW_HOME/lib/:$LD_LIBRARY_PATH
export LIBRARY_PATH=$URW_HOME/lib/:/usr/local/lib:/usr/lib:/lib
export C_INCLUDE_PATH=$URW_HOME/include

# test the patched-compiler with a urweb test project

# back to the compiler sources
cd ~/ur/mercurial-base-folder/urweb

# check the modified source files
hg status

# add, if necessary, any extra files to mercurial tracking
hg add somefile

# commit the patch
hg commit -m "my patch comment"

# list the patch,
hg log -l5          # list the last n commits -ln

# generate the diff for the change-set identifiers REV1 REV2 ...
hg export REV1 REV2 > ~/some-folder/my-patch.diff

# send the exported diff file
</source>




More information about the Ur mailing list