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:
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
+787
-785
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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'); }
|
||||
|
||||
@@ -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
Referência em uma Nova Issue
Bloquear um usuário