Home
last modified time | relevance | path

Searched refs:code (Results 1 – 25 of 56) sorted by relevance

123

/PHP-Parser/grammar/
H A DphpyLang.php23 $code = resolveNodes($code);
24 $code = resolveMacros($code);
25 $code = resolveStackAccess($code);
26 $code = str_replace('$this', '$self', $code);
28 return $code;
31 function resolveNodes($code) { argument
50 $code
129 $code
140 $code = preg_replace('/\$\d+/', '$this->semStack[$0]', $code);
141 $code = preg_replace('/#(\d+)/', '$$1', $code);
[all …]
/PHP-Parser/lib/PhpParser/
H A DError.php102 * @param string $code Source code of the file
104 public function getStartColumn(string $code): int { argument
115 * @param string $code Source code of the file
117 public function getEndColumn(string $code): int { argument
132 public function getMessageWithColumnInfo(string $code): string { argument
135 $this->getStartLine(), $this->getStartColumn($code),
136 $this->getEndLine(), $this->getEndColumn($code)
143 * @param string $code Source code that $pos indexes into
148 private function toColumn(string $code, int $pos): int { argument
149 if ($pos > strlen($code)) {
[all …]
H A DParser.php9 * @param string $code The source code to parse
16 public function parse(string $code, ?ErrorHandler $errorHandler = null): ?array; argument
H A DNodeDumper.php19 private ?string $code; variable in PhpParser\\NodeDumper
54 * @param string|null $code Code corresponding to dumped AST. This only needs to be passed if
60 public function dump($node, ?string $code = null): string { argument
61 $this->code = $code;
269 && null !== $this->code
271 $start .= ':' . $this->toColumn($this->code, $node->getStartFilePos());
272 $end .= ':' . $this->toColumn($this->code, $node->getEndFilePos());
278 private function toColumn(string $code, int $pos): int { argument
279 if ($pos > strlen($code)) {
283 $lineStartPos = strrpos($code, "\n", $pos - strlen($code));
/PHP-Parser/lib/PhpParser/Lexer/TokenEmulator/
H A DReverseEmulator.php22 public function isEmulationNeeded(string $code): bool { argument
23 return $this->emulator->isEmulationNeeded($code);
26 public function emulate(string $code, array $tokens): array { argument
27 return $this->emulator->reverseEmulate($code, $tokens);
30 public function reverseEmulate(string $code, array $tokens): array { argument
31 return $this->emulator->emulate($code, $tokens);
34 public function preprocessCode(string $code, array &$patches): string { argument
35 return $code;
H A DAttributeEmulator.php13 public function isEmulationNeeded(string $code): bool { argument
14 return strpos($code, '#[') !== false;
17 public function emulate(string $code, array $tokens): array { argument
34 public function reverseEmulate(string $code, array $tokens): array { argument
39 public function preprocessCode(string $code, array &$patches): string { argument
41 while (false !== $pos = strpos($code, '#[', $pos)) {
43 $code[$pos] = '%';
47 return $code;
H A DTokenEmulator.php12 abstract public function isEmulationNeeded(string $code): bool; argument
18 abstract public function emulate(string $code, array $tokens): array; argument
24 abstract public function reverseEmulate(string $code, array $tokens): array; argument
27 public function preprocessCode(string $code, array &$patches): string { argument
28 return $code;
H A DExplicitOctalEmulator.php13 public function isEmulationNeeded(string $code): bool { argument
14 return strpos($code, '0o') !== false || strpos($code, '0O') !== false;
17 public function emulate(string $code, array $tokens): array { argument
41 public function reverseEmulate(string $code, array $tokens): array { argument
H A DKeywordEmulator.php11 public function isEmulationNeeded(string $code): bool { argument
12 return strpos(strtolower($code), $this->getKeywordString()) !== false;
21 public function emulate(string $code, array $tokens): array { argument
46 public function reverseEmulate(string $code, array $tokens): array { argument
H A DNullsafeTokenEmulator.php13 public function isEmulationNeeded(string $code): bool { argument
14 return strpos($code, '?->') !== false;
17 public function emulate(string $code, array $tokens): array { argument
56 public function reverseEmulate(string $code, array $tokens): array { argument
/PHP-Parser/test/PhpParser/Lexer/
H A DEmulativeTest.php24 $code = '<?php ' . $keyword;
29 ], $lexer->tokenize($code));
37 $code = '<?php ' . strtoupper($keyword);
43 ], $lexer->tokenize($code));
51 $code = '<?php ->' . $keyword;
58 ], $lexer->tokenize($code));
66 $code = '<?php -> ' . $keyword;
74 ], $lexer->tokenize($code));
82 $code = '<?php ?->' . $keyword;
89 ], $lexer->tokenize($code));
[all …]
/PHP-Parser/bin/
H A Dphp-parse41 $code = file_get_contents('php://stdin'); variable
44 $code = $file; variable
45 fwrite(STDERR, "====> Code $code\n");
52 $code = file_get_contents($file); variable
58 $stmts = $parser->parse($code, $errorHandler);
60 $message = formatErrorMessage($error, $code, $attributes['with-column-info']);
68 $stmts = $parser->parse($code);
70 $message = formatErrorMessage($error, $code, $attributes['with-column-info']);
79 echo $dumper->dump($stmts, $code), "\n";
96 function formatErrorMessage(PhpParser\Error $e, $code, $withColumnInfo) { argument
[all …]
/PHP-Parser/test/PhpParser/
H A DCodeTestParser.php6 public function parseTest($code, $chunksPerTest) { argument
7 $code = canonicalize($code);
10 $code = preg_replace_callback(
15 $code
19 $parts = preg_split("/\n-----(?:\n|$)/", $code);
H A DLexerTest.php16 public function testError($code, $messages): void { argument
23 $lexer->tokenize($code, $errorHandler);
28 $this->assertSame($messages[$i], $errors[$i]->getMessageWithColumnInfo($code));
58 public function testLex($code, $expectedTokens): void { argument
60 $tokens = $lexer->tokenize($code);
101 $code = '<?php "a";' . "\n" . '// foo' . "\n" . '// bar' . "\n\n" . '"b";';
117 $this->assertEquals($expectedTokens, $lexer->tokenize($code));
H A DCodeParsingTest.php12 public function testParse($name, $code, $expected, $modeLine): void { argument
15 list($stmts, $output) = $this->getParseOutput($parser, $code, $modes);
29 public function getParseOutput(Parser $parser, $code, array $modes) { argument
34 $stmts = $parser->parse($code, $errors);
38 $output .= $this->formatErrorMessage($error, $code) . "\n";
47 $output .= $dumper->dump($stmts, $code);
57 private function formatErrorMessage(Error $e, $code) { argument
59 return $e->getMessageWithColumnInfo($code);
H A DPrettyPrinterTest.php25 $output = canonicalize($prettyPrinter->$method($parser->parse($code)));
32 public function testPrettyPrint($name, $code, $expected, $mode): void { argument
39 public function testPrettyPrintFile($name, $code, $expected, $mode): void { argument
190 $oldStmts = $parser->parse($code);
234 $oldStmts = $parser->parse($code);
268 $code = $prettyPrinter->prettyPrint($stmts);
270 $code = $prettyPrinter->prettyPrintFile($stmts);
274 $code = $prettyPrinter->prettyPrintFile($stmts);
275 $this->assertSame("Hello world", $code);
291 $code = $prettyPrinter->prettyPrint($stmts);
[all …]
H A DNodeDumperTest.php64 $code = "<?php\n\$a = 1;\necho \$a;";
87 $stmts = $parser->parse($code);
88 $dump = $dumper->dump($stmts, $code);
H A DJsonDecoderTest.php7 $code = <<<'PHP'
17 $stmts = $parser->parse($code);
/PHP-Parser/test_old/
H A Drun.php76 $codeExtractor = function($file, $code) { argument
77 return $code;
84 $codeExtractor = function($file, $code) { argument
116 if (!preg_match('~--FILE--\s*(.*?)\n--[A-Z]+--~s', $code, $matches)) {
119 if (preg_match('~--EXPECT(?:F|REGEX)?--\s*(?:Parse|Fatal) error~', $code)) {
187 if ($code !== $origCode) {
190 echo "FPPP output:\n=====\n$code\n=====\n\n";
197 $code = "<?php\n" . $prettyPrinter->prettyPrint($stmts); variable
202 $ppStmts = $parser->parse($code);
212 echo "Pretty printer output:\n=====\n$code\n=====\n\n";
[all …]
/PHP-Parser/test/
H A DupdateTests.php13 foreach (filesInDir($dir, 'test') as $fileName => $code) {
14 if (false !== strpos($code, '@@{')) {
19 list($name, $tests) = $testParser->parseTest($code, 2);
/PHP-Parser/doc/component/
H A DPretty_printing.markdown4 Pretty printing is the process of converting a syntax tree back to PHP code. In its basic mode of
6 code style and will discard (nearly) all formatting of the original code. Because programmers tend
7 to be rather picky about their code formatting, this mode of operation is not very suitable for
8 refactoring code, but can be used for automatically generated code, which is usually only read for
15 $stmts = $parser->parse($code);
27 `prettyPrint()` also takes a statement array, but produces code which is valid inside an already
62 default pretty printer with an existing library for code reformatting, such as
70 this, because it will also reformat parts of the code which have not been modified.
74 code which has been modified or newly inserted.
82 $oldStmts = $parser->parse($code);
[all …]
/PHP-Parser/tools/fuzzing/
H A DgenerateCorpus.php23 foreach (PhpParser\filesInDir($inputDir, 'test') as $fileName => $code) {
24 list($_name, $tests) = $testParser->parseTest($code, 2);
/PHP-Parser/
H A DREADME.md18 * Parsing PHP 7, and PHP 8 code into an abstract syntax tree (AST).
19 * Invalid code can be parsed into a partial AST.
22 * Converting an AST back to PHP code.
27 * Builders to simplify AST construction for code generation.
37 Parse some PHP code into an AST and dump the result in human-readable form:
45 $code = <<<'CODE'
56 $ast = $parser->parse($code);
168 Finally, we can convert the new AST back to PHP code:
208 * Converting AST back to PHP code
210 * Formatting-preserving code transformations
[all …]
/PHP-Parser/lib/PhpParser/Lexer/
H A DEmulative.php64 public function tokenize(string $code, ?ErrorHandler $errorHandler = null): array { argument
65 $emulators = array_filter($this->emulators, function ($emulator) use ($code) {
66 return $emulator->isEmulationNeeded($code);
71 return parent::tokenize($code, $errorHandler);
80 $code = $emulator->preprocessCode($code, $this->patches);
84 $tokens = parent::tokenize($code, $collector);
97 $tokens = $emulator->emulate($code, $tokens);
/PHP-Parser/doc/
H A D0_Introduction.markdown9 A parser is useful for [static analysis][0], manipulation of code and basically any other
10 application dealing with code programmatically. A parser constructs an [Abstract Syntax Tree][1]
11 (AST) of the code and thus allows dealing with it in an abstract and robust way.
13 There are other ways of processing source code. One that PHP supports natively is using the
24 programmatic PHP code analysis are incidentally PHP developers, not C developers.
29 The parser supports parsing PHP 7 and PHP 8 code, with the following exceptions:
46 This allows to parse PHP 8.3 source code running on PHP 7.4, for example. This emulation is not
49 Finally, it should be noted that the parser aims to accept all valid code, not reject all invalid
50 code. It will generally accept code that is only valid in newer versions (even when targeting an
51 older one), and accept code that is syntactically correct, but would result in a compiler error.
[all …]

Completed in 45 milliseconds

123