c075d939e0
Change-Id: If6bfbb65a02ac1a4f5708ab9e8c4d66c19ecff86 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/403984 Reviewed-by: Johnni Winther <johnniwinther@google.com> Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
37 lines
1.3 KiB
Dart
37 lines
1.3 KiB
Dart
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
import 'package:_fe_analyzer_shared/src/parser/forwarding_listener.dart'
|
|
show ForwardingListener;
|
|
import 'package:_fe_analyzer_shared/src/parser/parser.dart' show Parser;
|
|
import 'package:_fe_analyzer_shared/src/scanner/scanner.dart'
|
|
show ScannerConfiguration, StringScanner;
|
|
import 'package:_fe_analyzer_shared/src/scanner/token.dart' show Token;
|
|
|
|
void main(List<String> args) {
|
|
String source = """
|
|
void main(List<String> args) {
|
|
print("Hello, World!");
|
|
}
|
|
""";
|
|
|
|
ScannerConfiguration scannerConfiguration =
|
|
new ScannerConfiguration(enableTripleShift: true);
|
|
|
|
StringScanner scanner = new StringScanner(
|
|
source,
|
|
includeComments: true,
|
|
configuration: scannerConfiguration,
|
|
languageVersionChanged: (scanner, languageVersion) {
|
|
// For now don't do anything, but having it (making it non-null) means the
|
|
// configuration won't be reset.
|
|
},
|
|
);
|
|
Token firstToken = scanner.tokenize();
|
|
ForwardingListener listener = new ForwardingListener();
|
|
Parser parser = new Parser(listener);
|
|
parser.parseUnit(firstToken);
|
|
print("--- End of parsing ---");
|
|
}
|