CARVIEW |
Select Language
HTTP/2 200
date: Fri, 18 Jul 2025 21:58:50 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"c963adf1b653fa50374b0eb1e37fb8a4"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=v3urpQYTelDEHL5AY%2FRWIVJe2By4xWmxn2%2FFUWaDQa64q2Th8hWa2BmLq1VZXJ5BaIsJnqX7EnmmmKs4MMBwrtHD%2Bye1mj1x%2FA1%2BYMotO4FpUwadKbuOZ4JwOLRt1G03bX8hSMnUEHeQm%2Fzyp77WqMIJ%2FUL8yT9Pl45dcIgzU1VVtK0TXUV90uNSCBAvyInUKPb5dS5XWKRBdvgMXz1ND%2Bv%2BzXNLewY4Y%2Bs%2B1M3hZpZ5VG5eZpqc87ihadzZ474kZ7hk6ZYfeK%2B6mPZ13EEzUg%3D%3D--IDcRHHzCkQ8fhRYq--4AvU7U59SVSWR8oAiKBKhw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.696532601.1752875930; Path=/; Domain=github.com; Expires=Sat, 18 Jul 2026 21:58:50 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sat, 18 Jul 2026 21:58:50 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 8256:79D16:1B9B93:249550:687AC39A
Nodes positions · glayzzle/php-parser Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 73
Nodes positions
Ioan CHIRIAC edited this page Feb 12, 2016
·
1 revision
This option enables the ability to locate each AST node into the document.
In order to not change the plain AST structure, a position structure will surround each node.
// original AST structure (without any location) :
['program', [
['sys', 'echo', [['string', 'Hello World']]]
]]
// And the result with locations :
['program', [
['position',
[1, 0, 0], // start position : line, column, offset
[1, 20, 20], // end position : same as start
['sys', 'echo', [ // node contents
['position',
[1, 5, 5],
[1, 20, 20],
['string', 'Hello World']
]
]]
]
]]
I've chose to surround the AST node VS to change informations into the node itself, in order to make more easy the nodes visitors algorithms and to make the positions nodes optionnals.
The position structure is like any AST nodes :
-
offset 0
: start array-
offset 0
: line (first line starts at 1) -
offset 1
: column (first column starts at 0) -
offset 2
: offset - the char position into the string
-
-
offset 1
: end array (same structure as start) -
offset 2
: the node itself
By default the positions are disabled to avoid extra information when not needed. To enable them :
var reader = require('php-parser');
// setting a flag on all request :
reader.parser.locations = true;
reader.parseEval('echo "azerty";');
// or setting it only for the current parsing :
reader.parseEval('echo "azerty";', {
parser: {
locations: true
}
});
-- PHP-Parser for NodeJS - Released under BSD3 - Ioan CHIRIAC - Wiki Homepage
You can’t perform that action at this time.