Generate the parser at build time, part one

Update a number of things to make optionally generating the parser at
build time possible.  @sgolemon will add the OSS pieces of this in a
separate commit.
Esse commit está contido em:
Owen Yamauchi
2013-04-25 14:51:18 -07:00
commit de Sara Golemon
commit a57ae0488a
36 arquivos alterados com 830 adições e 81505 exclusões
+1 -1
Ver Arquivo
@@ -63,7 +63,7 @@
#include <compiler/analysis/live_dict.h>
#include <compiler/analysis/ref_dict.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <util/parser/location.h>
#include <util/util.h>
+1 -1
Ver Arquivo
@@ -24,7 +24,7 @@
#include <util/logger.h>
#include <util/util.h>
#include <util/job_queue.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <runtime/vm/bytecode.h>
#include <runtime/vm/repo.h>
#include <runtime/vm/as.h>
+1 -1
Ver Arquivo
@@ -36,7 +36,7 @@
#include <runtime/base/class_info.h>
#include <runtime/base/type_conversions.h>
#include <runtime/base/builtin_functions.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <runtime/base/variable_serializer.h>
#include <runtime/base/zend/zend_string.h>
+1 -1
Ver Arquivo
@@ -29,7 +29,7 @@
#include <compiler/statement/method_statement.h>
#include <compiler/statement/statement_list.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
using namespace HPHP;
using std::vector;
+1 -1
Ver Arquivo
@@ -27,7 +27,7 @@
#include <compiler/analysis/file_scope.h>
#include <compiler/analysis/variable_table.h>
#include <compiler/analysis/constant_table.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <runtime/base/class_info.h>
#include <runtime/base/program_functions.h>
#include <runtime/base/array/array_iterator.h>
@@ -22,7 +22,7 @@
#include <compiler/option.h>
#include <compiler/expression/static_member_expression.h>
#include <compiler/analysis/function_scope.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <runtime/base/complex_types.h>
#include <runtime/base/builtin_functions.h>
@@ -17,7 +17,7 @@
#include <compiler/expression/array_pair_expression.h>
#include <compiler/expression/scalar_expression.h>
#include <compiler/expression/unary_op_expression.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
using namespace HPHP;
@@ -25,7 +25,7 @@
#include <compiler/analysis/constant_table.h>
#include <compiler/analysis/file_scope.h>
#include <compiler/expression/unary_op_expression.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <compiler/option.h>
#include <compiler/analysis/class_scope.h>
#include <compiler/analysis/function_scope.h>
@@ -18,7 +18,7 @@
#include <compiler/expression/array_element_expression.h>
#include <compiler/expression/object_property_expression.h>
#include <compiler/expression/unary_op_expression.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <compiler/expression/scalar_expression.h>
#include <compiler/expression/constant_expression.h>
#include <runtime/base/complex_types.h>
@@ -26,7 +26,7 @@
#include <util/util.h>
#include <compiler/option.h>
#include <compiler/parser/parser.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <compiler/expression/scalar_expression.h>
#include <runtime/ext/ext_misc.h>
+1 -1
Ver Arquivo
@@ -17,7 +17,7 @@
#include <compiler/expression/expression.h>
#include <compiler/analysis/code_error.h>
#include <compiler/parser/parser.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <util/util.h>
#include <compiler/analysis/class_scope.h>
#include <compiler/analysis/function_scope.h>
+1 -1
Ver Arquivo
@@ -35,7 +35,7 @@
#include <compiler/expression/parameter_expression.h>
#include <compiler/expression/assignment_expression.h>
#include <compiler/expression/unary_op_expression.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
using namespace HPHP;
+1 -1
Ver Arquivo
@@ -15,7 +15,7 @@
*/
#include <compiler/expression/include_expression.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <compiler/analysis/code_error.h>
#include <compiler/analysis/file_scope.h>
#include <compiler/analysis/function_scope.h>
+1 -1
Ver Arquivo
@@ -23,7 +23,7 @@
#include <compiler/expression/object_property_expression.h>
#include <compiler/expression/unary_op_expression.h>
#include <compiler/expression/binary_op_expression.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
using namespace HPHP;
@@ -15,7 +15,7 @@
*/
#include <compiler/expression/modifier_expression.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
using namespace HPHP;
@@ -25,7 +25,7 @@
#include <compiler/option.h>
#include <compiler/expression/simple_variable.h>
#include <util/hash.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
using namespace HPHP;
+1 -1
Ver Arquivo
@@ -18,7 +18,7 @@
#include <cmath>
#include <limits.h>
#include <compiler/expression/scalar_expression.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <util/util.h>
#include <compiler/analysis/code_error.h>
#include <compiler/analysis/block_scope.h>
+1 -1
Ver Arquivo
@@ -21,7 +21,7 @@
#include <compiler/option.h>
#include <compiler/builtin_symbols.h>
#include <compiler/expression/scalar_expression.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <util/parser/parser.h>
using namespace HPHP;
@@ -24,7 +24,7 @@
#include <compiler/analysis/function_scope.h>
#include <util/util.h>
#include <util/hash.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <compiler/option.h>
using namespace HPHP;
@@ -16,7 +16,7 @@
#include <compiler/expression/unary_op_expression.h>
#include <compiler/expression/object_property_expression.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <compiler/analysis/code_error.h>
#include <compiler/analysis/file_scope.h>
#include <compiler/statement/statement_list.h>
-7
Ver Arquivo
@@ -1,7 +0,0 @@
# This Makefile is only needed to run when hphp.x or hphp.y is modified
PROJECT_ROOT = ../../..
YYPREFIX = Compiler
include $(PROJECT_ROOT)/src/util/parser/rules.mk
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+1 -1
Ver Arquivo
@@ -16,7 +16,7 @@
#include <compiler/parser/parser.h>
#include <compiler/type_annotation.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <compiler/analysis/file_scope.h>
#include <compiler/expression/expression_list.h>
+1 -1
Ver Arquivo
@@ -16,7 +16,7 @@
#include <compiler/statement/case_statement.h>
#include <compiler/expression/scalar_expression.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <compiler/option.h>
using namespace HPHP;
+1 -1
Ver Arquivo
@@ -15,7 +15,7 @@
*/
#include <compiler/statement/class_statement.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <compiler/expression/expression_list.h>
#include <compiler/statement/statement_list.h>
#include <compiler/expression/scalar_expression.h>
+1 -1
Ver Arquivo
@@ -20,7 +20,7 @@
#include <compiler/expression/scalar_expression.h>
#include <compiler/expression/include_expression.h>
#include <compiler/option.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <compiler/expression/function_call.h>
#include <compiler/analysis/analysis_result.h>
#include <compiler/analysis/file_scope.h>
+1 -1
Ver Arquivo
@@ -26,7 +26,7 @@
#include <compiler/statement/function_statement.h>
#include <compiler/statement/return_statement.h>
#include <compiler/statement/block_statement.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <compiler/expression/binary_op_expression.h>
#include <compiler/expression/assignment_expression.h>
#include <compiler/expression/simple_variable.h>
+1 -1
Ver Arquivo
@@ -29,7 +29,7 @@
#include <runtime/base/runtime_option.h>
#include <runtime/ext/ext_iconv.h>
#include <unicode/coll.h> // icu
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
namespace HPHP {
+1 -1
Ver Arquivo
@@ -24,7 +24,7 @@
#include <runtime/base/runtime_option.h>
#include <runtime/base/zend/zend_string.h>
#include <runtime/base/array/array_iterator.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#include <runtime/vm/translator/translator-x64.h>
#include <runtime/vm/runtime.h>
#include <runtime/vm/instance.h>
+1 -1
Ver Arquivo
@@ -301,7 +301,7 @@ static void get_color(int tokid, int prev, int next,
#endif
#define YYTOKEN(num, name) (char)(CodeColorKeyword * 2)
#define YYTOKEN_MAP static char code[] =
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#undef YYTOKEN_MAP
#undef YYTOKEN
+1 -1
Ver Arquivo
@@ -328,7 +328,7 @@ String f_token_name(int64_t token) {
#endif
#define YYTOKEN(num, name) #name
#define YYTOKEN_MAP static const char *names[] =
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
#undef YYTOKEN_MAP
#undef YYTOKEN
+13 -9
Ver Arquivo
@@ -1,7 +1,11 @@
%{
#include "parser.h"
#include <util/util.h>
#include <util/logger.h>
#ifdef TEST_PARSER
#include "util/parser/test/parser.h"
#else
#include "compiler/parser/parser.h"
#endif
#include "util/util.h"
#include "util/logger.h"
// macros for bison
#define YYSTYPE HPHP::HPHP_PARSER_NS::Token
@@ -1609,7 +1613,7 @@ expr_no_variable:
| shape_literal { $$ = $1; }
| '`' backticks_expr '`' { _p->onEncapsList($$,'`',$2);}
| T_PRINT expr { UEXP($$,$2,T_PRINT,1);}
| function_loc
| function_loc
is_reference '(' { Token t; _p->onClosureStart(t);
_p->pushLabelInfo();}
parameter_list ')'
@@ -1617,7 +1621,7 @@ expr_no_variable:
'{' inner_statement_list '}' { Token u; u.reset();
_p->onClosure($$,u,$2,$5,$8,$10,0);
_p->popLabelInfo();}
| T_STATIC function_loc
| T_STATIC function_loc
is_reference '(' { Token t; _p->onClosureStart(t);
_p->pushLabelInfo();}
parameter_list ')'
@@ -2355,9 +2359,9 @@ sm_typeargs_opt:
sm_type_list:
sm_type { Token t; t.reset();
_p->onTypeList($1, t);
_p->onTypeList($1, t);
$$ = $1; }
| sm_type_list ',' sm_type { _p->onTypeList($1, $3);
| sm_type_list ',' sm_type { _p->onTypeList($1, $3);
$$ = $1; }
;
@@ -2412,7 +2416,7 @@ sm_shape_type:
sm_type:
/* double-optional types will be rejected by the typechecker; we
* already allow plenty of nonsense types anyway */
'?' sm_type { only_in_strict_mode(_p);
'?' sm_type { only_in_strict_mode(_p);
_p->onTypeSpecialization($2, '?');
$$ = $2; }
| '@' sm_type { only_in_strict_mode(_p);
@@ -2438,7 +2442,7 @@ sm_type:
_p->onTypeSpecialization($$, 'x'); }
| '(' T_FUNCTION
'(' sm_func_type_list ')'
':' sm_type ')' { only_in_strict_mode(_p);
':' sm_type ')' { only_in_strict_mode(_p);
_p->onTypeList($7, $4);
_p->onTypeAnnotation($$, $2, $7);
_p->onTypeSpecialization($$, 'f'); }
+1 -1
Ver Arquivo
@@ -20,7 +20,7 @@
#include <sstream>
#include <util/exception.h>
#include <util/parser/location.h>
#include <util/parser/hphp.tab.hpp>
#include "hphp/util/parser/hphp.tab.hpp"
namespace HPHP {
///////////////////////////////////////////////////////////////////////////////
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff