96 lines
2.7 KiB
Plaintext
96 lines
2.7 KiB
Plaintext
Changement:
|
|
----------------------------Erreurs via exceptions-----------------------------
|
|
Remplacement de l'extension de tous les fichiers .c en .cpp
|
|
|
|
---------------------------------Compatibilité---------------------------------
|
|
-Dans tous les fichiers:
|
|
Remplacement des lignes:
|
|
#include "lauxlib.h"
|
|
#include "lua.h"
|
|
#include "luaconf.h"
|
|
#include "lualib.h"
|
|
|
|
Par les lignes:
|
|
#include <Lua/lauxlib.h>
|
|
#include <Lua/lua.h>
|
|
#include <Lua/luaconf.h>
|
|
#include <Lua/lualib.h>
|
|
|
|
---------------------Support des commentaires longs du C++----------------------
|
|
-Fichier llex.cpp (Aux alentours de la ligne 468)
|
|
static int llex (LexState *ls, SemInfo *seminfo) {
|
|
+#if defined(LUA_CPPCOMT_LONG)
|
|
+ int last;
|
|
+#endif
|
|
luaZ_resetbuffer(ls->buff);
|
|
for (;;) {
|
|
-Fichier llex.cpp (Aux alentours de la ligne 530):
|
|
case '/': {
|
|
next(ls);
|
|
if (check_next1(ls, '/')) return TK_IDIV;
|
|
+#if defined(LUA_CPPCOMT_LONG)
|
|
+ /* bn 01/2012: added C++-style comments */
|
|
+ /* Lynix 02/2015: Fixed it for Lua 5.3.0 */
|
|
+ else if (check_next1('*')) {
|
|
+ last = 0;
|
|
+ while (ls->current != EOZ) {
|
|
+ if (last == '*' && ls->current == '/') break;
|
|
+ last = ls->current;
|
|
+ next(ls); /* skip until closing marker (or end of file) */
|
|
+ }
|
|
+ if (ls->current == EOZ)
|
|
+ lexerror(ls, "unfinished long comment", TK_EOS);
|
|
+ else next(ls);
|
|
+ }
|
|
+#endif /* LUA_CPPCOMT_LONG */
|
|
else return '/';
|
|
}
|
|
|
|
-Fichier llex.h (Aux alentours de la ligne 20):
|
|
|
|
+/* bn 01/2012: added C++-style comments */
|
|
+#define LUA_CPPCOMT_LONG
|
|
+/* end changes */
|
|
+
|
|
/*
|
|
* WARNING: if you change the order of this enumeration,
|
|
* grep "ORDER RESERVED"
|
|
|
|
---------------------Support de la négation du C/C++ (!=)----------------------
|
|
-Fichier llex.h (Aux alentours de la ligne 15):
|
|
+#define LUA_CPPNEG
|
|
|
|
/*
|
|
* WARNING: if you change the order of this enumeration,
|
|
* grep "ORDER RESERVED"
|
|
-Fichier llex.h (Aux alentours de la ligne 37)
|
|
TK_SHL, TK_SHR,
|
|
TK_DBCOLON, TK_EOS,
|
|
+#ifdef LUA_CPPNEG
|
|
+ TK_CNE,
|
|
+#endif
|
|
TK_FLT, TK_INT, TK_NAME, TK_STRING
|
|
|
|
-Fichier llex.cpp (Aux alentours de la ligne 44)
|
|
"//", "..", "...", "==", ">=", "<=", "~=",
|
|
"<<", ">>", "::", "<eof>",
|
|
+#ifdef LUA_CPPNEG
|
|
+ "!=",
|
|
+#endif
|
|
"<number>", "<integer>", "<name>", "<string>"
|
|
-Fichier llex.cpp (Aux alentours de la ligne 556)
|
|
if (check_next1(ls, '/')) return TK_IDIV;
|
|
else return '/';
|
|
}
|
|
+#ifdef LUA_CPPNEG
|
|
+ case '!': {
|
|
+ next(ls);
|
|
+ if (check_next1(ls, '=')) return TK_NE;
|
|
+ else return '!';
|
|
+ }
|
|
+#endif
|
|
case '~': {
|
|
next(ls);
|
|
if (check_next1(ls, '=')) return TK_NE;
|
|
|