diff --git a/Falcon-core-0810-r401.patch b/Falcon-core-0810-r401.patch deleted file mode 100644 index 8985194..0000000 --- a/Falcon-core-0810-r401.patch +++ /dev/null @@ -1,5777 +0,0 @@ -Index: devtools/falmod.cmake -=================================================================== ---- devtools/falmod.cmake (revision 0) -+++ devtools/falmod.cmake (revision 401) -@@ -0,0 +1,73 @@ -+#################################################################### -+# @MAIN_PRJ@ -+# -+# @PROJECT_NAME@ - Macros and utilities for Falcon modules -+#################################################################### -+ -+#Set the default buid type to Debug -+IF(NOT CMAKE_BUILD_TYPE) -+ SET(CMAKE_BUILD_TYPE Debug CACHE STRING -+ "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." -+ FORCE) -+ENDIF(NOT CMAKE_BUILD_TYPE) -+ -+ -+#determine falcon installation and set inc/lib paths -+IF("$ENV{FALCON_INC_PATH}" STREQUAL "" ) -+ -+ MESSAGE( "Configuring FALCON using falcon-conf" ) -+ -+ EXEC_PROGRAM( falcon-conf -+ ARGS -i -+ OUTPUT_VARIABLE FALCON_INC_DIR ) -+ MESSAGE( "Read INCLUDE=${FALCON_INC_DIR} from falcon conf" ) -+ -+ EXEC_PROGRAM( falcon-conf -+ ARGS --libs-only-L -+ OUTPUT_VARIABLE FALCON_LIB_DIR ) -+ -+ MESSAGE( "Read LIB=${FALCON_LIB_DIR} from falcon conf" ) -+ -+ EXEC_PROGRAM( falcon-conf -+ ARGS --moddir -+ OUTPUT_VARIABLE FALCON_MOD_INSTALL ) -+ MESSAGE( "Read MOD=${FALCON_MOD_INSTALL} from falcon conf" ) -+ -+ELSE("$ENV{FALCON_INC_PATH}" STREQUAL "" ) -+ #Usually, this variables are set in a correctly configured MS-WINDOWS -+ #or similar environment to obviate the need for FALCON-CONF -+ MESSAGE( "Configuring FALCON from environmental settings" ) -+ -+ IF ("$ENV{FALCON_ACTIVE_TREE}" STREQUAL "") -+ SET( FALCON_INC_DIR "$ENV{FALCON_INC_PATH}" ) -+ SET( FALCON_LIB_DIR "$ENV{FALCON_LIB_PATH}" ) -+ SET( FALCON_MOD_INSTALL "$ENV{FALCON_BIN_PATH}" ) -+ ELSE ("$ENV{FALCON_ACTIVE_TREE}" STREQUAL "") -+ SET( FALCON_INC_DIR "$ENV{FALCON_ACTIVE_TREE}/include" ) -+ SET( FALCON_LIB_DIR "$ENV{FALCON_ACTIVE_TREE}/lib" ) -+ SET( FALCON_MOD_INSTALL "$ENV{FALCON_ACTIVE_TREE}/bin" ) -+ ENDIF ("$ENV{FALCON_ACTIVE_TREE}" STREQUAL "") -+ -+ENDIF("$ENV{FALCON_INC_PATH}" STREQUAL "" ) -+ -+MACRO(FALCON_CLEANUP tgt) -+ IF(FALCON_STRIP_TARGET) -+ INSTALL( CODE "EXECUTE_PROCESS( COMMAND stirp --strip-unneeded ${FALCON_MOD_INSTALL}/${tgt}.${CMAKE_SHARED_LIBRARY_SUFFIX} )" ) -+ ENDIF(FALCON_STRIP_TARGET) -+ENDMACRO(FALCON_CLEANUP) -+ -+ -+MACRO(FALCON_LINK_MODULE tgt ) -+ TARGET_LINK_LIBRARIES(${tgt} falcon_engine) -+ FALCON_INSTALL_MODULE( ${tgt} ) -+ENDMACRO(FALCON_LINK_MODULE) -+ -+MACRO(FALCON_INSTALL_MODULE tgt ) -+ SET_TARGET_PROPERTIES(${tgt} -+ PROPERTIES PREFIX "") -+ -+ #Install -+ INSTALL( TARGETS ${tgt} -+ DESTINATION ${FALCON_MOD_INSTALL} ) -+ FALCON_CLEANUP( ${tgt} ) -+ENDMACRO(FALCON_INSTALL_MODULE) -Index: devtools/fallc.fal -=================================================================== ---- devtools/fallc.fal (revision 0) -+++ devtools/fallc.fal (revision 401) -@@ -0,0 +1,451 @@ -+#!/usr/bin/falcon -+/*********************************************************** -+* Falcon international translation compiler -+* -+* See LICENSE file for licensing details. -+************************************************************/ -+ -+directive version=0x010000, lang="en_US" -+load mxml -+load regex -+ -+ -+//============================================= -+// Little class for simpler regex -+// -+class XRegex( expr, pcount ) from Regex(expr) -+ pcount = pcount -+ -+ function replaceAll( str, chg ) -+ try -+ return Regex.replaceAll( str, chg ) -+ catch RegexError -+ > @i"fallc: Warning, cannot replace variables from $(str)" -+ return str -+ end -+ end -+ -+ function grabAll( str ) -+ s = self.pcount -+ try -+ return map( lambda part => str[part.first() + s : part.last()], -+ self.findAll( str ) ) -+ catch RegexError -+ > @i"fallc: Warning, cannot grab variables from $(str)" -+ return [] -+ end -+ end -+end -+ -+reVars = XRegex( '\$([^+*/;:()|^!@#[\]\s?$-]+)', 1 ) -+reParVars = XRegex( '\$\(([^+*/;:()|^!@#?$-]+)', 2 ) -+reMover = XRegex( '\s+' ) -+ -+object Options from CmdlineParser -+ output = nil -+ inputs = [] -+ globs = [] -+ checkvars = true -+ merge = nil -+ -+ function onOption( opt ) -+ switch opt -+ case 'o', 'm' -+ self.expectValue() -+ -+ case 'h': usage() -+ case 'v': version() -+ case 'c': self.checkvars = false -+ -+ default -+ usage() -+ exit(1) -+ end -+ end -+ -+ function onValue( opt, val ) -+ switch opt -+ case 'o': self.output = val -+ case 'm': self.merge = val -+ end -+ end -+ -+ function onFree( opt ) -+ if "*" in opt or "?" in opt -+ self.globs += opt -+ else -+ self.inputs += opt -+ end -+ end -+end -+ -+function usage() -+ version() -+ > -+ > i"Usage:\n" -+ " fallc [options] files ...\n" -+ "\n" -+ "Options:\n" -+ " -c Do NOT check for consistency in \$(varname) blocks.\n" -+ " -m Merge mode (get original file .ftt and insert translation.\n" -+ " -o Writes the results to this file.\n" -+ " -h Prints this help\n" -+ " -v Prints version informations.\n" -+end -+ -+function version() -+ ver = vmModuleVersionInfo() -+ > @"Falcon Language Tables Compiler, version $(ver[0]).$(ver[1]).$(ver[2])" -+end -+ -+//==================================================== -+// Class storing a filewide language table -+// -+class LanguageTable( fromLang, tglang, file, module ) -+ fromLang = fromLang -+ name = tglang -+ file = file -+ modName = module -+ entries = [=>] -+ originals = [=>] -+end -+ -+//==================================================== -+// Parsing a language table -+// -+function parseLanguage( file ) -+ -+ try -+ // read the XML document -+ doc = MXMLDocument( "utf-8" ) -+ doc.read( file ) -+ // now get the root's node child, if any -+ root = doc.root() -+ if not root or root.name() != "translation" -+ > @i"fallc: Warning: root node for \"$(file)\" is not \"translation\". Ignoring." -+ return nil -+ end -+ -+ attr = root.getAttribs() -+ if "module" notin attr or "into" notin attr or "from" notin attr -+ > @i"fallc: Warning: missing informations in root node in \"$(file)\". Ignoring." -+ return nil -+ end -+ -+ //Ok, we can start iterating. -+ ltab = LanguageTable( attr["from"], attr["into"], file, attr["module"] ) -+ child = root.firstChild() -+ while child != nil -+ -+ if child.name() !="string" -+ child = child.nextSibling() -+ continue -+ end -+ -+ attr = child.getAttribs() -+ if "id" notin attr -+ child = child.nextSibling() -+ continue -+ end -+ -+ try -+ stringId = int( attr["id"] ) -+ catch -+ child = child.nextSibling() -+ continue -+ end -+ -+ // now get the original and translated subnodes. -+ chchild = child.firstChild() -+ translated = original = nil -+ -+ while chchild != nil -+ if chchild.name() == "original" -+ original = chchild.data() -+ elif chchild.name() == "translated" -+ translated = chchild.data() -+ end -+ -+ chchild = chchild.nextSibling() -+ end -+ -+ // warn if the transalted string has not the same variables as the original -+ if Options.checkvars -+ origVars = reVars.grabAll( original ) + reParVars.grabAll( original ) -+ transVars = reVars.grabAll( translated ) + reParVars.grabAll( translated ) -+ -+ //normalize spaces -+ origVars = map( lambda x => reMover.replaceAll( x, "" ), origVars ) -+ transVars = map( lambda x => reMover.replaceAll( x, "" ), transVars ) -+ -+ for var in origVars -+ if var notin transVars -+ > @i"fallc: Warning: variable '$(var)' in string ID=$(stringId) has not been translated" -+ end -+ end -+ -+ for var in transVars -+ if var notin origVars -+ > @i"fallc: Warning: variable '$(var)' in translated string ID=$(stringId) was not in the original" -+ end -+ end -+ end -+ -+ ltab.entries[ stringId ] = translated -+ // should we keep the originals? -+ if Options.merge -+ ltab.originals[ stringId ] = original -+ end -+ -+ child = child.nextSibling() -+ end -+ -+ > @i"Parsed file \"$(file)\"" -+ return ltab -+ -+ catch MXMLError in error -+ > @i"fallc: Warning: Couldn't read or parse the table \"$(file)\": " -+ > error -+ return nil -+ end -+end -+ -+//==================================================== -+// Saving a merged language table -+// -+ -+function saveMerge( lmerge, ltab, output ) -+ try -+ outstream = OutputStream( output ) -+ catch IoError in error -+ > @i"fallc: Warning: Couldn't create output file \"$(output)\": " -+ > error -+ return false -+ end -+ -+ // put the translations done in ltab inside lmerge, -+ // but first organize a reverese dictinary of lmerge. -+ reverseMap = [=>] -+ for key, value in lmerge.originals -+ reverseMap[value] = key -+ end -+ -+ transMap = [=>] -+ for key, value in ltab.originals -+ try -+ id = reverseMap[ value ] -+ transMap[id] = ltab.entries[key] -+ catch AccessError -+ end -+ end -+ -+ // now, write the output file -+ doc = MXMLDocument() -+ -+ // add our items below root. -+ root = doc.root() -+ root.name( "translation" ) -+ root.setAttribute( "from", ltab.fromLang ) -+ root.setAttribute( "into", ltab.name ) -+ root.setAttribute( "module", ltab.modName ) -+ -+ for key, value in lmerge.originals -+ node_string = MXMLNode( MXMLType.tag, "string" ) -+ node_string.setAttribute( "id", key.toString() ) -+ node_o = MXMLNode( MXMLType.tag, "original" ) -+ node_o.data( value ) -+ node_t = MXMLNode( MXMLType.tag, "translated" ) -+ if key in transMap -+ node_t.data( transMap[key] ) -+ end -+ -+ node_string.addBelow( node_o ) -+ node_string.addBelow( node_t ) -+ -+ root.addBelow( node_string ) -+ end -+ -+ doc.style( MXMLStyle.INDENT ) -+ try -+ doc.serialize( outstream ) -+ catch IoError in e -+ > @i"fallc: Warning: Couldn't create output file \"$(output)\": " -+ > error -+ return false -+ end -+ -+ return true -+end -+ -+//==================================================== -+// save the tables -+// -+// TABLE FORMAT: -+// 0-4: MARKER TLTAB -+// 5-6: FBFC endianity marker -+// 7-10: Number of entries (N). -+// 11- (11 + (N*9)): Language index table (lexically ordered): -+// 0-4: 5 bytes language code. -+// 5-8: language table + table offset. -+// N language tables: -+// 0-3: Count of entries in the table (K) -+// K entries: -+// 0-3: Id of the string in the table -+// 4-7: Length of the string to be read in bytes (L) -+// 8-8+L: String in UTF-8 format -+// -+ -+function saveTables( languages, output ) -+ > @i"fallc: Saving table into $(output)" -+ -+ // we need to know all the translations. -+ tables = [=>] -+ for name, lang in languages -+ if transcodeTo( name, "utf-8" ).len() != 5 -+ > @i"fallc: Warning; invalid language code $(lang.name). Ignoring." -+ continue -+ end -+ -+ tempStream = StringStream() -+ mb = MemBuf( 1, 4 ) -+ mb[0] = lang.entries.len() -+ tempStream.write( mb ) -+ -+ for id, entry in lang.entries -+ if entry -+ mb[0] = id -+ tempStream.write( mb ) -+ utf8entry = transcodeTo( entry, "utf-8" ) -+ mb[0] = utf8entry.len() -+ tempStream.write( mb ) -+ tempStream.write( utf8entry ) -+ end -+ end -+ -+ tables[name] = tempStream.closeToString() -+ end -+ -+ stream = OutputStream( output ) -+ stream.write( "TLTAB" ) -+ -+ // This will allow the decoding program to understand what we're saying. -+ endianMarker = "\xFBFC" -+ stream.write( endianMarker ) -+ // write the count of tables -+ mb[0] = tables.len() -+ stream.write( mb ) -+ -+ // then the table index -+ // using the iterator avoids useless copies of big data chunks -+ iter = tables.first() -+ curpos = 0 -+ while iter.hasCurrent() -+ stream.write( iter.key() ) -+ mb[0] = curpos -+ stream.write( mb ) -+ curpos += iter.value().len() -+ iter.next() -+ end -+ -+ // now write the tables. -+ iter = tables.first() -+ while iter.hasCurrent() -+ stream.write( iter.value() ) -+ iter.next() -+ end -+ -+ stream.close() -+ return true -+end -+ -+//==================================================== -+// main code -+// -+ -+Options.parse() -+ -+// nothing to do ? -+if not Options.inputs and not Options.globs -+ > i"fallc: Nothing to do." -+ return 0 -+end -+ -+// expand globs -+for glob in Options.globs -+ // get the path part -+ path = Path( glob ) -+ location = path.location -+ filename = path.filename -+ // try to diropen the location -+ try -+ direnum = DirectoryOpen( location ) -+ while (file = direnum.read() ) -+ if strWildcardMatch( glob, file ) -+ Options.inputs += location + "/" + file -+ end -+ end -+ catch IoError -+ > @i"fallc: FATAL: can't read directory \"$(location)\"." -+ return 1 -+ end -+end -+ -+// parse the language table -+languages = [=>] -+modname = nil -+for file in Options.inputs -+ ltab = parseLanguage( file ) -+ -+ // Continue in case of errors -+ if not ltab: continue -+ -+ if modname == nil -+ modname = ltab.modName -+ elif modname != ltab.modName -+ > @i"fallc: Warning: ignoring file \"$(ltab.file)\"." -+ > @i"fallc: containing infos for module \"$(ltab.module)\"." -+ continue -+ end -+ -+ if ltab.name in languages -+ > @i"fallc: Warning: definition for language \"$(ltab.name)\" in file \"$(ltab.file)\"" -+ > @i"fallc: was already present in file \"$(languages[ltab.name])\"." -+ end -+ languages[ ltab.name ] = ltab -+end -+ -+// try to save, if we have to. -+if languages -+ // time to save the table -+ // use the last table as default name -+ -+ // are we in merge mode? -+ if Options.merge -+ Options.checkvars = false // we don't need to check vars here. -+ lmerge = parseLanguage( Options.merge ) -+ if lmerge -+ for name, lang in languages -+ output = Options.output ? Options.output : \ -+ modname + "." + lang.name+ ".ftt" -+ saveMerge( lmerge, lang, output ) -+ if Options.output: break -+ end -+ end -+ else -+ output = Options.output ? Options.output : modname + ".ftr" -+ try -+ if saveTables( languages, output ) -+ > @i"fallc: Saved translation for module \"$(modname)\" to \"$(output)\"" -+ return 0 // OK -+ end -+ catch IoError -+ > @i"fallc: FATAL: error while saving to \"$(output)\"" -+ end -+ end -+else -+ > @i"fallc: No language availabe." -+end -+ -+return 1 -+ -+/* end of fallc.fal */ -Index: devtools/falconeer.fal.in -=================================================================== ---- devtools/falconeer.fal.in (revision 0) -+++ devtools/falconeer.fal.in (revision 401) -@@ -0,0 +1,260 @@ -+#!@FINAL_DESTINATION@/bin/falcon -+/* -+ FALCON - The Falcon Programming Language. -+ FILE: falconeer.fal -+ -+ Script that configures module skeleton. -+ ------------------------------------------------------------------- -+ -+ Copyright 2008 Giancarlo Niccolai -+ -+ Licensed under the Falcon Programming Language License, -+ Version 1.1 (the "License") or GPLv2.0 or following, -+ at your choice; you may not use this file except in -+ compliance with on of the Licenses. You may obtain -+ a copy of the Licenses at -+ -+ http://www.falconpl.org/?page_id=license_1_1 -+ http://www.gnu.org/licenses/old-licenses/gpl-2.0.html -+ -+ Unless required by applicable law or agreed to in writing, -+ software distributed under the License is distributed on -+ an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -+ KIND, either express or implied. See the License for the -+ specific language governing permissions and limitations -+ under the License. -+*/ -+ -+load regex -+ -+//========================================== -+// Global definitions -+// -+ -+// name used for skeleton files -+const skelname = "fmodskel" -+ -+// using falcon string concatenation to prevent cmake -+// to mangle with this values. -+const var_prjname = "@" "PROJECT_NAME@" -+const var_desc = "@" "DESCRIPTION@" -+const var_author = "@" "AUTHOR@" -+const var_date = "@" "DATE@" -+const var_year = "@" "YEAR@" -+const var_copy = "@" "COPYRIGHT@" -+const var_license = "@" "LICENSE@" -+const var_mainprj = "@" "MAIN_PRJ@" -+ -+const default_license = \ -+ " Licensed under the Falcon Programming Language License,\n" -+ " Version 1.1 (the \"License\"); you may not use this file\n" -+ " except in compliance with the License. You may obtain\n" -+ " a copy of the License at\n" -+ "\n" -+ " http://www.falconpl.org/?page_id=license_1_1\n" -+ "\n" -+ " Unless required by applicable law or agreed to in writing,\n" -+ " software distributed under the License is distributed on\n" -+ " an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n" -+ " KIND, either express or implied. See the License for the\n" -+ " specific language governing permissions and limitations\n" -+ " under the License.\n" -+ -+const default_prj = "FALCON - The Falcon Programming Language." -+ -+files = [\ -+ "src/" + skelname + ".cpp", -+ "src/" + skelname + "_ext.cpp", -+ "src/" + skelname + "_ext.h", -+ "src/" + skelname + "_st.cpp", -+ "src/" + skelname + "_st.h", -+ "src/" + skelname + "_mod.cpp", -+ "src/" + skelname + "_mod.h", -+ "src/" + skelname + "_srv.cpp", -+ "src/" + skelname + "_srv.h", -+ "src/" + skelname + "_CMakeLists.txt:src/CMakeLists.txt", -+ "templates/"+ skelname + "_cpp_template", -+ "templates/" + skelname + "_h_template", -+ "docs/" + skelname + "_faldoc.fd:docs/faldoc.fd", -+ skelname + "_CMakeLists.txt:CMakeLists.txt", -+ skelname + "_build.sh:build.sh", -+ skelname + "_falmod.cmake:falmod.cmake", -+ skelname + ".sln", -+ skelname + ".vcproj", -+ skelname + "_Makefile.gnu", -+ skelname + "_Makefile.mac" -+] -+ -+chgRegex = Regex( skelname ) -+ -+variables = [=>] -+ -+//========================================== -+// Configuration options parser -+// -+ -+object MyParser from CmdlineParser -+ prj_name = nil -+ author = "Unknown author" -+ description = "" -+ date = CurrentTime() -+ copyright = "The above AUTHOR" -+ licplate = default_license -+ mainprj = default_prj -+ -+ function onOption( option ) -+ switch option -+ case "?", "help": self.usage() -+ case "a", "author", "n", "name", "d", "description", \ -+ "l", "license", "c", "copyright", "p", "project" -+ self.expectValue() -+ default -+ self.unrecognized( option ) -+ end -+ end -+ -+ function onValue( option, value ) -+ switch option -+ case "a", "author": self.author = value -+ case "n", "name": self.prj_name = value -+ case "d", "description": self.description = value -+ case "l", "license": self.loadLicense( value ) -+ case "c", "copyright": self.copyright = value -+ case "p", "project": self.mainprj = value -+ end -+ end -+ -+ function onFree( param ) -+ self.unrecognized( param ) -+ end -+ -+ function loadLicense( param ) -+ try -+ inf = InputStream( param ) -+ self.licplate="" -+ while ( data = inf.read(2048) ) -+ self.licplate +=data -+ end -+ inf.close() -+ catch IoError in e -+ > "falconeer.fal: FATAL: cannot load license plate file ", param -+ > e -+ exit(1) -+ end -+ end -+ -+ function unrecognized( option ) -+ printl( "Unrecognized option \"", option, "\"\n\n" ); -+ self.usage() -+ exit(1) -+ end -+ -+ function usage() -+ > "Falconeer -- the skeleton module configurator.\n" -+ " Enter a directory where the Falcon Skeleton Module has been unpacked\n" -+ " and load this script setting the '-n' option.\n" -+ " Relevant the files in the skeleton directory will be renamed accordingly\n" -+ " to your settings, and configurable placeholder variables in each file\n" -+ " will be overwritten.\n" -+ -+ > " Options:\n" -+ " -?,--help \tPrints this help\n" -+ " -n/--name \tName of the project (will affect filenames)\n" -+ " -a/--author \tAuthor(s) of the project\n" -+ " -c/--copyright \tCopyright owner\n" -+ " -d/--description \tDescription for the project\n" -+ " -l/--license \tPointer to a license plate\n" -+ " -p/--project \tMain project to which this module belongs\n\n" -+ " -n option is mandatory.\n" -+ end -+end -+ -+//========================================== -+// Function that does the job -+// -+function parse_file( fileName, destName ) -+ global variables -+ -+ fin = InputStream( fileName ) -+ // convert the name -+ if not destName -+ foutName = fileName -+ chgRegex.replace( foutName, MyParser.prj_name ) -+ else -+ foutName = destName -+ end -+ if foutName == fileName: foutName += "_new" -+ -+ try -+ // open the output file name -+ fout = OutputStream( foutName ) -+ line = "" -+ -+ // read the line -+ loop -+ fin.readLine( line, 512 ) -+ if fin.eof(): break -+ -+ // scan and substitute the variables -+ for key, value in variables -+ pos = strFind( line, key ) -+ // can be more than one per line -+ while pos >= 0 -+ line[pos : pos + key.len()] = value -+ pos = strFind( line, key ) -+ end -+ end -+ // now we can write the line -+ fout.write( line + "\n" ) -+ end -+ -+ fin.close() -+ fout.close() -+ catch in error -+ > @"Error while performing change $fileName -> $foutName" -+ > error -+ return -+ end -+ -+ // remove the old file -+ // TODO: set an option to prevent this -+ try -+ fileRemove( fileName ) -+ catch in error -+ > @"Error removing $fileName" -+ > error -+ end -+end -+ -+//========================================== -+// Main program -+// -+ -+MyParser.parse() -+if not MyParser.prj_name -+ MyParser.usage() -+ exit( 1 ) -+end -+ -+// create the variables -+variables[var_prjname] = MyParser.prj_name -+variables[var_desc ] = MyParser.description -+variables[var_author ] = MyParser.author -+variables[var_date ] = MyParser.date.toRFC2822() -+variables[var_year ] = MyParser.date.year.toString() -+variables[var_copy ] = MyParser.copyright -+variables[var_license] = MyParser.licplate -+variables[var_mainprj] = MyParser.mainprj -+ -+for file in files -+ if ":" in file -+ file, dest = strSplit( file, ":", 2 ) -+ else -+ dest = nil -+ end -+ -+ > "Examining ", file, "..." -+ parse_file( file, dest ) -+end -+ -+/* End of falconeer.fal */ -Index: devtools/falcon-conf.in -=================================================================== ---- devtools/falcon-conf.in (revision 0) -+++ devtools/falcon-conf.in (revision 401) -@@ -0,0 +1,88 @@ -+#!/bin/sh -+# -+# Falcon configuration script -+# $Id: Falcon-core-0810-r401.patch,v 1.1 2008/06/09 22:09:36 salimma Exp $ -+# -+# Useful tool to compile falcon modules and embedding applications. -+# -+# (C) Giancarlo Niccolai 2003 -+ -+SYSTEM="" -+ -+usage() -+{ -+ echo "The Falcon Programming Language" -+ echo "" -+ echo "Build configuration tool for Falcon @FALCON_VERSION@" -+ echo "Usage: $0 params" -+ echo " -c, --cflags writes CFLAGS for modules" -+ echo " -e, --embed-flags writes CFLAGS for embedding applications" -+ echo " --cflags-only-I writes only the include part of CFLAGS" -+ echo " -i, --include writes the FALCON inlcude directory" -+ echo " -l, --libs write library flags for linking modules" -+ echo " -L, --embed-libs library flags and libraries for embedding apps" -+ echo " --libs-only-l write the libraries that must be linked" -+ echo " --libs-only-L write the directory where library is installed" -+ echo " --moddir write the module installation directory" -+ echo " -p, --ldpath Path for LD_LIBRARY_PATH" -+ echo " -h, --help this help" -+ echo "" -+ echo "Include this script in your makefiles with \$( $0 )" -+} -+ -+detectSystem() -+{ -+ uname | grep Mac && SYSTEM='mac' || SYSTEM='unix' -+} -+ -+if [ -z "$*" ]; then -+ usage -+ exit -+fi -+ -+FALCONLIB="-lfalcon_engine" -+ -+detectSystem -+ -+if [ "$SYSTEM" = "mac" ]; then -+ CFLAGS="-fPIC -dynamiclib -fno-common" -+ LDFLAGS="-module -dload -dynamiclib" -+else -+ CFLAGS="-fPIC -shared" -+ LDFLAGS="-module -dload -shared" -+fi -+ -+#configure for in-build tree -+if [ "x$FALCON_ACTIVE_TREE" = "x" ]; then -+ INC_PATH="@FALCON_FINAL_DESTINATION@/include" -+ LIB_PATH="@FALCON_FINAL_DESTINATION@/@FALCON_FINAL_DESTINATION_LIB@" -+ LIB_LD_PATH="@FINAL_DESTINATION@/@FALCON_FINAL_DESTINATION_LIB@" -+else -+ INC_PATH="$FALCON_ACTIVE_TREE/include" -+ LIB_PATH="$FALCON_ACTIVE_TREE/@FALCON_INSTALL_TREE_LIB@" -+ LIB_LD_PATH="$FALCON_ACTIVE_TREE/@FALCON_INSTALL_TREE_LIB@" -+fi -+ -+INC_FLAGS="-I$INC_PATH" -+LIB_FLAGS="-L$LIB_PATH" -+MODDIR="$LIB_PATH/falcon" -+ -+while [ -n "$*" ]; do -+ case "$1" in -+ "-c"| "--cflags") echo "$INC_FLAGS $CFLAGS" ;; -+ "-e"| "--embed-flags") echo "$INC_FLAGS" ;; -+ "--cflags-only-I") echo "$INC_FLAGS" ;; -+ "--cflags-only-other") echo "$CFLAGS" ;; -+ "-i"|"--include") echo "$INC_PATH";; -+ "-l"| "--libs") echo "$LIB_FLAGS $LDFLAGS $FALCONLIB" ;; -+ "-L"| "--embed-libs") echo "$LIB_FLAGS $FALCONLIB" ;; -+ "--libs-only-L") echo "$LIB_PATH" ;; -+ "-p" | "--ldpath") echo "$LIB_LD_PATH" ;; -+ "--libs-only-l") echo "$FALCONLIB" ;; -+ "--moddir") echo "$MODDIR";; -+ "-h" | "--help" | *) -+ usage -+ exit;; -+ esac -+ shift -+done -Index: devtools/CMakeLists.txt -=================================================================== ---- devtools/CMakeLists.txt (revision 0) -+++ devtools/CMakeLists.txt (revision 401) -@@ -0,0 +1,38 @@ -+# -+# Configurator for development tools -+# -+ -+IF(UNIX) -+ SET( sys_in_spec falcon-conf ) -+ SET( sys_inst_spec "${FALCON_BUILD_TREE}/core/devtools/falcon-conf" ) -+ENDIF(UNIX) -+ -+#Fixes a small bug of CMAKE in FILES install rule. -+IF(WIN32) -+ STRING(REPLACE "\\" "/" FALCON_BUILD_TREE "${FALCON_BUILD_TREE}" ) -+ENDIF(WIN32) -+ -+SET( in_files -+ falconeer.fal -+ ${sys_in_spec} -+ ) -+ -+SET( inst_files -+ "${FALCON_BUILD_TREE}/core/devtools/falconeer.fal" -+ "fallc.fal" -+ ${sys_inst_spec} -+ ) -+ -+FOREACH(item ${in_files} ) -+ CONFIGURE_FILE( -+ ${item}.in -+ "${FALCON_BUILD_TREE}/core/devtools/${item}" -+ ESCAPE_QUOTES -+ @ONLY ) -+ENDFOREACH(item) -+ -+INSTALL(FILES ${inst_files} -+ DESTINATION ${FALCON_BIN_DIR} -+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE -+ GROUP_READ GROUP_EXECUTE -+ WORLD_READ WORLD_EXECUTE ) -Index: devtools/README -=================================================================== ---- devtools/README (revision 0) -+++ devtools/README (revision 401) -@@ -0,0 +1,16 @@ -+ -+ The Falcon Programming Language -+ -+ Falcon Development Tools -+ -+ 0.8 -+ -+ The tools in this directory are meant to be a support for development of -+third party modules and embedding applications. -+ -+ Modules and embeddings that are not included in the Falcon Source Project -+are not bound to use Falcon Development Enviroment. They just require a standard -+installation of Falcon with development support (dev packages for debian distros, -+Development option turned on for windows installer and so on), which will include -+correctly configured tools which are present in this part of the project. -+ -Index: versioninfo -=================================================================== ---- versioninfo (revision 0) -+++ versioninfo (revision 401) -@@ -0,0 +1,10 @@ -+FALCON_VERSION_MAJOR=0 -+FALCON_VERSION_MINOR=8 -+FALCON_VERSION_REVISION=10 -+FALCON_VERSION_PATCH=0 -+ -+FALCON_VERSION_NAME="piuma" -+ -+FALCON_SONAME_VERSION=1 -+FALCON_SONAME_REVISION=10 -+FALCON_SONAME_AGE=0 -Index: clt/falcon/CMakeLists.txt -=================================================================== ---- clt/falcon/CMakeLists.txt (revision 393) -+++ clt/falcon/CMakeLists.txt (working copy) -@@ -1,12 +1,12 @@ --PROJECT(falcon) -+################################################## -+# Falcon Programming Language -+# -+# Falcon command line -+################################################## - - # Inclusion settings - INCLUDE_DIRECTORIES(.) --INCLUDE_DIRECTORIES(BEFORE ${TARGET_DIR}/include) --INCLUDE_DIRECTORIES(BEFORE ../../include) --LINK_DIRECTORIES(BEFORE ${TARGET_DIR}/${TARGET_LIB_DIR} ) - -- - IF(WIN32) - SET( SYSTEM_RC falcon.rc) - ENDIF(WIN32) -@@ -20,7 +20,6 @@ - #Link - TARGET_LINK_LIBRARIES(falcon falcon_engine) - --#In unix and mac we have to add extra libraries - #Install --FALCON_INSTALL( falcon bin ) -- -+INSTALL( TARGETS falcon -+ DESTINATION ${FALCON_BIN_DIR} ) -Index: clt/faltest/CMakeLists.txt -=================================================================== ---- clt/faltest/CMakeLists.txt (revision 393) -+++ clt/faltest/CMakeLists.txt (working copy) -@@ -1,12 +1,12 @@ --PROJECT(faltest) -+################################################## -+# Falcon Programming Language -+# -+# Faltest -+################################################## - - # Inclusion settings - INCLUDE_DIRECTORIES(.) --INCLUDE_DIRECTORIES(BEFORE ${TARGET_DIR}/include) --INCLUDE_DIRECTORIES(BEFORE ../../include) --LINK_DIRECTORIES(BEFORE ${TARGET_DIR}/${TARGET_LIB_DIR} ) - -- - IF(WIN32) - SET(SYS_RC faltest.rc) - SET(SYS_RC_DLL testsuite.rc) -@@ -39,5 +39,8 @@ - PROPERTIES PREFIX "") - - #Install --FALCON_INSTALL( faltest bin ) --FALCON_MODULE_INSTALL( testsuite ) -+INSTALL( TARGETS faltest -+ DESTINATION ${FALCON_BIN_DIR} ) -+ -+INSTALL( TARGETS testsuite -+ DESTINATION ${FALCON_MOD_INSTALL} ) -Index: clt/falrun/CMakeLists.txt -=================================================================== ---- clt/falrun/CMakeLists.txt (revision 393) -+++ clt/falrun/CMakeLists.txt (working copy) -@@ -1,12 +1,12 @@ --PROJECT(falrun) -+################################################## -+# Falcon Programming Language -+# -+# Falrun -+################################################## - - # Inclusion settings - INCLUDE_DIRECTORIES(.) --INCLUDE_DIRECTORIES(BEFORE ${TARGET_DIR}/include) --INCLUDE_DIRECTORIES(BEFORE ../../include) --LINK_DIRECTORIES(BEFORE ${TARGET_DIR}/${TARGET_LIB_DIR} ) - -- - IF(WIN32) - SET(SYS_RC falrun.rc) - ENDIF(WIN32) -@@ -21,4 +21,5 @@ - TARGET_LINK_LIBRARIES(falrun falcon_engine) - - #Install --FALCON_INSTALL( falrun bin ) -+INSTALL( TARGETS falrun -+ DESTINATION ${FALCON_BIN_DIR} ) -Index: clt/faldisass/CMakeLists.txt -=================================================================== ---- clt/faldisass/CMakeLists.txt (revision 393) -+++ clt/faldisass/CMakeLists.txt (working copy) -@@ -1,12 +1,12 @@ --PROJECT(faldisass) -+################################################## -+# Falcon Programming Language -+# -+# Faldisass -+################################################## - - # Inclusion settings - INCLUDE_DIRECTORIES(.) --INCLUDE_DIRECTORIES(BEFORE ${TARGET_DIR}/include) --INCLUDE_DIRECTORIES(BEFORE ../../include) --LINK_DIRECTORIES(BEFORE ${TARGET_DIR}/${TARGET_LIB_DIR} ) - -- - IF(WIN32) - SET(SYS_RC faldisass.rc) - ENDIF(WIN32) -@@ -21,4 +21,5 @@ - TARGET_LINK_LIBRARIES(faldisass falcon_engine) - - #Install --FALCON_INSTALL( faldisass bin ) -+INSTALL( TARGETS faldisass -+ DESTINATION ${FALCON_BIN_DIR} ) -Index: clt/CMakeLists.txt -=================================================================== ---- clt/CMakeLists.txt (revision 393) -+++ clt/CMakeLists.txt (working copy) -@@ -1,3 +1,9 @@ -+################################################## -+# Falcon Programming Language -+# -+# CLT - Command Line Tools meta cmake file -+################################################## -+ - ADD_SUBDIRECTORY(faltest) - ADD_SUBDIRECTORY(faldisass) - ADD_SUBDIRECTORY(falrun) -Index: include/falcon/config.h.in -=================================================================== ---- include/falcon/config.h.in (revision 393) -+++ include/falcon/config.h.in (working copy) -@@ -57,15 +57,15 @@ - // Config informations - // - #ifdef FALCON_SYSTEM_WIN -- #define FALCON_DEFAULT_BIN "@FINAL_DESTINATION@\\bin" -- #define FALCON_DEFAULT_LIB "@FINAL_DESTINATION@\\lib" -- #define FALCON_DEFAULT_CONFIG "@FINAL_DESTINATION@\\etc" -- #define FALCON_DEFAULT_LOAD_PATH ".;@FINAL_DESTINATION@\\bin" -+ #define FALCON_DEFAULT_BIN "@FALCON_FINAL_DESTINATION@\\bin" -+ #define FALCON_DEFAULT_LIB "@FALCON_FINAL_DESTINATION@\\@FALCON_FINAL_DESTINATION_LIB@" -+ #define FALCON_DEFAULT_CONFIG "@FALCON_FINAL_DESTINATION@\\etc" -+ #define FALCON_DEFAULT_LOAD_PATH ".;@FALCON_FINAL_DESTINATION@\\bin" - #else -- #define FALCON_DEFAULT_BIN "@FINAL_DESTINATION@/bin" -- #define FALCON_DEFAULT_LIB "@FINAL_DESTINATION@/@TARGET_LIB_DIR@" -+ #define FALCON_DEFAULT_BIN "@FALCON_FINAL_DESTINATION@/bin" -+ #define FALCON_DEFAULT_LIB "@FALCON_FINAL_DESTINATION@/@FALCON_FINAL_DESTINATION_LIB@" - #define FALCON_DEFAULT_CONFIG "/etc" -- #define FALCON_DEFAULT_LOAD_PATH ".;@FINAL_DESTINATION@/@TARGET_LIB_DIR@/falcon" -+ #define FALCON_DEFAULT_LOAD_PATH ".;@FALCON_FINAL_DESTINATION@/@FALCON_FINAL_DESTINATION_LIB@/falcon" - #endif - - #endif -Index: include/CMakeLists.txt -=================================================================== ---- include/CMakeLists.txt (revision 393) -+++ include/CMakeLists.txt (working copy) -@@ -2,25 +2,26 @@ - # Just install include files so that every part of the project can use it. - # - -+CONFIGURE_FILE( -+ falcon/config.h.in -+ "${FALCON_BUILD_TREE}/core/include/falcon/config.h" -+ ESCAPE_QUOTES -+ @ONLY ) -+ - FILE( GLOB fasm_files "fasm/*.h" ) - FILE( GLOB falcon_files "falcon/*.h" ) - - INSTALL( FILES ${fasm_files} -- DESTINATION ${TARGET_DIR}/include/fasm) -+ DESTINATION "${FALCON_INC_DIR}/fasm") - - INSTALL( FILES ${falcon_files} -- DESTINATION ${TARGET_DIR}/include/falcon) -+ DESTINATION "${FALCON_INC_DIR}/falcon") - --CONFIGURE_FILE( -- falcon/config.h.in -- ${FALCON_BUILD_TREE}/include/falcon/config.h -- ESCAPE_QUOTES -- @ONLY ) -+#Fixes a small bug of CMAKE in FILES install rule. -+IF(WIN32) -+ STRING(REPLACE "\\" "/" FALCON_BUILD_TREE "${FALCON_BUILD_TREE}" ) -+ENDIF(WIN32) - --# This copy should actually be performed during install, --# but a bug in current windows version of CMAKE (2.4.7) prevents it. --CONFIGURE_FILE( -- falcon/config.h.in -- ${TARGET_DIR}/include/falcon/config.h -- ESCAPE_QUOTES -- @ONLY ) -\ No newline at end of file -+INSTALL( FILES "${FALCON_BUILD_TREE}/core/include/falcon/config.h" -+ DESTINATION "${FALCON_INC_DIR}/falcon") -+ -Index: rtl/CMakeLists.txt -=================================================================== ---- rtl/CMakeLists.txt (revision 393) -+++ rtl/CMakeLists.txt (working copy) -@@ -1,11 +1,11 @@ --PROJECT(falcon_rtl) -+################################################## -+# Falcon Programming Language -+# -+# Falcon RTL -+################################################## - - INCLUDE_DIRECTORIES(.) --INCLUDE_DIRECTORIES(BEFORE ${TARGET_DIR}/include) --INCLUDE_DIRECTORIES(BEFORE ../include) --LINK_DIRECTORIES(BEFORE ${TARGET_DIR}/${TARGET_LIB_DIR} ) - -- - IF(WIN32) - SET(SYSTEM_RC falcon_rtl.rc) - ENDIF(WIN32) -@@ -49,4 +49,5 @@ - ENDIF(UNIX OR MAC) - - #Install --FALCON_MODULE_INSTALL( falcon_rtl ) -+INSTALL( TARGETS falcon_rtl -+ DESTINATION "${FALCON_MOD_INSTALL}" ) -Index: engine/src_parser.cpp -=================================================================== ---- engine/src_parser.cpp (revision 393) -+++ engine/src_parser.cpp (working copy) -@@ -3479,12 +3479,12 @@ - { - case 6: - #line 206 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_lone_end ); ;} -+ { COMPILER->raiseError(Falcon::e_lone_end ); } - break; - - case 7: - #line 207 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_case_outside ); ;} -+ { COMPILER->raiseError(Falcon::e_case_outside ); } - break; - - case 8: -@@ -3492,7 +3492,7 @@ - { - if ( (yyvsp[(1) - (1)].stringp) != 0 ) - COMPILER->addLoad( *(yyvsp[(1) - (1)].stringp) ); -- ;} -+ } - break; - - case 10: -@@ -3500,7 +3500,7 @@ - { - if( (yyvsp[(1) - (1)].fal_stat) != 0 ) - COMPILER->addFunction( (yyvsp[(1) - (1)].fal_stat) ); -- ;} -+ } - break; - - case 11: -@@ -3508,7 +3508,7 @@ - { - if ( (yyvsp[(1) - (1)].fal_stat) != 0 ) - COMPILER->addClass( (yyvsp[(1) - (1)].fal_stat) ); -- ;} -+ } - break; - - case 12: -@@ -3516,7 +3516,7 @@ - { - if ( (yyvsp[(1) - (1)].fal_stat) != 0 ) - COMPILER->addClass( (yyvsp[(1) - (1)].fal_stat) ); -- ;} -+ } - break; - - case 13: -@@ -3524,12 +3524,12 @@ - { - if( (yyvsp[(1) - (1)].fal_stat) != 0 ) - COMPILER->addStatement( (yyvsp[(1) - (1)].fal_stat) ); -- ;} -+ } - break; - - case 19: - #line 245 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.integer) = - (yyvsp[(2) - (2)].integer); ;} -+ { (yyval.integer) = - (yyvsp[(2) - (2)].integer); } - break; - - case 20: -@@ -3538,7 +3538,7 @@ - if ( COMPILER->getContext() != 0 ) - COMPILER->raiseError(Falcon::e_toplevel_load ); - (yyval.stringp) = (yyvsp[(2) - (3)].stringp); -- ;} -+ } - break; - - case 21: -@@ -3547,7 +3547,7 @@ - if ( COMPILER->getContext() != 0 ) - COMPILER->raiseError(Falcon::e_toplevel_load ); - (yyval.stringp) = (yyvsp[(2) - (3)].stringp); -- ;} -+ } - break; - - case 22: -@@ -3555,42 +3555,42 @@ - { - COMPILER->raiseError(Falcon::e_syn_load ); - (yyval.stringp) = 0; -- ;} -+ } - break; - - case 23: - #line 269 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->checkLocalUndefined(); (yyval.fal_stat) = (yyvsp[(1) - (1)].fal_stat); ;} -+ { COMPILER->checkLocalUndefined(); (yyval.fal_stat) = (yyvsp[(1) - (1)].fal_stat); } - break; - - case 24: - #line 270 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_stat) = 0; ;} -+ { (yyval.fal_stat) = 0; } - break; - - case 25: - #line 271 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_toplevel_func ); (yyval.fal_stat) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_toplevel_func ); (yyval.fal_stat) = 0; } - break; - - case 26: - #line 272 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_toplevel_obj ); (yyval.fal_stat) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_toplevel_obj ); (yyval.fal_stat) = 0; } - break; - - case 27: - #line 273 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_toplevel_class ); (yyval.fal_stat) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_toplevel_class ); (yyval.fal_stat) = 0; } - break; - - case 28: - #line 274 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syntax ); (yyval.fal_stat) = 0;;} -+ { COMPILER->raiseError(Falcon::e_syntax ); (yyval.fal_stat) = 0;} - break; - - case 29: - #line 279 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_stat) = new Falcon::StmtAutoexpr( LINE, (yyvsp[(1) - (2)].fal_val) ); ;} -+ { (yyval.fal_stat) = new Falcon::StmtAutoexpr( LINE, (yyvsp[(1) - (2)].fal_val) ); } - break; - - case 30: -@@ -3600,7 +3600,7 @@ - COMPILER->defineVal( first ); - (yyval.fal_stat) = new Falcon::StmtAutoexpr( LINE, - new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_assign, first, (yyvsp[(3) - (4)].fal_val) ) ) ); -- ;} -+ } - break; - - case 31: -@@ -3617,7 +3617,7 @@ - Falcon::Value *second = new Falcon::Value( (yyvsp[(5) - (6)].fal_adecl) ); - (yyval.fal_stat) = new Falcon::StmtAutoexpr( LINE, - new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_assign, first, second ) ) ); -- ;} -+ } - break; - - case 51: -@@ -3627,7 +3627,7 @@ - COMPILER->defineVal( (yyvsp[(1) - (3)].fal_val) ); - COMPILER->addStatement( new Falcon::StmtAutoexpr( CURRENT_LINE, new Falcon::Value( - new Falcon::Expression( Falcon::Expression::t_assign, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ) ) ); -- ;} -+ } - break; - - case 52: -@@ -3636,17 +3636,17 @@ - COMPILER->defineVal( (yyvsp[(3) - (5)].fal_val) ); - COMPILER->addStatement( new Falcon::StmtAutoexpr(CURRENT_LINE, new Falcon::Value( - new Falcon::Expression( Falcon::Expression::t_assign, (yyvsp[(3) - (5)].fal_val), (yyvsp[(5) - (5)].fal_val) ) ) ) ); -- ;} -+ } - break; - - case 53: - #line 338 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->defContext( false ); (yyval.fal_stat)=0; ;} -+ { COMPILER->defContext( false ); (yyval.fal_stat)=0; } - break; - - case 54: - #line 340 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError( Falcon::e_syn_def ); ;} -+ { COMPILER->raiseError( Falcon::e_syn_def ); } - break; - - case 55: -@@ -3656,7 +3656,7 @@ - COMPILER->pushLoop( w ); - COMPILER->pushContext( w ); - COMPILER->pushContextSet( &w->children() ); -- ;} -+ } - break; - - case 56: -@@ -3667,7 +3667,7 @@ - COMPILER->popContext(); - COMPILER->popContextSet(); - (yyval.fal_stat) = w; -- ;} -+ } - break; - - case 57: -@@ -3677,37 +3677,37 @@ - if ( (yyvsp[(2) - (2)].fal_stat) != 0 ) - w->children().push_back( (yyvsp[(2) - (2)].fal_stat) ); - (yyval.fal_stat) = w; -- ;} -+ } - break; - - case 58: - #line 366 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); ;} -+ { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); } - break; - - case 59: - #line 367 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = 0; ;} -+ { (yyval.fal_val) = 0; } - break; - - case 60: - #line 368 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_while ); (yyval.fal_val) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_syn_while ); (yyval.fal_val) = 0; } - break; - - case 61: - #line 372 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); ;} -+ { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); } - break; - - case 62: - #line 373 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = 0; ;} -+ { (yyval.fal_val) = 0; } - break; - - case 63: - #line 374 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_while, "", CURRENT_LINE ); (yyval.fal_val) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_syn_while, "", CURRENT_LINE ); (yyval.fal_val) = 0; } - break; - - case 64: -@@ -3716,7 +3716,7 @@ - Falcon::StmtIf *stmt = new Falcon::StmtIf( LINE, (yyvsp[(1) - (1)].fal_val) ); - COMPILER->pushContext( stmt ); - COMPILER->pushContextSet( &stmt->children() ); -- ;} -+ } - break; - - case 65: -@@ -3726,7 +3726,7 @@ - COMPILER->popContext(); - COMPILER->popContextSet(); - (yyval.fal_stat) = stmt; -- ;} -+ } - break; - - case 66: -@@ -3737,27 +3737,27 @@ - if( (yyvsp[(2) - (2)].fal_stat) != 0 ) - stmt->children().push_back( (yyvsp[(2) - (2)].fal_stat) ); - (yyval.fal_stat) = stmt; -- ;} -+ } - break; - - case 67: - #line 403 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); ;} -+ { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); } - break; - - case 68: - #line 404 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_if ); (yyval.fal_val) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_syn_if ); (yyval.fal_val) = 0; } - break; - - case 69: - #line 408 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); ;} -+ { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); } - break; - - case 70: - #line 409 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_if, "", CURRENT_LINE ); (yyval.fal_val) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_syn_if, "", CURRENT_LINE ); (yyval.fal_val) = 0; } - break; - - case 73: -@@ -3766,12 +3766,12 @@ - Falcon::StmtIf *stmt = static_cast(COMPILER->getContext()); - COMPILER->popContextSet(); - COMPILER->pushContextSet( &stmt->elseChildren() ); -- ;} -+ } - break; - - case 76: - #line 426 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_else ); ;} -+ { COMPILER->raiseError(Falcon::e_syn_else ); } - break; - - case 77: -@@ -3782,24 +3782,24 @@ - Falcon::StmtElif *elif = new Falcon::StmtElif( LINE, (yyvsp[(1) - (1)].fal_val) ); - stmt->elifChildren().push_back( elif ); - COMPILER->pushContextSet( &elif->children() ); -- ;} -+ } - break; - - case 79: - #line 443 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); ;} -+ { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); } - break; - - case 80: - #line 444 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_elif ); (yyval.fal_val) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_syn_elif ); (yyval.fal_val) = 0; } - break; - - case 82: - #line 449 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addStatement( (yyvsp[(2) - (2)].fal_stat) ); -- ;} -+ } - break; - - case 83: -@@ -3811,7 +3811,7 @@ - } - else - (yyval.fal_stat) = new Falcon::StmtBreak( LINE ); -- ;} -+ } - break; - - case 84: -@@ -3819,7 +3819,7 @@ - { - COMPILER->raiseError(Falcon::e_syn_break ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 85: -@@ -3831,7 +3831,7 @@ - } - else - (yyval.fal_stat) = new Falcon::StmtContinue( LINE ); -- ;} -+ } - break; - - case 86: -@@ -3843,7 +3843,7 @@ - } - else - (yyval.fal_stat) = new Falcon::StmtContinue( LINE, true ); -- ;} -+ } - break; - - case 87: -@@ -3851,7 +3851,7 @@ - { - COMPILER->raiseError(Falcon::e_syn_continue ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 88: -@@ -3869,7 +3869,7 @@ - COMPILER->pushLoop( f ); - COMPILER->pushContext( f ); - COMPILER->pushContextSet( &f->children() ); -- ;} -+ } - break; - - case 89: -@@ -3880,7 +3880,7 @@ - COMPILER->popContext(); - COMPILER->popContextSet(); - (yyval.fal_stat) = f; -- ;} -+ } - break; - - case 90: -@@ -3899,7 +3899,7 @@ - COMPILER->pushLoop( f ); - COMPILER->pushContext( f ); - COMPILER->pushContextSet( &f->children() ); -- ;} -+ } - break; - - case 91: -@@ -3912,7 +3912,7 @@ - COMPILER->popContext(); - COMPILER->popContextSet(); - (yyval.fal_stat) = f; -- ;} -+ } - break; - - case 92: -@@ -3920,7 +3920,7 @@ - { delete (yyvsp[(2) - (5)].fal_adecl); - COMPILER->raiseError( Falcon::e_syn_forin ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 93: -@@ -3928,7 +3928,7 @@ - { - COMPILER->raiseError( Falcon::e_syn_forin ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 96: -@@ -3939,7 +3939,7 @@ - Falcon::StmtForin *f = static_cast(COMPILER->getContext()); - f->children().push_back( (yyvsp[(1) - (1)].fal_stat) ); - } -- ;} -+ } - break; - - case 100: -@@ -3955,7 +3955,7 @@ - else { - (yyval.fal_stat) = new Falcon::StmtFordot( LINE, (yyvsp[(2) - (3)].fal_val) ); - } -- ;} -+ } - break; - - case 101: -@@ -3963,14 +3963,14 @@ - { - COMPILER->raiseError( Falcon::e_syn_fordot ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 102: - #line 603 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_stat) = new Falcon::StmtSelfPrint( LINE, (yyvsp[(2) - (3)].fal_adecl) ); -- ;} -+ } - break; - - case 103: -@@ -3978,7 +3978,7 @@ - { - COMPILER->raiseError( Falcon::e_syn_self_print ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 104: -@@ -3986,7 +3986,7 @@ - { - (yyvsp[(2) - (3)].fal_adecl)->pushBack( new Falcon::Value( COMPILER->addString( "\n" ) ) ); - (yyval.fal_stat) = new Falcon::StmtSelfPrint( LINE, (yyvsp[(2) - (3)].fal_adecl) ); -- ;} -+ } - break; - - case 105: -@@ -3995,7 +3995,7 @@ - Falcon::ArrayDecl *adecl = new Falcon::ArrayDecl(); - adecl->pushBack( new Falcon::Value( COMPILER->addString( "\n" ) ) ); - (yyval.fal_stat) = new Falcon::StmtSelfPrint( LINE, adecl ); -- ;} -+ } - break; - - case 106: -@@ -4003,7 +4003,7 @@ - { - COMPILER->raiseError( Falcon::e_syn_self_print ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 107: -@@ -4011,7 +4011,7 @@ - { - COMPILER->raiseError( Falcon::e_syn_self_print ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 108: -@@ -4020,7 +4020,7 @@ - Falcon::ArrayDecl *adecl = new Falcon::ArrayDecl(); - adecl->pushBack( new Falcon::Value( (yyvsp[(1) - (1)].stringp) ) ); - (yyval.fal_stat) = new Falcon::StmtSelfPrint( LINE, adecl ); -- ;} -+ } - break; - - case 109: -@@ -4034,12 +4034,12 @@ - COMPILER->pushContextSet( &f->firstBlock() ); - // Push anyhow an empty item, that is needed for to check again for thio blosk - f->firstBlock().push_back( new Falcon::StmtNone( LINE ) ); -- ;} -+ } - break; - - case 110: - #line 661 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->popContextSet(); ;} -+ { COMPILER->popContextSet(); } - break; - - case 111: -@@ -4052,12 +4052,12 @@ - } - if ( (yyvsp[(3) - (3)].fal_stat) != 0 ) - f->firstBlock().push_back( (yyvsp[(3) - (3)].fal_stat) ); -- ;} -+ } - break; - - case 112: - #line 672 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_forfirst ); ;} -+ { COMPILER->raiseError(Falcon::e_syn_forfirst ); } - break; - - case 113: -@@ -4071,12 +4071,12 @@ - // Push anyhow an empty item, that is needed for empty last blocks - f->lastBlock().push_back( new Falcon::StmtNone( LINE ) ); - COMPILER->pushContextSet( &f->lastBlock() ); -- ;} -+ } - break; - - case 114: - #line 688 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->popContextSet(); ;} -+ { COMPILER->popContextSet(); } - break; - - case 115: -@@ -4089,12 +4089,12 @@ - } - if ( (yyvsp[(3) - (3)].fal_stat) != 0 ) - f->lastBlock().push_back( (yyvsp[(3) - (3)].fal_stat) ); -- ;} -+ } - break; - - case 116: - #line 698 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_forlast ); ;} -+ { COMPILER->raiseError(Falcon::e_syn_forlast ); } - break; - - case 117: -@@ -4110,12 +4110,12 @@ - // (Note that the formiddle: version below does *not* need it - f->middleBlock().push_back( new Falcon::StmtNone( LINE ) ); - COMPILER->pushContextSet( &f->middleBlock() ); -- ;} -+ } - break; - - case 118: - #line 716 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->popContextSet(); ;} -+ { COMPILER->popContextSet(); } - break; - - case 119: -@@ -4128,12 +4128,12 @@ - } - if ( (yyvsp[(3) - (3)].fal_stat) != 0 ) - f->middleBlock().push_back( (yyvsp[(3) - (3)].fal_stat) ); -- ;} -+ } - break; - - case 120: - #line 727 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_formiddle ); ;} -+ { COMPILER->raiseError(Falcon::e_syn_formiddle ); } - break; - - case 121: -@@ -4142,7 +4142,7 @@ - Falcon::StmtSwitch *stmt = new Falcon::StmtSwitch( LINE, (yyvsp[(1) - (1)].fal_val) ); - COMPILER->pushContext( stmt ); - COMPILER->pushContextSet( &stmt->blocks() ); -- ;} -+ } - break; - - case 122: -@@ -4152,12 +4152,12 @@ - COMPILER->popContext(); - COMPILER->popContextSet(); - (yyval.fal_stat) = stmt; -- ;} -+ } - break; - - case 123: - #line 748 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); ;} -+ { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); } - break; - - case 124: -@@ -4165,12 +4165,12 @@ - { - COMPILER->raiseError(Falcon::e_switch_decl ); - (yyval.fal_val) = 0; -- ;} -+ } - break; - - case 127: - #line 759 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_switch_body ); ;} -+ { COMPILER->raiseError(Falcon::e_switch_body ); } - break; - - case 129: -@@ -4182,7 +4182,7 @@ - Falcon::StmtCaseBlock *lst = new Falcon::StmtCaseBlock( LINE ); - COMPILER->pushContextSet( &lst->children() ); - stmt->addBlock( lst ); -- ;} -+ } - break; - - case 131: -@@ -4194,14 +4194,14 @@ - Falcon::StmtCaseBlock *lst = new Falcon::StmtCaseBlock( CURRENT_LINE ); - COMPILER->pushContextSet( &lst->children() ); - stmt->addBlock( lst ); -- ;} -+ } - break; - - case 132: - #line 783 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addStatement( (yyvsp[(5) - (5)].fal_stat) ); -- ;} -+ } - break; - - case 133: -@@ -4215,7 +4215,7 @@ - Falcon::StmtCaseBlock *lst = new Falcon::StmtCaseBlock( LINE ); - COMPILER->pushContextSet( &lst->children() ); - stmt->addBlock( lst ); -- ;} -+ } - break; - - case 135: -@@ -4229,14 +4229,14 @@ - Falcon::StmtCaseBlock *lst = new Falcon::StmtCaseBlock( CURRENT_LINE ); - COMPILER->pushContextSet( &lst->children() ); - stmt->addBlock( lst ); -- ;} -+ } - break; - - case 136: - #line 809 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addStatement( (yyvsp[(5) - (5)].fal_stat) ); -- ;} -+ } - break; - - case 138: -@@ -4249,19 +4249,19 @@ - COMPILER->raiseError(Falcon::e_switch_default, "", CURRENT_LINE ); - } - COMPILER->pushContextSet( &stmt->defaultBlock() ); -- ;} -+ } - break; - - case 142: - #line 832 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_default_decl ); ;} -+ { COMPILER->raiseError(Falcon::e_default_decl ); } - break; - - case 144: - #line 836 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addStatement( (yyvsp[(2) - (2)].fal_stat) ); -- ;} -+ } - break; - - case 147: -@@ -4272,7 +4272,7 @@ - if ( stmt->nilBlock() != -1 ) - COMPILER->raiseError(Falcon::e_switch_clash, "nil entry", CURRENT_LINE ); - stmt->nilBlock( stmt->currentBlock() ); -- ;} -+ } - break; - - case 148: -@@ -4286,7 +4286,7 @@ - COMPILER->raiseError(Falcon::e_switch_clash, "", CURRENT_LINE ); - delete val; - } -- ;} -+ } - break; - - case 149: -@@ -4299,7 +4299,7 @@ - COMPILER->raiseError(Falcon::e_switch_clash, "", CURRENT_LINE ); - delete val; - } -- ;} -+ } - break; - - case 150: -@@ -4312,7 +4312,7 @@ - COMPILER->raiseError(Falcon::e_switch_clash, "", CURRENT_LINE ); - delete val; - } -- ;} -+ } - break; - - case 151: -@@ -4329,7 +4329,7 @@ - COMPILER->raiseError(Falcon::e_switch_clash, "", CURRENT_LINE ); - delete val; - } -- ;} -+ } - break; - - case 152: -@@ -4338,7 +4338,7 @@ - Falcon::StmtSelect *stmt = new Falcon::StmtSelect( LINE, (yyvsp[(1) - (1)].fal_val) ); - COMPILER->pushContext( stmt ); - COMPILER->pushContextSet( &stmt->blocks() ); -- ;} -+ } - break; - - case 153: -@@ -4348,12 +4348,12 @@ - COMPILER->popContext(); - COMPILER->popContextSet(); - (yyval.fal_stat) = stmt; -- ;} -+ } - break; - - case 154: - #line 928 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); ;} -+ { (yyval.fal_val) = (yyvsp[(2) - (3)].fal_val); } - break; - - case 155: -@@ -4361,12 +4361,12 @@ - { - COMPILER->raiseError(Falcon::e_select_decl ); - (yyval.fal_val) = 0; -- ;} -+ } - break; - - case 158: - #line 939 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_select_body ); ;} -+ { COMPILER->raiseError(Falcon::e_select_body ); } - break; - - case 160: -@@ -4378,7 +4378,7 @@ - Falcon::StmtCaseBlock *lst = new Falcon::StmtCaseBlock( LINE ); - COMPILER->pushContextSet( &lst->children() ); - stmt->addBlock( lst ); -- ;} -+ } - break; - - case 162: -@@ -4390,14 +4390,14 @@ - Falcon::StmtCaseBlock *lst = new Falcon::StmtCaseBlock( CURRENT_LINE ); - COMPILER->pushContextSet( &lst->children() ); - stmt->addBlock( lst ); -- ;} -+ } - break; - - case 163: - #line 964 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addStatement( (yyvsp[(5) - (5)].fal_stat) ); -- ;} -+ } - break; - - case 164: -@@ -4411,7 +4411,7 @@ - Falcon::StmtCaseBlock *lst = new Falcon::StmtCaseBlock( LINE ); - COMPILER->pushContextSet( &lst->children() ); - stmt->addBlock( lst ); -- ;} -+ } - break; - - case 166: -@@ -4425,14 +4425,14 @@ - Falcon::StmtCaseBlock *lst = new Falcon::StmtCaseBlock( CURRENT_LINE ); - COMPILER->pushContextSet( &lst->children() ); - stmt->addBlock( lst ); -- ;} -+ } - break; - - case 167: - #line 990 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addStatement( (yyvsp[(5) - (5)].fal_stat) ); -- ;} -+ } - break; - - case 171: -@@ -4446,7 +4446,7 @@ - COMPILER->raiseError(Falcon::e_switch_clash, "", CURRENT_LINE ); - delete val; - } -- ;} -+ } - break; - - case 172: -@@ -4463,14 +4463,14 @@ - COMPILER->raiseError(Falcon::e_switch_clash, "", CURRENT_LINE ); - delete val; - } -- ;} -+ } - break; - - case 173: - #line 1037 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_stat) = new Falcon::StmtGive( LINE, (yyvsp[(4) - (5)].fal_adecl), (yyvsp[(2) - (5)].fal_adecl) ); -- ;} -+ } - break; - - case 174: -@@ -4478,12 +4478,12 @@ - { - (yyval.fal_stat) = new Falcon::StmtGive( LINE, 0, (yyvsp[(2) - (4)].fal_adecl) ); - COMPILER->raiseError(Falcon::e_syn_give ); -- ;} -+ } - break; - - case 175: - #line 1045 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_give ); (yyval.fal_stat) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_syn_give ); (yyval.fal_stat) = 0; } - break; - - case 176: -@@ -4493,7 +4493,7 @@ - if ( (yyvsp[(3) - (3)].fal_stat) != 0 ) - t->children().push_back( (yyvsp[(3) - (3)].fal_stat) ); - (yyval.fal_stat) = t; -- ;} -+ } - break; - - case 177: -@@ -4502,7 +4502,7 @@ - Falcon::StmtTry *t = new Falcon::StmtTry( LINE ); - COMPILER->pushContext( t ); - COMPILER->pushContextSet( &t->children() ); -- ;} -+ } - break; - - case 178: -@@ -4511,12 +4511,12 @@ - (yyval.fal_stat) = COMPILER->getContext(); - COMPILER->popContext(); - COMPILER->popContextSet(); -- ;} -+ } - break; - - case 180: - #line 1079 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_try ); ;} -+ { COMPILER->raiseError(Falcon::e_syn_try ); } - break; - - case 186: -@@ -4536,7 +4536,7 @@ - t->defaultHandler( lst ); // will delete the previous one - - COMPILER->pushContextSet( &lst->children() ); -- ;} -+ } - break; - - case 187: -@@ -4558,7 +4558,7 @@ - t->defaultHandler( lst ); // will delete the previous one - - COMPILER->pushContextSet( &lst->children() ); -- ;} -+ } - break; - - case 188: -@@ -4570,7 +4570,7 @@ - Falcon::StmtCatchBlock *lst = new Falcon::StmtCatchBlock( LINE, 0 ); - COMPILER->pushContextSet( &lst->children() ); - t->addHandler( lst ); -- ;} -+ } - break; - - case 189: -@@ -4583,14 +4583,14 @@ - Falcon::StmtCatchBlock *lst = new Falcon::StmtCatchBlock( LINE, (yyvsp[(4) - (5)].fal_val) ); - COMPILER->pushContextSet( &lst->children() ); - t->addHandler( lst ); -- ;} -+ } - break; - - case 190: - #line 1158 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseError( Falcon::e_syn_catch ); -- ;} -+ } - break; - - case 193: -@@ -4604,7 +4604,7 @@ - COMPILER->raiseError(Falcon::e_catch_clash, "", CURRENT_LINE ); - delete val; - } -- ;} -+ } - break; - - case 194: -@@ -4622,17 +4622,17 @@ - COMPILER->raiseError(Falcon::e_catch_clash, "", CURRENT_LINE ); - delete val; - } -- ;} -+ } - break; - - case 195: - #line 1205 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_stat) = new Falcon::StmtRaise( LINE, (yyvsp[(2) - (3)].fal_val) ); ;} -+ { (yyval.fal_stat) = new Falcon::StmtRaise( LINE, (yyvsp[(2) - (3)].fal_val) ); } - break; - - case 196: - #line 1206 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_raise ); (yyval.fal_stat) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_syn_raise ); (yyval.fal_stat) = 0; } - break; - - case 197: -@@ -4640,7 +4640,7 @@ - { - (yyval.fal_stat) = COMPILER->getContext(); - COMPILER->closeFunction(); -- ;} -+ } - break; - - case 198: -@@ -4649,36 +4649,36 @@ - COMPILER->addStatement( (yyvsp[(2) - (2)].fal_stat) ); - (yyval.fal_stat) = COMPILER->getContext(); - COMPILER->closeFunction(); -- ;} -+ } - break; - - case 200: - #line 1233 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->tempLine( CURRENT_LINE ); ;} -+ { COMPILER->tempLine( CURRENT_LINE ); } - break; - - case 201: - #line 1234 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseContextError(Falcon::e_syn_funcdecl, COMPILER->tempLine(), CTX_LINE ); -- ;} -+ } - break; - - case 202: - #line 1237 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_funcdecl ); ;} -+ { COMPILER->raiseError(Falcon::e_syn_funcdecl ); } - break; - - case 204: - #line 1242 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->tempLine( CURRENT_LINE ); ;} -+ { COMPILER->tempLine( CURRENT_LINE ); } - break; - - case 205: - #line 1243 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseContextError(Falcon::e_syn_funcdecl, COMPILER->tempLine(), CTX_LINE ); -- ;} -+ } - break; - - case 206: -@@ -4732,7 +4732,7 @@ - COMPILER->pushFunctionContext( func ); - COMPILER->pushContextSet( &func->statements() ); - COMPILER->pushFunction( def ); -- ;} -+ } - break; - - case 210: -@@ -4748,7 +4748,7 @@ - COMPILER->module()->addSymbol( sym ); - func->addParameter( sym ); - } -- ;} -+ } - break; - - case 212: -@@ -4757,7 +4757,7 @@ - Falcon::StmtFunction *func = static_cast(COMPILER->getContext()); - COMPILER->pushContextSet( &func->staticBlock() ); - COMPILER->staticPrefix( &func->symbol()->name() ); -- ;} -+ } - break; - - case 213: -@@ -4765,7 +4765,7 @@ - { - COMPILER->popContextSet(); - COMPILER->staticPrefix(0); -- ;} -+ } - break; - - case 214: -@@ -4774,7 +4774,7 @@ - Falcon::StmtFunction *func = static_cast(COMPILER->getContext()); - COMPILER->pushContextSet( &func->staticBlock() ); - COMPILER->staticPrefix( &func->symbol()->name() ); -- ;} -+ } - break; - - case 215: -@@ -4783,29 +4783,29 @@ - COMPILER->addStatement( (yyvsp[(3) - (3)].fal_stat) ); - COMPILER->popContextSet(); - COMPILER->staticPrefix(0); -- ;} -+ } - break; - - case 217: - #line 1354 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_static ); ;} -+ { COMPILER->raiseError(Falcon::e_syn_static ); } - break; - - case 219: - #line 1359 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_static, "", CURRENT_LINE ); ;} -+ { COMPILER->raiseError(Falcon::e_syn_static, "", CURRENT_LINE ); } - break; - - case 220: - #line 1369 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_stat) = new Falcon::StmtLaunch( LINE, (yyvsp[(2) - (3)].fal_val) ); -- ;} -+ } - break; - - case 221: - #line 1372 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_launch ); (yyval.fal_stat) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_syn_launch ); (yyval.fal_stat) = 0; } - break; - - case 222: -@@ -4815,7 +4815,7 @@ - COMPILER->raiseError(Falcon::e_pass_outside ); - else - (yyval.fal_stat) = new Falcon::StmtPass( LINE, (yyvsp[(2) - (3)].fal_val) ); -- ;} -+ } - break; - - case 223: -@@ -4833,7 +4833,7 @@ - COMPILER->defineVal( (yyvsp[(4) - (5)].fal_val) ); - (yyval.fal_stat) = new Falcon::StmtPass( LINE, (yyvsp[(2) - (5)].fal_val), (yyvsp[(4) - (5)].fal_val) ); - } -- ;} -+ } - break; - - case 224: -@@ -4842,7 +4842,7 @@ - delete (yyvsp[(2) - (5)].fal_val); - COMPILER->raiseError(Falcon::e_syn_pass_in ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 225: -@@ -4850,7 +4850,7 @@ - { - COMPILER->raiseError(Falcon::e_syn_pass ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 226: -@@ -4863,7 +4863,7 @@ - // we don't need the expression anymore - // no other action: - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 227: -@@ -4871,7 +4871,7 @@ - { - COMPILER->raiseError(Falcon::e_inv_const_val ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 228: -@@ -4879,7 +4879,7 @@ - { - COMPILER->raiseError(Falcon::e_syn_const ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 229: -@@ -4891,7 +4891,7 @@ - COMPILER->sourceTree()->setExportAll(); - // no effect - (yyval.fal_stat)=0; -- ;} -+ } - break; - - case 230: -@@ -4901,7 +4901,7 @@ - COMPILER->raiseError(Falcon::e_export_all ); - // no effect - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 231: -@@ -4909,7 +4909,7 @@ - { - COMPILER->raiseError(Falcon::e_syn_export ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 232: -@@ -4917,7 +4917,7 @@ - { - Falcon::Symbol *sym = COMPILER->addGlobalSymbol( (yyvsp[(1) - (1)].stringp) ); - sym->exported(true); -- ;} -+ } - break; - - case 233: -@@ -4925,14 +4925,14 @@ - { - Falcon::Symbol *sym = COMPILER->addGlobalSymbol( (yyvsp[(3) - (3)].stringp) ); - sym->exported(true); -- ;} -+ } - break; - - case 234: - #line 1485 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 235: -@@ -4940,7 +4940,7 @@ - { - COMPILER->raiseError(Falcon::e_syn_import ); - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 236: -@@ -4948,7 +4948,7 @@ - { - Falcon::Symbol *sym = COMPILER->addGlobalSymbol( (yyvsp[(1) - (1)].stringp) ); - sym->imported(true); -- ;} -+ } - break; - - case 237: -@@ -4956,7 +4956,7 @@ - { - Falcon::Symbol *sym = COMPILER->addGlobalSymbol( (yyvsp[(3) - (3)].stringp) ); - sym->imported(true); -- ;} -+ } - break; - - case 238: -@@ -4964,7 +4964,7 @@ - { - // no effect - (yyval.fal_stat)=0; -- ;} -+ } - break; - - case 239: -@@ -4972,28 +4972,28 @@ - { - COMPILER->raiseError(Falcon::e_syn_directive ); - (yyval.fal_stat)=0; -- ;} -+ } - break; - - case 242: - #line 1532 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->setDirective( *(yyvsp[(1) - (3)].stringp), *(yyvsp[(3) - (3)].stringp) ); -- ;} -+ } - break; - - case 243: - #line 1536 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->setDirective( *(yyvsp[(1) - (3)].stringp), *(yyvsp[(3) - (3)].stringp) ); -- ;} -+ } - break; - - case 244: - #line 1540 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->setDirective( *(yyvsp[(1) - (3)].stringp), (yyvsp[(3) - (3)].integer) ); -- ;} -+ } - break; - - case 245: -@@ -5001,7 +5001,7 @@ - { - // no other action: - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 246: -@@ -5009,38 +5009,38 @@ - { - // no other action: - (yyval.fal_stat) = 0; -- ;} -+ } - break; - - case 248: - #line 1569 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_attributes ); ;} -+ { COMPILER->raiseError(Falcon::e_syn_attributes ); } - break; - - case 250: - #line 1573 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_attributes, "", CURRENT_LINE ); ;} -+ { COMPILER->raiseError(Falcon::e_syn_attributes, "", CURRENT_LINE ); } - break; - - case 252: - #line 1579 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addAttribute( (yyvsp[(1) - (1)].stringp) ); -- ;} -+ } - break; - - case 253: - #line 1583 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addAttribute( (yyvsp[(3) - (3)].stringp) ); -- ;} -+ } - break; - - case 256: - #line 1592 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseError(Falcon::e_inv_attrib ); -- ;} -+ } - break; - - case 257: -@@ -5071,7 +5071,7 @@ - - // We don't have a context set here - COMPILER->pushFunction( def ); -- ;} -+ } - break; - - case 258: -@@ -5095,26 +5095,26 @@ - COMPILER->popContext(); - //We didn't pushed a context set - COMPILER->popFunction(); -- ;} -+ } - break; - - case 260: - #line 1665 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseError(Falcon::e_syn_class ); -- ;} -+ } - break; - - case 263: - #line 1673 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->tempLine( CURRENT_LINE ); ;} -+ { COMPILER->tempLine( CURRENT_LINE ); } - break; - - case 264: - #line 1674 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseContextError(Falcon::e_syn_class, COMPILER->tempLine(), CTX_LINE ); -- ;} -+ } - break; - - case 269: -@@ -5147,29 +5147,29 @@ - COMPILER->raiseError(Falcon::e_prop_adef ); - delete idef; - } -- ;} -+ } - break; - - case 270: - #line 1724 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_adecl) = 0; ;} -+ { (yyval.fal_adecl) = 0; } - break; - - case 271: - #line 1729 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_adecl) = (yyvsp[(2) - (3)].fal_adecl); -- ;} -+ } - break; - - case 272: - #line 1735 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_adecl) = new Falcon::ArrayDecl(); (yyval.fal_adecl)->pushBack( (yyvsp[(1) - (1)].fal_val) ); ;} -+ { (yyval.fal_adecl) = new Falcon::ArrayDecl(); (yyval.fal_adecl)->pushBack( (yyvsp[(1) - (1)].fal_val) ); } - break; - - case 273: - #line 1736 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyvsp[(1) - (3)].fal_adecl)->pushBack( (yyvsp[(3) - (3)].fal_val) ); (yyval.fal_adecl) = (yyvsp[(1) - (3)].fal_adecl); ;} -+ { (yyvsp[(1) - (3)].fal_adecl)->pushBack( (yyvsp[(3) - (3)].fal_val) ); (yyval.fal_adecl) = (yyvsp[(1) - (3)].fal_adecl); } - break; - - case 275: -@@ -5181,19 +5181,19 @@ - sym = COMPILER->addGlobalSymbol( (yyvsp[(1) - (1)].stringp) ); - } - (yyval.fal_val) = new Falcon::Value( sym ); -- ;} -+ } - break; - - case 276: - #line 1750 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value(); (yyval.fal_val)->setSelf(); ;} -+ { (yyval.fal_val) = new Falcon::Value(); (yyval.fal_val)->setSelf(); } - break; - - case 280: - #line 1760 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addFunction( (yyvsp[(1) - (1)].fal_stat) ); -- ;} -+ } - break; - - case 281: -@@ -5215,7 +5215,7 @@ - - ctor_stmt->statements().push_back( (yyvsp[(1) - (1)].fal_stat) ); // this goes directly in the auto constructor. - } -- ;} -+ } - break; - - case 283: -@@ -5238,7 +5238,7 @@ - COMPILER->pushContextSet( &func->statements() ); - COMPILER->pushFunction( func->symbol()->getFuncDef() ); - } -- ;} -+ } - break; - - case 284: -@@ -5249,7 +5249,7 @@ - COMPILER->popContext(); - COMPILER->popContextSet(); - COMPILER->popFunction(); -- ;} -+ } - break; - - case 285: -@@ -5273,7 +5273,7 @@ - } - delete (yyvsp[(4) - (5)].fal_val); // the expression is not needed anymore - (yyval.fal_stat) = 0; // we don't add any statement -- ;} -+ } - break; - - case 286: -@@ -5301,14 +5301,14 @@ - // but also prepare a statement to be executed by the auto-constructor. - (yyval.fal_stat) = new Falcon::StmtVarDef( LINE, (yyvsp[(1) - (4)].stringp), (yyvsp[(3) - (4)].fal_val) ); - } -- ;} -+ } - break; - - case 289: - #line 1872 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseError(Falcon::e_syn_hasdef ); -- ;} -+ } - break; - - case 290: -@@ -5319,7 +5319,7 @@ - - // The symbolmay be undefined or defined; it's not our task to define it here. - clsdef->has().pushBack( COMPILER->addGlobalSymbol( (yyvsp[(1) - (1)].stringp) ) ); -- ;} -+ } - break; - - case 291: -@@ -5328,7 +5328,7 @@ - Falcon::StmtClass *cls = static_cast( COMPILER->getContext() ); - Falcon::ClassDef *clsdef = cls->symbol()->getClassDef(); - clsdef->hasnt().pushBack( COMPILER->addGlobalSymbol( (yyvsp[(2) - (2)].stringp) ) ); -- ;} -+ } - break; - - case 292: -@@ -5337,7 +5337,7 @@ - Falcon::StmtClass *cls = static_cast( COMPILER->getContext() ); - Falcon::ClassDef *clsdef = cls->symbol()->getClassDef(); - clsdef->has().pushBack( COMPILER->addGlobalSymbol( (yyvsp[(3) - (3)].stringp) ) ); -- ;} -+ } - break; - - case 293: -@@ -5346,7 +5346,7 @@ - Falcon::StmtClass *cls = static_cast( COMPILER->getContext() ); - Falcon::ClassDef *clsdef = cls->symbol()->getClassDef(); - clsdef->hasnt().pushBack( COMPILER->addGlobalSymbol( (yyvsp[(4) - (4)].stringp) ) ); -- ;} -+ } - break; - - case 294: -@@ -5380,7 +5380,7 @@ - COMPILER->pushFunction( def ); - - COMPILER->resetEnum(); -- ;} -+ } - break; - - case 295: -@@ -5391,21 +5391,21 @@ - COMPILER->popContext(); - //We didn't pushed a context set - COMPILER->popFunction(); -- ;} -+ } - break; - - case 299: - #line 1963 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addEnumerator( *(yyvsp[(1) - (4)].stringp), (yyvsp[(3) - (4)].fal_val) ); -- ;} -+ } - break; - - case 300: - #line 1968 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addEnumerator( *(yyvsp[(1) - (2)].stringp) ); -- ;} -+ } - break; - - case 303: -@@ -5443,7 +5443,7 @@ - //Statements here goes in the auto constructor. - //COMPILER->pushContextSet( &cls->autoCtor() ); - COMPILER->pushFunction( def ); -- ;} -+ } - break; - - case 304: -@@ -5467,21 +5467,21 @@ - COMPILER->popContext(); - //COMPILER->popContextSet(); - COMPILER->popFunction(); -- ;} -+ } - break; - - case 306: - #line 2048 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseError(Falcon::e_syn_object ); -- ;} -+ } - break; - - case 310: - #line 2060 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->addFunction( (yyvsp[(1) - (1)].fal_stat) ); -- ;} -+ } - break; - - case 311: -@@ -5504,7 +5504,7 @@ - - ctor_stmt->statements().push_back( (yyvsp[(1) - (1)].fal_stat) ); // this goes directly in the auto constructor. - } -- ;} -+ } - break; - - case 313: -@@ -5512,7 +5512,7 @@ - { - Falcon::StmtGlobal *glob = new Falcon::StmtGlobal( CURRENT_LINE ); - COMPILER->pushContext( glob ); -- ;} -+ } - break; - - case 314: -@@ -5525,14 +5525,14 @@ - } - (yyval.fal_stat) = COMPILER->getContext(); - COMPILER->popContext(); -- ;} -+ } - break; - - case 317: - #line 2111 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseError( Falcon::e_syn_global ); -- ;} -+ } - break; - - case 318: -@@ -5544,52 +5544,52 @@ - // then we add the symbol to the global statement (it's just for symbolic asm generation). - Falcon::StmtGlobal *glob = static_cast( COMPILER->getContext() ); - glob->addSymbol( sym ); -- ;} -+ } - break; - - case 319: - #line 2133 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_stat) = new Falcon::StmtReturn(LINE, 0); ;} -+ { (yyval.fal_stat) = new Falcon::StmtReturn(LINE, 0); } - break; - - case 320: - #line 2134 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_stat) = new Falcon::StmtReturn( LINE, (yyvsp[(2) - (3)].fal_val) ); ;} -+ { (yyval.fal_stat) = new Falcon::StmtReturn( LINE, (yyvsp[(2) - (3)].fal_val) ); } - break; - - case 321: - #line 2135 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->raiseError(Falcon::e_syn_return ); (yyval.fal_stat) = 0; ;} -+ { COMPILER->raiseError(Falcon::e_syn_return ); (yyval.fal_stat) = 0; } - break; - - case 322: - #line 2145 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value(); ;} -+ { (yyval.fal_val) = new Falcon::Value(); } - break; - - case 323: - #line 2146 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( true ); ;} -+ { (yyval.fal_val) = new Falcon::Value( true ); } - break; - - case 324: - #line 2147 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( false ); ;} -+ { (yyval.fal_val) = new Falcon::Value( false ); } - break; - - case 325: - #line 2148 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( (yyvsp[(1) - (1)].integer) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( (yyvsp[(1) - (1)].integer) ); } - break; - - case 326: - #line 2149 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( (yyvsp[(1) - (1)].numeric) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( (yyvsp[(1) - (1)].numeric) ); } - break; - - case 327: - #line 2150 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( (yyvsp[(1) - (1)].stringp) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( (yyvsp[(1) - (1)].stringp) ); } - break; - - case 328: -@@ -5607,192 +5607,192 @@ - val = new Falcon::Value( sym ); - } - (yyval.fal_val) = val; -- ;} -+ } - break; - - case 330: - #line 2173 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value(); (yyval.fal_val)->setSelf(); ;} -+ { (yyval.fal_val) = new Falcon::Value(); (yyval.fal_val)->setSelf(); } - break; - - case 331: - #line 2174 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value(); (yyval.fal_val)->setSender(); ;} -+ { (yyval.fal_val) = new Falcon::Value(); (yyval.fal_val)->setSender(); } - break; - - case 334: - #line 2187 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_neg, (yyvsp[(2) - (2)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_neg, (yyvsp[(2) - (2)].fal_val) ) ); } - break; - - case 335: - #line 2188 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_plus, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_plus, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 336: - #line 2189 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_minus, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_minus, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 337: - #line 2190 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_times, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_times, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 338: - #line 2191 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_divide, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_divide, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 339: - #line 2192 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_modulo, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_modulo, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 340: - #line 2193 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_power, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_power, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 341: - #line 2194 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_bin_and, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_bin_and, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 342: - #line 2195 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_bin_or, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_bin_or, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 343: - #line 2196 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_bin_xor, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_bin_xor, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 344: - #line 2197 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_shift_left, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_shift_left, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 345: - #line 2198 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_shift_right, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_shift_right, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 346: - #line 2199 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_bin_not, (yyvsp[(2) - (2)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_bin_not, (yyvsp[(2) - (2)].fal_val) ) ); } - break; - - case 347: - #line 2200 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_neq, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_neq, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 348: - #line 2201 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_post_inc, (yyvsp[(1) - (2)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_post_inc, (yyvsp[(1) - (2)].fal_val) ) ); } - break; - - case 349: - #line 2202 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_pre_inc, (yyvsp[(2) - (2)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_pre_inc, (yyvsp[(2) - (2)].fal_val) ) ); } - break; - - case 350: - #line 2203 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_post_dec, (yyvsp[(1) - (2)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_post_dec, (yyvsp[(1) - (2)].fal_val) ) ); } - break; - - case 351: - #line 2204 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_pre_dec, (yyvsp[(2) - (2)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_pre_dec, (yyvsp[(2) - (2)].fal_val) ) ); } - break; - - case 352: - #line 2205 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_eq, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_eq, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 353: - #line 2206 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_gt, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_gt, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 354: - #line 2207 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_lt, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_lt, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 355: - #line 2208 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_ge, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_ge, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 356: - #line 2209 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_le, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_le, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 357: - #line 2210 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_and, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_and, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 358: - #line 2211 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_or, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_or, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 359: - #line 2212 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_not, (yyvsp[(2) - (2)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_not, (yyvsp[(2) - (2)].fal_val) ) ); } - break; - - case 360: - #line 2213 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_has, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_has, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 361: - #line 2214 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_hasnt, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_hasnt, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 362: - #line 2215 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_in, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_in, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 363: - #line 2216 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_notin, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_notin, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 364: - #line 2217 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_provides, (yyvsp[(1) - (3)].fal_val), new Falcon::Value( (yyvsp[(3) - (3)].stringp) ) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_provides, (yyvsp[(1) - (3)].fal_val), new Falcon::Value( (yyvsp[(3) - (3)].stringp) ) ) ); } - break; - - case 365: - #line 2218 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( (yyvsp[(2) - (2)].fal_val) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( (yyvsp[(2) - (2)].fal_val) ); } - break; - - case 366: - #line 2219 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( (Falcon::Value *) 0 ); ;} -+ { (yyval.fal_val) = new Falcon::Value( (Falcon::Value *) 0 ); } - break; - - case 367: - #line 2220 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_strexpand, (yyvsp[(2) - (2)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_strexpand, (yyvsp[(2) - (2)].fal_val) ) ); } - break; - - case 368: - #line 2221 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_indirect, (yyvsp[(2) - (2)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_indirect, (yyvsp[(2) - (2)].fal_val) ) ); } - break; - - case 375: -@@ -5800,14 +5800,14 @@ - { - Falcon::Expression *exp = new Falcon::Expression( Falcon::Expression::t_array_access, (yyvsp[(1) - (2)].fal_val), (yyvsp[(2) - (2)].fal_val) ); - (yyval.fal_val) = new Falcon::Value( exp ); -- ;} -+ } - break; - - case 376: - #line 2234 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_val) = new Falcon::Value( (yyvsp[(1) - (1)].fal_adecl) ); -- ;} -+ } - break; - - case 377: -@@ -5815,7 +5815,7 @@ - { - Falcon::Expression *exp = new Falcon::Expression( Falcon::Expression::t_array_access, (yyvsp[(1) - (4)].fal_val), (yyvsp[(3) - (4)].fal_val) ); - (yyval.fal_val) = new Falcon::Value( exp ); -- ;} -+ } - break; - - case 378: -@@ -5823,7 +5823,7 @@ - { - Falcon::Expression *exp = new Falcon::Expression( Falcon::Expression::t_array_byte_access, (yyvsp[(1) - (5)].fal_val), (yyvsp[(4) - (5)].fal_val) ); - (yyval.fal_val) = new Falcon::Value( exp ); -- ;} -+ } - break; - - case 379: -@@ -5835,7 +5835,7 @@ - COMPILER->raiseError(Falcon::e_priv_access, COMPILER->tempLine() ); - } - (yyval.fal_val) = new Falcon::Value( exp ); -- ;} -+ } - break; - - case 382: -@@ -5843,7 +5843,7 @@ - { - COMPILER->defineVal( (yyvsp[(1) - (3)].fal_val) ); - (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_assign, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); -- ;} -+ } - break; - - case 383: -@@ -5853,102 +5853,102 @@ - (yyvsp[(5) - (5)].fal_adecl)->pushFront( (yyvsp[(3) - (5)].fal_val) ); - Falcon::Value *second = new Falcon::Value( (yyvsp[(5) - (5)].fal_adecl) ); - (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_assign, (yyvsp[(1) - (5)].fal_val), second ) ); -- ;} -+ } - break; - - case 384: - #line 2273 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_aadd, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_aadd, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 385: - #line 2274 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_asub, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_asub, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 386: - #line 2275 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_amul, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_amul, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 387: - #line 2276 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_adiv, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_adiv, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 388: - #line 2277 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_amod, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_amod, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 389: - #line 2278 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_apow, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_apow, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 390: - #line 2279 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_aband, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_aband, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 391: - #line 2280 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_abor, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_abor, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 392: - #line 2281 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_abxor, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_abxor, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 393: - #line 2282 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_ashl, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_ashl, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 394: - #line 2283 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_ashr, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_ashr, (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ) ); } - break; - - case 395: - #line 2284 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- {(yyval.fal_val)=(yyvsp[(2) - (3)].fal_val);;} -+ {(yyval.fal_val)=(yyvsp[(2) - (3)].fal_val);} - break; - - case 396: - #line 2289 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_val) = new Falcon::Value( new Falcon::RangeDecl( new Falcon::Value( (Falcon::int64) 0 ) ) ); -- ;} -+ } - break; - - case 397: - #line 2292 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_val) = new Falcon::Value( new Falcon::RangeDecl( (yyvsp[(2) - (4)].fal_val) ) ); -- ;} -+ } - break; - - case 398: - #line 2295 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_val) = new Falcon::Value( new Falcon::RangeDecl( new Falcon::Value( (Falcon::int64) 0 ), (yyvsp[(3) - (4)].fal_val) ) ); -- ;} -+ } - break; - - case 399: - #line 2298 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_val) = new Falcon::Value( new Falcon::RangeDecl( (yyvsp[(2) - (5)].fal_val), (yyvsp[(4) - (5)].fal_val) ) ); -- ;} -+ } - break; - - case 400: - #line 2301 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_val) = new Falcon::Value( new Falcon::RangeDecl( (yyvsp[(2) - (7)].fal_val), (yyvsp[(4) - (7)].fal_val), (yyvsp[(6) - (7)].fal_val) ) ); -- ;} -+ } - break; - - case 401: -@@ -5956,19 +5956,19 @@ - { - (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_funcall, - (yyvsp[(1) - (4)].fal_val), new Falcon::Value( (yyvsp[(3) - (4)].fal_adecl) ) ) ); -- ;} -+ } - break; - - case 402: - #line 2314 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_val) = new Falcon::Value( new Falcon::Expression( Falcon::Expression::t_funcall, (yyvsp[(1) - (3)].fal_val), 0 ) ); -- ;} -+ } - break; - - case 403: - #line 2318 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { COMPILER->tempLine( CURRENT_LINE ); ;} -+ { COMPILER->tempLine( CURRENT_LINE ); } - break; - - case 404: -@@ -5977,7 +5977,7 @@ - delete (yyvsp[(3) - (6)].fal_adecl); - COMPILER->raiseContextError(Falcon::e_syn_funcall, COMPILER->tempLine(), CTX_LINE ); - (yyval.fal_val) = new Falcon::Value; -- ;} -+ } - break; - - case 405: -@@ -6010,28 +6010,28 @@ - COMPILER->pushFunctionContext( func ); - COMPILER->pushContextSet( &func->statements() ); - COMPILER->pushFunction( def ); -- ;} -+ } - break; - - case 406: - #line 2362 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_val) = COMPILER->closeClosure(); -- ;} -+ } - break; - - case 408: - #line 2370 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseContextError(Falcon::e_syn_funcdecl, LINE, CTX_LINE ); -- ;} -+ } - break; - - case 409: - #line 2374 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseError(Falcon::e_syn_funcdecl ); -- ;} -+ } - break; - - case 410: -@@ -6063,7 +6063,7 @@ - COMPILER->pushFunctionContext( func ); - COMPILER->pushContextSet( &func->statements() ); - COMPILER->pushFunction( def ); -- ;} -+ } - break; - - case 411: -@@ -6074,7 +6074,7 @@ - new Falcon::Value( func->symbol() ) ) ); - // analyze func in previous context. - COMPILER->closeFunction(); -- ;} -+ } - break; - - case 412: -@@ -6107,7 +6107,7 @@ - COMPILER->pushFunctionContext( func ); - COMPILER->pushContextSet( &func->statements() ); - COMPILER->pushFunction( def ); -- ;} -+ } - break; - - case 413: -@@ -6117,14 +6117,14 @@ - COMPILER->addStatement( new Falcon::StmtReturn( LINE, (yyvsp[(5) - (5)].fal_val) ) ); - COMPILER->checkLocalUndefined(); - (yyval.fal_val) = COMPILER->closeClosure(); -- ;} -+ } - break; - - case 415: - #line 2470 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - COMPILER->raiseError( Falcon::e_syn_lambda ); -- ;} -+ } - break; - - case 416: -@@ -6132,7 +6132,7 @@ - { - (yyval.fal_val) = new Falcon::Value( new - Falcon::Expression( Falcon::Expression::t_iif, (yyvsp[(1) - (5)].fal_val), (yyvsp[(3) - (5)].fal_val), (yyvsp[(5) - (5)].fal_val) ) ); -- ;} -+ } - break; - - case 417: -@@ -6142,7 +6142,7 @@ - delete (yyvsp[(3) - (5)].fal_val); - COMPILER->raiseError(Falcon::e_syn_iif, CURRENT_LINE ); - (yyval.fal_val) = new Falcon::Value; -- ;} -+ } - break; - - case 418: -@@ -6152,7 +6152,7 @@ - delete (yyvsp[(3) - (4)].fal_val); - COMPILER->raiseError(Falcon::e_syn_iif, CURRENT_LINE ); - (yyval.fal_val) = new Falcon::Value; -- ;} -+ } - break; - - case 419: -@@ -6161,19 +6161,19 @@ - delete (yyvsp[(1) - (3)].fal_val); - COMPILER->raiseError(Falcon::e_syn_iif, CURRENT_LINE ); - (yyval.fal_val) = new Falcon::Value; -- ;} -+ } - break; - - case 420: - #line 2507 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_adecl) = new Falcon::ArrayDecl(); ;} -+ { (yyval.fal_adecl) = new Falcon::ArrayDecl(); } - break; - - case 421: - #line 2509 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_adecl) = (yyvsp[(2) - (3)].fal_adecl); -- ;} -+ } - break; - - case 422: -@@ -6181,19 +6181,19 @@ - { - COMPILER->raiseContextError( Falcon::e_syn_arraydecl, CURRENT_LINE, CTX_LINE ); - (yyval.fal_adecl) = (yyvsp[(2) - (3)].fal_adecl); -- ;} -+ } - break; - - case 423: - #line 2520 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::ArrayDecl() ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::ArrayDecl() ); } - break; - - case 424: - #line 2522 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" - { - (yyval.fal_val) = new Falcon::Value( (yyvsp[(2) - (3)].fal_adecl) ); -- ;} -+ } - break; - - case 425: -@@ -6201,17 +6201,17 @@ - { - COMPILER->raiseContextError( Falcon::e_syn_arraydecl, CURRENT_LINE, CTX_LINE ); - (yyval.fal_val) = new Falcon::Value( (yyvsp[(2) - (3)].fal_adecl) ); -- ;} -+ } - break; - - case 426: - #line 2534 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( new Falcon::DictDecl() ); ;} -+ { (yyval.fal_val) = new Falcon::Value( new Falcon::DictDecl() ); } - break; - - case 427: - #line 2535 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_val) = new Falcon::Value( (yyvsp[(2) - (3)].fal_ddecl) ); ;} -+ { (yyval.fal_val) = new Falcon::Value( (yyvsp[(2) - (3)].fal_ddecl) ); } - break; - - case 428: -@@ -6219,27 +6219,27 @@ - { - COMPILER->raiseContextError( Falcon::e_syn_dictdecl, LINE, CTX_LINE ); - (yyval.fal_val) = new Falcon::Value( (yyvsp[(2) - (4)].fal_ddecl) ); -- ;} -+ } - break; - - case 429: - #line 2544 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_adecl) = new Falcon::ArrayDecl(); (yyval.fal_adecl)->pushBack( (yyvsp[(1) - (1)].fal_val) ); ;} -+ { (yyval.fal_adecl) = new Falcon::ArrayDecl(); (yyval.fal_adecl)->pushBack( (yyvsp[(1) - (1)].fal_val) ); } - break; - - case 430: - #line 2545 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyvsp[(1) - (3)].fal_adecl)->pushBack( (yyvsp[(3) - (3)].fal_val) ); (yyval.fal_adecl) = (yyvsp[(1) - (3)].fal_adecl); ;} -+ { (yyvsp[(1) - (3)].fal_adecl)->pushBack( (yyvsp[(3) - (3)].fal_val) ); (yyval.fal_adecl) = (yyvsp[(1) - (3)].fal_adecl); } - break; - - case 431: - #line 2549 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_adecl) = new Falcon::ArrayDecl(); (yyval.fal_adecl)->pushBack( (yyvsp[(1) - (1)].fal_val) ); ;} -+ { (yyval.fal_adecl) = new Falcon::ArrayDecl(); (yyval.fal_adecl)->pushBack( (yyvsp[(1) - (1)].fal_val) ); } - break; - - case 432: - #line 2550 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyvsp[(1) - (2)].fal_adecl)->pushBack( (yyvsp[(2) - (2)].fal_val) ); (yyval.fal_adecl) = (yyvsp[(1) - (2)].fal_adecl); ;} -+ { (yyvsp[(1) - (2)].fal_adecl)->pushBack( (yyvsp[(2) - (2)].fal_val) ); (yyval.fal_adecl) = (yyvsp[(1) - (2)].fal_adecl); } - break; - - case 433: -@@ -6249,7 +6249,7 @@ - Falcon::ArrayDecl *ad = new Falcon::ArrayDecl(); - ad->pushBack( (yyvsp[(1) - (1)].fal_val) ); - (yyval.fal_adecl) = ad; -- ;} -+ } - break; - - case 434: -@@ -6257,17 +6257,17 @@ - { - COMPILER->defineVal( (yyvsp[(3) - (3)].fal_val) ); - (yyvsp[(1) - (3)].fal_adecl)->pushBack( (yyvsp[(3) - (3)].fal_val) ); -- ;} -+ } - break; - - case 435: - #line 2567 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyval.fal_ddecl) = new Falcon::DictDecl(); (yyval.fal_ddecl)->pushBack( (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ); ;} -+ { (yyval.fal_ddecl) = new Falcon::DictDecl(); (yyval.fal_ddecl)->pushBack( (yyvsp[(1) - (3)].fal_val), (yyvsp[(3) - (3)].fal_val) ); } - break; - - case 436: - #line 2568 "/home/gian/Progetti/falcon/core/engine/src_parser.yy" -- { (yyvsp[(1) - (5)].fal_ddecl)->pushBack( (yyvsp[(3) - (5)].fal_val), (yyvsp[(5) - (5)].fal_val) ); (yyval.fal_ddecl) = (yyvsp[(1) - (5)].fal_ddecl); ;} -+ { (yyvsp[(1) - (5)].fal_ddecl)->pushBack( (yyvsp[(3) - (5)].fal_val), (yyvsp[(5) - (5)].fal_val) ); (yyval.fal_ddecl) = (yyvsp[(1) - (5)].fal_ddecl); } - break; - - -Index: engine/CMakeLists.txt -=================================================================== ---- engine/CMakeLists.txt (revision 393) -+++ engine/CMakeLists.txt (working copy) -@@ -1,39 +1,13 @@ --PROJECT(falcon_engine) -+################################################## -+# Falcon Programming Language -+# -+# Faltest -+################################################## - - #Engine specific define - ADD_DEFINITIONS(-DFALCON_ENGINE_EXPORTS) --#set common include directory --FALCON_INCLUDE_SETTINGS() - --# BISON a .ll file --# search BISON --MACRO(FIND_BISON) -- IF(NOT BISON_EXECUTABLE) -- FIND_PROGRAM(BISON_EXECUTABLE bison) -- IF (NOT BISON_EXECUTABLE) -- MESSAGE(FATAL_ERROR "BISON not found - aborting") -- ENDIF (NOT BISON_EXECUTABLE) -- ENDIF(NOT BISON_EXECUTABLE) --ENDMACRO(FIND_BISON) - --MACRO( ADD_BISON_FILES _sources ) -- FIND_BISON() -- FOREACH (_current_FILE ${ARGN}) -- GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE) -- GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE) -- SET(_out ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.cpp) -- SET(_out_h ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h) -- ADD_CUSTOM_COMMAND( -- OUTPUT ${_out} -- COMMAND ${BISON_EXECUTABLE} -- ARGS -o${_out} --defines=${_out_h} ${_in} -- DEPENDS ${_in} ) -- -- SET(${_sources} ${${_sources}} ${_out} ) -- ENDFOREACH (_current_FILE) --ENDMACRO(ADD_BISON_FILES) -- -- - #Specific system files - IF(UNIX OR MAC) - SET( SYS_SPECIFIC -@@ -53,14 +27,38 @@ - ELSE(UNIX) - SET( SYS_SPECIFIC - ${SYS_SPECIFIC} -- dll_win.cpp ) -+ dll_mac.cpp ) - ENDIF(UNIX) - -- ADD_BISON_FILES( bison_src -- fasm_parser.yy -- src_parser.yy -- ) -+ #We need bison. -+ IF(NOT BISON_EXECUTABLE) -+ FIND_PROGRAM(BISON_EXECUTABLE bison) -+ IF (NOT BISON_EXECUTABLE) -+ MESSAGE(FATAL_ERROR "BISON not found - aborting") -+ ENDIF (NOT BISON_EXECUTABLE) -+ ENDIF(NOT BISON_EXECUTABLE) - -+ # Adding bison parsers. -+ ADD_CUSTOM_TARGET(SrcParser echo "Creating src_parser.cpp") -+ ADD_CUSTOM_TARGET(FasmParser echo "Creating fasm_parser.cpp") -+ -+ #builds in-source always; we want it in svn. -+ ADD_CUSTOM_COMMAND( -+ SOURCE ${FALCON_SRC_TREE}/core/engine/src_parser.yy -+ COMMAND ${BISON_EXECUTABLE} -+ ARGS -y ${FALCON_SRC_TREE}/core/engine/src_parser.yy -o ${FALCON_SRC_TREE}/core/engine/src_parser.cpp -+ TARGET SrcParser -+ DEPENDS ${FALCON_SRC_TREE}/core/include/falcon/syntree.h -+ OUTPUTS ${FALCON_SRC_TREE}/core/engine/src_parser.cpp ) -+ -+ #builds in-source always; we want it in svn. -+ ADD_CUSTOM_COMMAND( -+ SOURCE ${FALCON_SRC_TREE}/core/engine/src_parser.yy -+ COMMAND ${BISON_EXECUTABLE} -+ ARGS -y ${FALCON_SRC_TREE}/core/engine/fasm_parser.yy -o ${FALCON_SRC_TREE}/core/engine/fasm_parser.cpp -+ TARGET FasmParser -+ OUTPUTS ${FALCON_SRC_TREE}/core/engine/fasm_parser.cpp ) -+ - ELSEIF(WIN32) - - #todo: add prebuilt -@@ -75,17 +73,13 @@ - falcon_engine.rc - ) - -- SET( bison_src -- fasm_parser.cpp -- src_parser.cpp -- ) -- - ENDIF(UNIX OR MAC) - - INCLUDE_DIRECTORIES(.) - - ADD_LIBRARY( falcon_engine SHARED -- ${bison_src} -+ fasm_parser.cpp -+ src_parser.cpp - - attribute.cpp - autocstring.cpp -@@ -160,6 +154,10 @@ - ${SYS_SPECIFIC} - ) - -+IF(BISON_EXECUTABLE) -+ ADD_DEPENDENCIES( falcon_engine SrcParser FasmParser ) -+ENDIF(BISON_EXECUTABLE) -+ - SET_TARGET_PROPERTIES(falcon_engine - PROPERTIES - VERSION "${FALCON_SONAME_VERSION}.${FALCON_SONAME_REVISION}.${FALCON_SONAME_AGE}" -@@ -174,8 +172,10 @@ - ENDIF(UNIX) - - #Finally, link everything to the lib dir -+INSTALL( TARGETS falcon_engine -+ DESTINATION "${FALCON_LIB_DIR}" ) - -+ELSE(UNIX OR MAC) -+INSTALL( TARGETS falcon_engine -+ DESTINATION "${FALCON_MOD_INSTALL}" ) - ENDIF(UNIX OR MAC) -- --SET(CMAKE_INSTALL_PREFIX "") --FALCON_LIB_INSTALL( falcon_engine ) -Index: engine/fasm_parser.cpp -=================================================================== ---- engine/fasm_parser.cpp (revision 393) -+++ engine/fasm_parser.cpp (working copy) -@@ -2665,227 +2665,227 @@ - { - case 9: - #line 240 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_syntax, LINE - 1 ); ;} -+ { COMPILER->raiseError(Falcon::e_syntax, LINE - 1 ); } - break; - - case 33: - #line 254 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addEntry(); ;} -+ { COMPILER->addEntry(); } - break; - - case 34: - #line 255 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->setModuleName( (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->setModuleName( (yyvsp[(2) - (2)]) ); } - break; - - case 35: - #line 256 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addGlobal( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addGlobal( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); } - break; - - case 36: - #line 257 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addGlobal( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), true ); ;} -+ { COMPILER->addGlobal( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), true ); } - break; - - case 37: - #line 258 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addVar( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addVar( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 38: - #line 259 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addVar( (yyvsp[(2) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), true ); ;} -+ { COMPILER->addVar( (yyvsp[(2) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), true ); } - break; - - case 39: - #line 260 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addConst( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addConst( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); } - break; - - case 40: - #line 261 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addConst( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), true ); ;} -+ { COMPILER->addConst( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), true ); } - break; - - case 41: - #line 262 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addAttrib( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addAttrib( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); } - break; - - case 42: - #line 263 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addAttrib( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), true ); ;} -+ { COMPILER->addAttrib( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), true ); } - break; - - case 43: - #line 264 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addLocal( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addLocal( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); } - break; - - case 44: - #line 265 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addParam( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addParam( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); } - break; - - case 45: - #line 266 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addFuncDef( (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addFuncDef( (yyvsp[(2) - (2)]) ); } - break; - - case 46: - #line 267 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addFuncDef( (yyvsp[(2) - (3)]), true ); ;} -+ { COMPILER->addFuncDef( (yyvsp[(2) - (3)]), true ); } - break; - - case 47: - #line 268 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addFunction( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addFunction( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); } - break; - - case 48: - #line 269 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addFunction( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), true ); ;} -+ { COMPILER->addFunction( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), true ); } - break; - - case 49: - #line 270 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addFuncEnd(); ;} -+ { COMPILER->addFuncEnd(); } - break; - - case 50: - #line 271 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addLoad( (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addLoad( (yyvsp[(2) - (2)]) ); } - break; - - case 51: - #line 272 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDSwitch( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addDSwitch( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 52: - #line 273 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDSwitch( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addDSwitch( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 53: - #line 274 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDSwitch( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]), true ); ;} -+ { COMPILER->addDSwitch( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]), true ); } - break; - - case 54: - #line 275 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDSwitch( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]), true ); ;} -+ { COMPILER->addDSwitch( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]), true ); } - break; - - case 55: - #line 276 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDCase( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addDCase( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 56: - #line 277 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDCase( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addDCase( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 57: - #line 278 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDCase( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addDCase( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 58: - #line 279 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDCase( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addDCase( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 59: - #line 280 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDCase( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addDCase( (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 60: - #line 281 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDCase( (yyvsp[(2) - (6)]), (yyvsp[(6) - (6)]), (yyvsp[(4) - (6)]) ); ;} -+ { COMPILER->addDCase( (yyvsp[(2) - (6)]), (yyvsp[(6) - (6)]), (yyvsp[(4) - (6)]) ); } - break; - - case 61: - #line 282 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDEndSwitch(); ;} -+ { COMPILER->addDEndSwitch(); } - break; - - case 62: - #line 283 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addProperty( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addProperty( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); } - break; - - case 63: - #line 284 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addProperty( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addProperty( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); } - break; - - case 64: - #line 285 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addPropRef( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addPropRef( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); } - break; - - case 67: - #line 288 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstance( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstance( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 68: - #line 289 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstance( (yyvsp[(2) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), true ); ;} -+ { COMPILER->addInstance( (yyvsp[(2) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), true ); } - break; - - case 69: - #line 290 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addClass( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addClass( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); } - break; - - case 70: - #line 291 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addClass( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), true ); ;} -+ { COMPILER->addClass( (yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), true ); } - break; - - case 71: - #line 292 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addClassDef( (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addClassDef( (yyvsp[(2) - (2)]) ); } - break; - - case 72: - #line 293 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addClassDef( (yyvsp[(2) - (3)]), true ); ;} -+ { COMPILER->addClassDef( (yyvsp[(2) - (3)]), true ); } - break; - - case 73: - #line 294 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addClassCtor( (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addClassCtor( (yyvsp[(2) - (2)]) ); } - break; - - case 74: - #line 295 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addFuncEnd(); /* Currently the same as .endfunc */ ;} -+ { COMPILER->addFuncEnd(); /* Currently the same as .endfunc */ } - break; - - case 75: - #line 296 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInherit((yyvsp[(2) - (2)])); ;} -+ { COMPILER->addInherit((yyvsp[(2) - (2)])); } - break; - - case 77: - #line 297 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addFrom( (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addFrom( (yyvsp[(2) - (2)]) ); } - break; - - case 78: - #line 298 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addExtern( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addExtern( (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]) ); } - break; - - case 79: - #line 299 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addDLine( (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addDLine( (yyvsp[(2) - (2)]) ); } - break; - - case 80: -@@ -2893,7 +2893,7 @@ - { - // string already added to the module by the lexer - delete (yyvsp[(2) - (2)]); -- ;} -+ } - break; - - case 81: -@@ -2902,7 +2902,7 @@ - // string already added to the module by the lexer - (yyvsp[(2) - (2)])->asString().exported( true ); - delete (yyvsp[(2) - (2)]); -- ;} -+ } - break; - - case 82: -@@ -2910,837 +2910,837 @@ - { - // string already added to the module by the lexer - delete (yyvsp[(2) - (2)]); -- ;} -+ } - break; - - case 83: - #line 320 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->classHas( (yyvsp[(1) - (1)]) ); ;} -+ { COMPILER->classHas( (yyvsp[(1) - (1)]) ); } - break; - - case 84: - #line 321 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->classHas( (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->classHas( (yyvsp[(3) - (3)]) ); } - break; - - case 85: - #line 325 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->classHasnt( (yyvsp[(1) - (1)]) ); ;} -+ { COMPILER->classHasnt( (yyvsp[(1) - (1)]) ); } - break; - - case 86: - #line 326 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->classHasnt( (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->classHasnt( (yyvsp[(3) - (3)]) ); } - break; - - case 87: - #line 329 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->defineLabel( (yyvsp[(1) - (2)])->asLabel() ); ;} -+ { COMPILER->defineLabel( (yyvsp[(1) - (2)])->asLabel() ); } - break; - - case 89: - #line 333 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInheritParam( (yyvsp[(1) - (1)]) ); ;} -+ { COMPILER->addInheritParam( (yyvsp[(1) - (1)]) ); } - break; - - case 90: - #line 334 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInheritParam( (yyvsp[(3) - (3)]) ); ;} -+ { COMPILER->addInheritParam( (yyvsp[(3) - (3)]) ); } - break; - - case 93: - #line 343 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- {(yyval) = new Falcon::Pseudo( LINE, (Falcon::int64) 0 ); ;} -+ {(yyval) = new Falcon::Pseudo( LINE, (Falcon::int64) 0 ); } - break; - - case 197: - #line 453 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LD, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_LD, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 198: - #line 454 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LD" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LD" ); } - break; - - case 199: - #line 458 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LDRF, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_LDRF, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 200: - #line 459 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LDRF" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LDRF" ); } - break; - - case 201: - #line 463 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LNIL, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_LNIL, (yyvsp[(2) - (2)]) ); } - break; - - case 202: - #line 464 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LNIL" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LNIL" ); } - break; - - case 203: - #line 468 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_ADD, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_ADD, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 204: - #line 469 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "ADD" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "ADD" ); } - break; - - case 205: - #line 473 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_ADDS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_ADDS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 206: - #line 474 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "ADDS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "ADDS" ); } - break; - - case 207: - #line 479 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_SUB, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_SUB, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 208: - #line 480 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "SUB" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "SUB" ); } - break; - - case 209: - #line 484 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_SUBS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_SUBS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 210: - #line 485 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "SUBS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "SUBS" ); } - break; - - case 211: - #line 489 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_MUL, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_MUL, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 212: - #line 490 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "MUL" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "MUL" ); } - break; - - case 213: - #line 494 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_MULS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_MULS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 214: - #line 495 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "MULS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "MULS" ); } - break; - - case 215: - #line 500 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_DIV, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_DIV, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 216: - #line 501 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "DIV" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "DIV" ); } - break; - - case 217: - #line 505 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_DIVS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_DIVS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 218: - #line 506 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "DIVS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "DIVS" ); } - break; - - case 219: - #line 510 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_MOD, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_MOD, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 220: - #line 511 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "MOD" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "MOD" ); } - break; - - case 221: - #line 515 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_POW, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_POW, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 222: - #line 516 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "POW" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "POW" ); } - break; - - case 223: - #line 521 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_EQ, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_EQ, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 224: - #line 522 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "EQ" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "EQ" ); } - break; - - case 225: - #line 526 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_NEQ, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_NEQ, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 226: - #line 527 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "NEQ" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "NEQ" ); } - break; - - case 227: - #line 531 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_GE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_GE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 228: - #line 532 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "GE" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "GE" ); } - break; - - case 229: - #line 536 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_GT, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_GT, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 230: - #line 537 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "GT" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "GT" ); } - break; - - case 231: - #line 541 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_LE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 232: - #line 542 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LE" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LE" ); } - break; - - case 233: - #line 546 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LT, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_LT, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 234: - #line 547 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LT" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LT" ); } - break; - - case 235: - #line 551 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed(true); COMPILER->addInstr( P_TRY, (yyvsp[(2) - (2)])); ;} -+ { (yyvsp[(2) - (2)])->fixed(true); COMPILER->addInstr( P_TRY, (yyvsp[(2) - (2)])); } - break; - - case 236: - #line 552 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed(true); COMPILER->addInstr( P_TRY, (yyvsp[(2) - (2)])); ;} -+ { (yyvsp[(2) - (2)])->fixed(true); COMPILER->addInstr( P_TRY, (yyvsp[(2) - (2)])); } - break; - - case 237: - #line 553 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "TRY" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "TRY" ); } - break; - - case 238: - #line 557 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_INC, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_INC, (yyvsp[(2) - (2)]) ); } - break; - - case 239: - #line 558 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "INC" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "INC" ); } - break; - - case 240: - #line 562 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_DEC, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_DEC, (yyvsp[(2) - (2)]) ); } - break; - - case 241: - #line 563 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "DEC" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "DEC" ); } - break; - - case 242: - #line 568 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_INCP, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_INCP, (yyvsp[(2) - (2)]) ); } - break; - - case 243: - #line 569 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "INCP" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "INCP" ); } - break; - - case 244: - #line 573 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_DECP, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_DECP, (yyvsp[(2) - (2)]) ); } - break; - - case 245: - #line 574 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "DECP" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "DECP" ); } - break; - - case 246: - #line 579 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_NEG, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_NEG, (yyvsp[(2) - (2)]) ); } - break; - - case 247: - #line 580 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "NEG" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "NEG" ); } - break; - - case 248: - #line 584 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_NOT, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_NOT, (yyvsp[(2) - (2)]) ); } - break; - - case 249: - #line 585 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "NOT" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "NOT" ); } - break; - - case 250: - #line 589 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_CALL, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_CALL, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 251: - #line 590 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_CALL, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_CALL, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 252: - #line 591 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "CALL" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "CALL" ); } - break; - - case 253: - #line 595 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_INST, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_INST, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 254: - #line 596 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_INST, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_INST, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 255: - #line 597 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "INST" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "INST" ); } - break; - - case 256: - #line 601 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_UNPK, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_UNPK, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 257: - #line 602 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "UNPK" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "UNPK" ); } - break; - - case 258: - #line 606 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_UNPS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_UNPS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 259: - #line 607 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "UNPS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "UNPS" ); } - break; - - case 260: - #line 612 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_PUSH, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_PUSH, (yyvsp[(2) - (2)]) ); } - break; - - case 261: - #line 613 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_PSHN ); ;} -+ { COMPILER->addInstr( P_PSHN ); } - break; - - case 262: - #line 614 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "PUSH" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "PUSH" ); } - break; - - case 263: - #line 618 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_PSHR, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_PSHR, (yyvsp[(2) - (2)]) ); } - break; - - case 264: - #line 619 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "PSHR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "PSHR" ); } - break; - - case 265: - #line 624 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_POP, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_POP, (yyvsp[(2) - (2)]) ); } - break; - - case 266: - #line 625 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "POP" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "POP" ); } - break; - - case 267: - #line 629 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_PEEK, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_PEEK, (yyvsp[(2) - (2)]) ); } - break; - - case 268: - #line 630 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "PEEK" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "PEEK" ); } - break; - - case 269: - #line 634 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_XPOP, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_XPOP, (yyvsp[(2) - (2)]) ); } - break; - - case 270: - #line 635 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "XPOP" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "XPOP" ); } - break; - - case 271: - #line 640 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LDV, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_LDV, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 272: - #line 641 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LDV, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_LDV, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 273: - #line 642 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LDV" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LDV" ); } - break; - - case 274: - #line 646 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LDVT, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); ;} -+ { COMPILER->addInstr( P_LDVT, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); } - break; - - case 275: - #line 647 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LDVT, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); ;} -+ { COMPILER->addInstr( P_LDVT, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); } - break; - - case 276: - #line 648 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LDVT" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LDVT" ); } - break; - - case 277: - #line 652 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STV, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); ;} -+ { COMPILER->addInstr( P_STV, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); } - break; - - case 278: - #line 653 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STV, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); ;} -+ { COMPILER->addInstr( P_STV, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); } - break; - - case 279: - #line 654 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "STV" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "STV" ); } - break; - - case 280: - #line 658 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STVR, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); ;} -+ { COMPILER->addInstr( P_STVR, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); } - break; - - case 281: - #line 659 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STVR, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); ;} -+ { COMPILER->addInstr( P_STVR, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); } - break; - - case 282: - #line 660 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "STVR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "STVR" ); } - break; - - case 283: - #line 664 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STVS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_STVS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 284: - #line 665 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STVS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_STVS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 285: - #line 666 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "STVS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "STVS" ); } - break; - - case 286: - #line 670 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LDP, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_LDP, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 287: - #line 671 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LDP, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_LDP, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 288: - #line 672 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LDP" ); yyerrok; ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LDP" ); yyerrok; } - break; - - case 289: - #line 676 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LDPT, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); ;} -+ { COMPILER->addInstr( P_LDPT, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); } - break; - - case 290: - #line 677 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LDPT, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); ;} -+ { COMPILER->addInstr( P_LDPT, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); } - break; - - case 291: - #line 678 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LDPT" ); yyerrok; ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LDPT" ); yyerrok; } - break; - - case 292: - #line 682 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STP, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); ;} -+ { COMPILER->addInstr( P_STP, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); } - break; - - case 293: - #line 683 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STP, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); ;} -+ { COMPILER->addInstr( P_STP, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); } - break; - - case 294: - #line 684 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "STP" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "STP" ); } - break; - - case 295: - #line 688 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STPR, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); ;} -+ { COMPILER->addInstr( P_STPR, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); } - break; - - case 296: - #line 689 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STPR, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); ;} -+ { COMPILER->addInstr( P_STPR, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); } - break; - - case 297: - #line 690 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "STPR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "STPR" ); } - break; - - case 298: - #line 694 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STPS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_STPS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 299: - #line 695 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STPS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_STPS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 300: - #line 696 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "STPS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "STPS" ); } - break; - - case 301: - #line 700 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (6)])->fixed( true ); COMPILER->addInstr( P_TRAV, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); ;} -+ { (yyvsp[(2) - (6)])->fixed( true ); COMPILER->addInstr( P_TRAV, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); } - break; - - case 302: - #line 701 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (6)])->fixed( true ); COMPILER->addInstr( P_TRAV, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); ;} -+ { (yyvsp[(2) - (6)])->fixed( true ); COMPILER->addInstr( P_TRAV, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); } - break; - - case 303: - #line 702 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "TRAV" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "TRAV" ); } - break; - - case 304: - #line 706 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (6)])->fixed( true ); (yyvsp[(4) - (6)])->fixed( true ); (yyvsp[(6) - (6)])->fixed( true ); COMPILER->addInstr( P_TRAN, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); ;} -+ { (yyvsp[(2) - (6)])->fixed( true ); (yyvsp[(4) - (6)])->fixed( true ); (yyvsp[(6) - (6)])->fixed( true ); COMPILER->addInstr( P_TRAN, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); } - break; - - case 305: - #line 707 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (6)])->fixed( true ); (yyvsp[(4) - (6)])->fixed( true ); (yyvsp[(6) - (6)])->fixed( true ); COMPILER->addInstr( P_TRAN, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); ;} -+ { (yyvsp[(2) - (6)])->fixed( true ); (yyvsp[(4) - (6)])->fixed( true ); (yyvsp[(6) - (6)])->fixed( true ); COMPILER->addInstr( P_TRAN, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); } - break; - - case 306: - #line 708 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "TRAN" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "TRAN" ); } - break; - - case 307: - #line 712 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_TRAL, (yyvsp[(2) - (2)]) ); ;} -+ { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_TRAL, (yyvsp[(2) - (2)]) ); } - break; - - case 308: - #line 713 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_TRAL, (yyvsp[(2) - (2)]) ); ;} -+ { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_TRAL, (yyvsp[(2) - (2)]) ); } - break; - - case 309: - #line 714 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "TRAL" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "TRAL" ); } - break; - - case 310: - #line 718 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_IPOP, (yyvsp[(2) - (2)]) ); ;} -+ { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_IPOP, (yyvsp[(2) - (2)]) ); } - break; - - case 311: - #line 719 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "IPOP" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "IPOP" ); } - break; - - case 312: - #line 723 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_GENA, (yyvsp[(2) - (2)]) ); ;} -+ { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_GENA, (yyvsp[(2) - (2)]) ); } - break; - - case 313: - #line 724 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "GENA" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "GENA" ); } - break; - - case 314: - #line 728 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_GEND, (yyvsp[(2) - (2)]) ); ;} -+ { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_GEND, (yyvsp[(2) - (2)]) ); } - break; - - case 315: - #line 729 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "GEND" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "GEND" ); } - break; - - case 316: - #line 733 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_GENR, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); ;} -+ { COMPILER->addInstr( P_GENR, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)])); } - break; - - case 317: - #line 734 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "GENR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "GENR" ); } - break; - - case 318: - #line 738 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_GEOR, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_GEOR, (yyvsp[(2) - (2)]) ); } - break; - - case 319: - #line 739 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "GEOR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "GEOR" ); } - break; - - case 320: - #line 743 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_RIS, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_RIS, (yyvsp[(2) - (2)]) ); } - break; - - case 321: - #line 744 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "RIS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "RIS" ); } - break; - - case 322: - #line 748 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_JMP, (yyvsp[(2) - (2)]) ); ;} -+ { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_JMP, (yyvsp[(2) - (2)]) ); } - break; - - case 323: - #line 749 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_JMP, (yyvsp[(2) - (2)]) ); ;} -+ { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_JMP, (yyvsp[(2) - (2)]) ); } - break; - - case 324: - #line 750 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "JMP" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "JMP" ); } - break; - - case 325: - #line 754 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BOOL, (yyvsp[(1) - (2)]) ); ;} -+ { COMPILER->addInstr( P_BOOL, (yyvsp[(1) - (2)]) ); } - break; - - case 326: - #line 755 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "BOOL" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "BOOL" ); } - break; - - case 327: - #line 759 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_IFT, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_IFT, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 328: - #line 760 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_IFT, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_IFT, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 329: - #line 761 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "IFT" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "IFT" ); } - break; - - case 330: - #line 765 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_IFF, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_IFF, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 331: - #line 766 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_IFF, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_IFF, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 332: - #line 767 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "IFF" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "IFF" ); } - break; - - case 333: - #line 772 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); (yyvsp[(4) - (4)])->fixed( true ); COMPILER->addInstr( P_FORK, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); (yyvsp[(4) - (4)])->fixed( true ); COMPILER->addInstr( P_FORK, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 334: - #line 773 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); (yyvsp[(4) - (4)])->fixed( true ); COMPILER->addInstr( P_FORK, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); (yyvsp[(4) - (4)])->fixed( true ); COMPILER->addInstr( P_FORK, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 335: - #line 774 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "FORK" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "FORK" ); } - break; - - case 336: - #line 778 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_JTRY, (yyvsp[(2) - (2)]) ); ;} -+ { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_JTRY, (yyvsp[(2) - (2)]) ); } - break; - - case 337: - #line 779 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_JTRY, (yyvsp[(2) - (2)]) ); ;} -+ { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_JTRY, (yyvsp[(2) - (2)]) ); } - break; - - case 338: - #line 780 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "JTRY" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "JTRY" ); } - break; - - case 339: - #line 784 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_RET ); ;} -+ { COMPILER->addInstr( P_RET ); } - break; - - case 340: - #line 785 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "RET" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "RET" ); } - break; - - case 341: - #line 789 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_RETA ); ;} -+ { COMPILER->addInstr( P_RETA ); } - break; - - case 342: - #line 790 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "RETA" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "RETA" ); } - break; - - case 343: - #line 794 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_RETV, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_RETV, (yyvsp[(2) - (2)]) ); } - break; - - case 344: - #line 795 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "RETV" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "RETV" ); } - break; - - case 345: - #line 799 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_NOP ); ;} -+ { COMPILER->addInstr( P_NOP ); } - break; - - case 346: - #line 800 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "NOP" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "NOP" ); } - break; - - case 347: - #line 804 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_PTRY, (yyvsp[(2) - (2)]) ); ;} -+ { (yyvsp[(2) - (2)])->fixed( true ); COMPILER->addInstr( P_PTRY, (yyvsp[(2) - (2)]) ); } - break; - - case 348: - #line 805 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "PTRY" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "PTRY" ); } - break; - - case 349: - #line 809 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_END ); ;} -+ { COMPILER->addInstr( P_END ); } - break; - - case 350: - #line 810 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "END" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "END" ); } - break; - - case 351: - #line 814 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (6)])->fixed(true); COMPILER->write_switch( (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); ;} -+ { (yyvsp[(2) - (6)])->fixed(true); COMPILER->write_switch( (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); } - break; - - case 352: - #line 815 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "SWCH" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "SWCH" ); } - break; - - case 353: - #line 819 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (6)])->fixed(true); COMPILER->write_switch( (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); ;} -+ { (yyvsp[(2) - (6)])->fixed(true); COMPILER->write_switch( (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), (yyvsp[(6) - (6)]) ); } - break; - - case 354: - #line 820 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "SELE" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "SELE" ); } - break; - - case 355: -@@ -3751,7 +3751,7 @@ - psd->asList()->pushBack( (yyvsp[(1) - (3)]) ); - psd->asList()->pushBack( (yyvsp[(3) - (3)]) ); - (yyval) = psd; -- ;} -+ } - break; - - case 356: -@@ -3760,432 +3760,432 @@ - (yyvsp[(1) - (5)])->asList()->pushBack( (yyvsp[(3) - (5)]) ); - (yyvsp[(1) - (5)])->asList()->pushBack( (yyvsp[(5) - (5)]) ); - (yyval) = (yyvsp[(1) - (5)]); -- ;} -+ } - break; - - case 357: - #line 842 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_ONCE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); COMPILER->addStatic(); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_ONCE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); COMPILER->addStatic(); } - break; - - case 358: - #line 843 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_ONCE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); COMPILER->addStatic(); ;} -+ { (yyvsp[(2) - (4)])->fixed( true ); COMPILER->addInstr( P_ONCE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); COMPILER->addStatic(); } - break; - - case 359: - #line 844 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "ONCE" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "ONCE" ); } - break; - - case 360: - #line 848 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BAND, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BAND, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 361: - #line 849 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BAND, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BAND, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 362: - #line 850 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BAND, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BAND, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 363: - #line 851 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BAND, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BAND, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 364: - #line 852 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "BAND" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "BAND" ); } - break; - - case 365: - #line 856 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 366: - #line 857 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 367: - #line 858 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 368: - #line 859 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 369: - #line 860 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "BOR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "BOR" ); } - break; - - case 370: - #line 864 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BXOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BXOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 371: - #line 865 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BXOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BXOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 372: - #line 866 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BXOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BXOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 373: - #line 867 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BXOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_BXOR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 374: - #line 868 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "BXOR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "BXOR" ); } - break; - - case 375: - #line 872 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BNOT, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_BNOT, (yyvsp[(2) - (2)]) ); } - break; - - case 376: - #line 873 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_BNOT, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_BNOT, (yyvsp[(2) - (2)]) ); } - break; - - case 377: - #line 874 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "BXOR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "BXOR" ); } - break; - - case 378: - #line 878 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_AND, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_AND, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 379: - #line 879 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "AND" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "AND" ); } - break; - - case 380: - #line 883 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_OR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_OR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 381: - #line 884 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "OR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "OR" ); } - break; - - case 382: - #line 888 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_ANDS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_ANDS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 383: - #line 889 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "ANDS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "ANDS" ); } - break; - - case 384: - #line 893 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_ORS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_ORS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 385: - #line 894 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "ORS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "ORS" ); } - break; - - case 386: - #line 898 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_XORS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_XORS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 387: - #line 899 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "XORS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "XORS" ); } - break; - - case 388: - #line 903 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_MODS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_MODS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 389: - #line 904 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "MODS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "MODS" ); } - break; - - case 390: - #line 908 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_POWS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_POWS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 391: - #line 909 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "POWS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "POWS" ); } - break; - - case 392: - #line 913 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_NOTS, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_NOTS, (yyvsp[(2) - (2)]) ); } - break; - - case 393: - #line 914 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "NOTS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "NOTS" ); } - break; - - case 394: - #line 918 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_HAS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_HAS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 395: - #line 919 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_HAS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_HAS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 396: - #line 920 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "HAS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "HAS" ); } - break; - - case 397: - #line 924 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_HASN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_HASN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 398: - #line 925 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_HASN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_HASN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 399: - #line 926 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "HASN" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "HASN" ); } - break; - - case 400: - #line 930 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_GIVE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_GIVE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 401: - #line 931 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_GIVE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_GIVE, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 402: - #line 932 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "GIVE" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "GIVE" ); } - break; - - case 403: - #line 936 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_GIVN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_GIVN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 404: - #line 937 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_GIVN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_GIVN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 405: - #line 938 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "GIVN" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "GIVN" ); } - break; - - case 406: - #line 943 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_IN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_IN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 407: - #line 944 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "IN" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "IN" ); } - break; - - case 408: - #line 948 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_NOIN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_NOIN, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 409: - #line 949 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "NOIN" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "NOIN" ); } - break; - - case 410: - #line 953 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_PROV, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;} -+ { COMPILER->addInstr( P_PROV, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); } - break; - - case 411: - #line 954 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "PROV" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "PROV" ); } - break; - - case 412: - #line 958 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_PSIN, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_PSIN, (yyvsp[(2) - (2)]) ); } - break; - - case 413: - #line 959 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "PSIN" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "PSIN" ); } - break; - - case 414: - #line 963 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_PASS, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_PASS, (yyvsp[(2) - (2)]) ); } - break; - - case 415: - #line 964 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "PASS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "PASS" ); } - break; - - case 416: - #line 968 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_SHR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_SHR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 417: - #line 969 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "SHR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "SHR" ); } - break; - - case 418: - #line 973 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_SHL, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_SHL, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 419: - #line 974 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "SHL" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "SHL" ); } - break; - - case 420: - #line 978 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_SHRS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_SHRS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 421: - #line 979 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "SHRS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "SHRS" ); } - break; - - case 422: - #line 983 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_SHLS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_SHLS, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 423: - #line 984 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "SHLS" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "SHLS" ); } - break; - - case 424: - #line 988 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LDVR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_LDVR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 425: - #line 989 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LDVR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LDVR" ); } - break; - - case 426: - #line 993 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LDPR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_LDPR, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 427: - #line 994 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LDPR" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LDPR" ); } - break; - - case 428: - #line 998 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_LSB, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_LSB, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 429: - #line 999 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "LSB" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "LSB" ); } - break; - - case 430: - #line 1003 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_INDI, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_INDI, (yyvsp[(2) - (2)]) ); } - break; - - case 431: - #line 1004 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_INDI, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_INDI, (yyvsp[(2) - (2)]) ); } - break; - - case 432: - #line 1005 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "INDI" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "INDI" ); } - break; - - case 433: - #line 1009 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STEX, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_STEX, (yyvsp[(2) - (2)]) ); } - break; - - case 434: - #line 1010 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STEX, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_STEX, (yyvsp[(2) - (2)]) ); } - break; - - case 435: - #line 1011 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError( Falcon::e_invop, "STEX" ); ;} -+ { COMPILER->raiseError( Falcon::e_invop, "STEX" ); } - break; - - case 436: - #line 1015 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_TRAC, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_TRAC, (yyvsp[(2) - (2)]) ); } - break; - - case 437: - #line 1016 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError( Falcon::e_invop, "TRAC" ); ;} -+ { COMPILER->raiseError( Falcon::e_invop, "TRAC" ); } - break; - - case 438: - #line 1020 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_WRT, (yyvsp[(2) - (2)]) ); ;} -+ { COMPILER->addInstr( P_WRT, (yyvsp[(2) - (2)]) ); } - break; - - case 439: - #line 1021 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError( Falcon::e_invop, "WRT" ); ;} -+ { COMPILER->raiseError( Falcon::e_invop, "WRT" ); } - break; - - case 440: - #line 1026 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->addInstr( P_STO, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); ;} -+ { COMPILER->addInstr( P_STO, (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]) ); } - break; - - case 441: - #line 1027 "/home/gian/Progetti/falcon/core/engine/fasm_parser.yy" -- { COMPILER->raiseError(Falcon::e_invop, "STO" ); ;} -+ { COMPILER->raiseError(Falcon::e_invop, "STO" ); } - break; - - -Index: CMakeLists.txt -=================================================================== ---- CMakeLists.txt (revision 393) -+++ CMakeLists.txt (working copy) -@@ -3,27 +3,165 @@ - # - # CMake configuration file for Core falcon - #################################################################### -- -+cmake_minimum_required(VERSION 2.4) - PROJECT(Falcon_Core) --SET(FALCON_PROJECT_BASE "core") - --#Check for environment --IF($ENV{FALCON_DEVEL_TREE} STREQUAL "" ) -+IF("$ENV{FALCON_DEVEL_TREE}" STREQUAL "") - MESSAGE( FATAL_ERROR "Sorry, Falcon environment not correctly configured" ) --ENDIF($ENV{FALCON_DEVEL_TREE} STREQUAL "") -+ENDIF("$ENV{FALCON_DEVEL_TREE}" STREQUAL "") - --#Include falcon configuration --INCLUDE("$ENV{FALCON_DEVEL_TREE}/config.cmake") -+#Set the default buid type to Debug -+IF(NOT CMAKE_BUILD_TYPE) -+ SET( CMAKE_BUILD_TYPE $ENV{FALCON_BUILD_TYPE} ) - --#set common include directory --FALCON_INCLUDE_SETTINGS() -+ #Still unset? -+ IF(NOT CMAKE_BUILD_TYPE) -+ SET(CMAKE_BUILD_TYPE Debug CACHE STRING -+ "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." -+ FORCE) -+ ENDIF(NOT CMAKE_BUILD_TYPE) -+ENDIF(NOT CMAKE_BUILD_TYPE) - --FALCON_ADD_SUBDIRECTORY(engine) --FALCON_ADD_SUBDIRECTORY(rtl) --FALCON_ADD_SUBDIRECTORY(clt) -+# This is the "product version" -+SET(FALCON_VERSION_MAJOR "$ENV{FALCON_VERSION_MAJOR}") -+SET(FALCON_VERSION_MINOR "$ENV{FALCON_VERSION_MINOR}") -+SET(FALCON_VERSION_REVISION "$ENV{FALCON_VERSION_REVISION}") -+SET(FALCON_VERSION_PATCH "$ENV{FALCON_VERSION_PATCH}") - -+SET(FALCON_VERSION_NAME "$ENV{FALCON_VERSION_NAME}") -+ -+#SONAME and soversion (unix so library informations for engine) -+# Remember that SONAME never follows project versioning, but -+# uses a VERSION, REVISION, AGE format, where -+# VERSION: generational version of the project -+# REVISION: times this version has been touched -+# AGE: Number of version for which binary compatibility is granted -+# In eample, 1.12.5 means that this lib may be dynlinked against -+# every program using this lib versioned from 1.8 to 1.12. -+ -+IF( NOT "$ENV{FALCON_SONAME_AGE}" STREQUAL "" ) -+ SET(FALCON_SONAME_VERSION $ENV{FALCON_SONAME_VERSION}) -+ SET(FALCON_SONAME_REVISION $ENV{FALCON_SONAME_REVISION}) -+ SET(FALCON_SONAME_AGE $ENV{FALCON_SONAME_AGE}) -+ -+ # A couple of useful shortcuts -+ SET(FALCON_SONAME "${FALCON_SONAME_VERSION}.${FALCON_SONAME_REVISION}.${FALCON_SONAME_AGE}") -+ SET(FALCON_SONAME_REV "${FALCON_SONAME_VERSION}.${FALCON_SONAME_REVISION}") -+ENDIF( NOT "$ENV{FALCON_SONAME_AGE}" STREQUAL "" ) -+ -+#Automatically generated version info for RC scripts and sources -+#CMAKE is good at this, let's use this feature -+SET(FALCON_VERSION_RC "${FALCON_VERSION_MAJOR}, ${FALCON_VERSION_MINOR}, ${FALCON_VERSION_REVISION}, ${FALCON_VERSION_PATCH}") -+SET(FALCON_VERSION_ID "${FALCON_VERSION_MAJOR}.${FALCON_VERSION_MINOR}.${FALCON_VERSION_REVISION}.${FALCON_VERSION_PATCH}") -+ -+#Import environment variables -+SET(FALCON_BUILD_NAME $ENV{FALCON_BUILD_NAME}) -+SET(FALCON_ACTIVE_TREE $ENV{FALCON_ACTIVE_TREE}) -+SET(FALCON_SRC_TREE $ENV{FALCON_SRC_TREE}) -+SET(FALCON_DEVEL_TREE $ENV{FALCON_DEVEL_TREE}) -+SET(FALCON_BUILD_TREE $ENV{FALCON_BUILD_TREE}) -+ -+############################################################################## -+# Including specific build informations -+# This is a user-configurable script containing vars -+############################################################################## -+INCLUDE("${FALCON_DEVEL_TREE}/settings.cmake" OPTIONAL) -+ -+#install will happen in FALCON_INSTALL_TREE (With optional FALCON_INSTALL_TREE_LIB) -+IF( "${FALCON_INSTALL_TREE}" STREQUAL "" ) -+ SET( FALCON_INSTALL_TREE "${FALCON_ACTIVE_TREE}" ) -+ENDIF( "${FALCON_INSTALL_TREE}" STREQUAL "" ) -+ -+IF( "${FALCON_INSTALL_TREE_LIB}" STREQUAL "" ) -+ SET( FALCON_INSTALL_TREE_LIB "lib" ) -+ENDIF( "${FALCON_INSTALL_TREE_LIB}" STREQUAL "" ) -+ -+#sets default installation target dirs. -+ -+SET( FALCON_INC_DIR "${FALCON_INSTALL_TREE}/include" ) -+SET( FALCON_BIN_DIR "${FALCON_INSTALL_TREE}/bin" ) -+SET( FALCON_LIB_DIR "${FALCON_INSTALL_TREE}/${FALCON_INSTALL_TREE_LIB}" ) -+IF(WIN32) -+ SET( FALCON_MOD_INSTALL "$ENV{FALCON_ACTIVE_TREE}/bin" ) -+ELSE(WIN32) -+ SET( FALCON_MOD_INSTALL "${FALCON_LIB_DIR}/falcon" ) -+ENDIF(WIN32) -+ -+############################################################################## -+# Other defaults -+############################################################################## -+INCLUDE(TestBigEndian) -+ -+TEST_BIG_ENDIAN(falcon_big_endian) -+IF(falcon_big_endian) -+ SET(FALCON_LITTLE_ENDIAN 0) -+ELSE(falcon_big_endian) -+ SET(FALCON_LITTLE_ENDIAN 1) -+ENDIF(falcon_big_endian) -+ -+ -+#IMPORT final destination - the default install directory. -+IF("${FALCON_FINAL_DESTINATION}" STREQUAL "" ) -+ #In windows, we normally install in c:\falcon -+ IF(WIN32) -+ IF($ENV{PRGORAMS}) -+ SET(FALCON_FINAL_DESTINATION "C:\\\\$ENV{PROGRAMS}\\\\falcon" ) -+ ELSE($ENV{PRGORAMS}) -+ SET(FALCON_FINAL_DESTINATION "C:\\\\Program Files\\\\falcon" ) -+ ENDIF($ENV{PRGORAMS}) -+ ELSE(WIN32) -+ SET(FALCON_FINAL_DESTINATION "/usr/local" ) -+ ENDIF(WIN32) -+ENDIF("${FALCON_FINAL_DESTINATION}" STREQUAL "" ) -+ -+IF("${FALCON_FINAL_DESTINATION_LIB}" STREQUAL "" ) -+ SET(FALCON_FINAL_DESTINATION_LIB "${FALCON_INSTALL_TREE_LIB}" ) -+ENDIF("${FALCON_FINAL_DESTINATION_LIB}" STREQUAL "" ) -+ -+#In windows, we normally install in c:\falcon -+IF(WIN32) -+ SET( FALCON_HOST_SYSTEM "WINDOWS" ) -+ SET( FALCON_SYSTEM_WIN 1 ) -+ELSE(WIN32) -+ IF(APPLE) -+ SET( FALCON_HOST_SYSTEM "MAC" ) -+ SET( FALCON_SYSTEM_MAC 1 ) -+ ELSEIF(UNIX) -+ SET( FALCON_HOST_SYSTEM "UNIX" ) -+ SET( FALCON_SYSTEM_UNIX 1 ) -+ ELSE(APPLE) -+ MESSAGE( "Sorry, can't determine system type" ) -+ ENDIF(APPLE) -+ENDIF(WIN32) -+ -+ -+############################################################################## -+# Used macro -+############################################################################## -+ -+MACRO(FALCON_CONFIG itemlist) -+ FOREACH(item ${${itemlist}} ) -+ MESSAGE( "Configuring ${item}.in into ${item}" ) -+ CONFIGURE_FILE( -+ ${item}.in -+ ${item} -+ ESCAPE_QUOTES -+ @ONLY ) -+ ENDFOREACH(item) -+ENDMACRO(FALCON_CONFIG) -+ -+#include also from-source builds to allow compilation from source -+INCLUDE_DIRECTORIES(BEFORE ${FALCON_SRC_TREE}/core/include) -+INCLUDE_DIRECTORIES( BEFORE ${FALCON_BUILD_TREE}/core/include) -+LINK_DIRECTORIES( ${FALCON_BUILD_TREE}/core/engine ) -+ -+#We'll take cares of prefixes -+SET(CMAKE_INSTALL_PREFIX "") -+ -+ADD_SUBDIRECTORY(engine) -+ADD_SUBDIRECTORY(rtl) -+ADD_SUBDIRECTORY(clt) -+ADD_SUBDIRECTORY(devtools) -+ - #also performs installation of the include directory --FALCON_ADD_SUBDIRECTORY("include") -- --#Setting project wide include directories. --MESSAGE( "INCLUDING TARGET DIR ${TARGET_DIR}" ) -+ADD_SUBDIRECTORY("include") diff --git a/Falcon.spec b/Falcon.spec index 831ee46..9f229a8 100644 --- a/Falcon.spec +++ b/Falcon.spec @@ -2,15 +2,14 @@ Name: Falcon Version: 0.8.10 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Falcon Programming Language Summary(it): Il linguaggio di programmazione Falcon License: GPLv2+ Group: Development/Languages URL: http://%{host}/ Source: http://%{host}/project_dl/_official_rel/%{name}-%{version}.tar.gz -Patch0: Falcon-core-0810-r401.patch -Patch1: Falcon-0.8.10-prefix.patch +Patch0: Falcon-0.8.10-prefix.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: bison cmake pcre-devel zlib-devel @@ -50,8 +49,7 @@ necessary for using the %{name} interpreter. %prep %setup -q -(cd core && %patch0 -p0 -b .r401) -%patch1 -p1 -b .prefix +%patch0 -p1 -b .prefix %build @@ -62,6 +60,11 @@ CXXFLAGS="$RPM_OPT_FLAGS -w" CFLAGS="$RPM_OPT_FLAGS -w" ./build.sh \ %install rm -rf $RPM_BUILD_ROOT ./build.sh -i +# with cmake-2.6, the default install target misses some files +[ -f $RPM_BUILD_ROOT%{_bindir}/faltest ] || \ + (cd devel/release/build/core && make install && \ + cd ../modules/feathers && make install) +# Fix falconeer script sed -i "s|#!/bin/falcon|#!%{_bindir}/falcon|" \ $RPM_BUILD_ROOT%{_bindir}/falconeer.fal @@ -100,6 +103,10 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/faltest* %changelog +* Mon Jun 9 2008 Michel Alexandre Salim - 0.8.10-3 +- Revert r401 patch; does not fix cmake-2.6 problem on Rawhide + Reverting to manually using 'make install' in individual subdirectories + * Mon Jun 9 2008 Michel Alexandre Salim - 0.8.10-2 - Merge in cmake fixes from core/trunk r401 - Patch core/CMakeLists.txt to default to /usr, as it appears that the