本文整理汇总了Java中org.antlr.v4.gui.TreeViewer类的典型用法代码示例。如果您正苦于以下问题:Java TreeViewer类的具体用法?Java TreeViewer怎么用?Java TreeViewer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TreeViewer类属于org.antlr.v4.gui包,在下文中一共展示了TreeViewer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setParseTreeViewer
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
public void setParseTreeViewer(TreeViewer aParseTree) {
parseTreeViewer = aParseTree;
JSlider scaleSlider = new JSlider();
scaleSlider.setMinimum(PARSE_TREE_MIN_VAL);
scaleSlider.setMaximum(PARSE_TREE_MAX_VAL);
// JSlider only has integer values
scaleSlider.setValue((int) (PARSE_TREE_DEFAULT_SCALE / PARSE_TREE_SLIDER_FACTOR));
aParseTree.setScale(PARSE_TREE_DEFAULT_SCALE);
JScrollPane parseTreeSP = new JScrollPane(aParseTree);
parseTreeSP.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
parseTreeSP.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
getParseTreePanel().removeAll();
getParseTreePanel().add(parseTreeSP, BorderLayout.CENTER);
getParseTreePanel().add(scaleSlider, BorderLayout.SOUTH);
scaleSlider.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
double scaleValue =
((double) scaleSlider.getValue()) * PARSE_TREE_SLIDER_FACTOR;
aParseTree.setScale(scaleValue);
}
});
}
示例2: menuViewASTActionPerformed
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
/**
* Quand un terme sauvegardé dans la liste des termes sauvegardés est séléectionné il est possible
* de voir son AST via le menu, ou le raccourci Ctrl+I / Cmd+I
*
* @param evt L'event qui a trigger l'action.
*/
private void menuViewASTActionPerformed(java.awt.event.ActionEvent evt) {
if (!termSavedList.isSelectionEmpty()) {
int index = termSavedList.getSelectedIndex();
String term = saveTermModel.getElementAt(index);
try {
ANTLRInputStream inputStream = new ANTLRInputStream(term);
LambdaLexer lexer = new LambdaLexer(inputStream);
CommonTokenStream tokens = new CommonTokenStream(lexer);
LambdaParser parser = new LambdaParser(tokens);
ParseTree tree = parse(term);
TreeViewer viewer = new TreeViewer(Arrays.asList(parser.getRuleNames()), tree);
viewer.open();
} catch (ParseCancellationException e) {
workSpace.append("Don't try to watch AST of illformed term please");
}
}
}
示例3: showParseTree
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
public static void showParseTree(final FOLParser parser, final ParseTree t) {
final JFrame frame = new JFrame("Antlr AST");
final JScrollPane scrollPane = new JScrollPane();
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollPane.setBounds(0, 0, 500, 500);
final TreeViewer viewr = new TreeViewer(Arrays.asList(parser.getRuleNames()), t);
viewr.setScale(0.8); // scale a little
scrollPane.getViewport().add(viewr);
frame.add(scrollPane);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize().width, 500);
frame.setVisible(true);
}
示例4: showGuiTreeView
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
static void showGuiTreeView(final String code) {
final org.antlr.v4.runtime.CharStream stream = new ANTLRInputStream(code);
final FormalPropertyDescriptionLexer lexer = new FormalPropertyDescriptionLexer(stream);
final CommonTokenStream tokens = new CommonTokenStream(lexer);
final FormalPropertyDescriptionParser parser = new FormalPropertyDescriptionParser(tokens);
final ParseTree tree = parser.booleanExpList();
final List<String> ruleNames = Arrays.asList(FormalPropertyDescriptionParser.ruleNames);
final TreeViewer view = new TreeViewer(ruleNames, tree);
view.open();
}
示例5: showGuiTreeView
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
static void showGuiTreeView(final String code) {
final org.antlr.v4.runtime.CharStream stream = new ANTLRInputStream(code);
final CLexer lexer = new CLexer(stream);
final CommonTokenStream tokens = new CommonTokenStream(lexer);
final CParser parser = new CParser(tokens);
final ParseTree tree = parser.declaration();
final List<String> ruleNames = Arrays.asList(CParser.ruleNames);
final TreeViewer view = new TreeViewer(ruleNames, tree);
view.open();
}
示例6: translateToSql
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
private boolean translateToSql() {
if (getWorkspace().getRelationalAlgebraCodeEditor().getText().equals("")) {
return false;
}
String sqlTranslation;
Database currentDatabase = getDatabaseViewerPanel().getSelectedDatabase();
String raInput = getWorkspace().getRelationalAlgebraCodeEditor().getText();
RelationalAlgebraInterpreter interpreter = new RelationalAlgebraInterpreter(currentDatabase);
sqlTranslation = interpreter.translate(raInput);
// Successful translation
if (sqlTranslation != null) {
// Show ParseTree
Parser parser = interpreter.getParser();
ParseTree tree = interpreter.getTree();
TreeViewer treeViewer = new TreeViewer(Arrays.asList(parser.getRuleNames()), tree);
// Save information into query
Query selectedQuery = getQueryList().getSelectedQuery();
selectedQuery.setSqlTranslation(sqlTranslation);
selectedQuery.setTreeViewer(treeViewer);
// Update workspace fields
try {
getWorkspace().updateWorkspaceFromQuery(selectedQuery);
} catch (SQLException e1) {
e1.printStackTrace();
}
return true;
}
else {
return false;
}
}
示例7: exportParseTree
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
/**
* Exports the specified TreeViewer to a chosen file in a PNG format.
* @param dialogTitle
* @param treeViewer
* @param defaultFileName
*/
public void exportParseTree(String dialogTitle, TreeViewer treeViewer, String defaultFileName) {
if (treeViewer != null) {
String filePath = getExportationFileChooser("Export Parse Tree", defaultFileName);
try {
if (filePath != null) {
treeViewer.save(filePath);
showSuccessfulExportationWarning();
}
} catch (IOException | PrintException e1) {
showExportationUnknownError();
}
}
}
示例8: main1
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
public static void main1(String[] args) throws FileNotFoundException, IOException {
//File file = new File("vba/decls.bas");
//File file = new File("vba/test.vba");
//File file = new File("vba/Class1.cls");
//File file = new File("vba/NewMacros.bas");
//File file = new File("vba/select-case.bas");
// File file = new File("vba/call.bas");
//File file = new File("vba/test.bas");
//File file = new File("vba/udt.bas");
//File file = new File("vba/class-test.bas");
//File file = new File("vba/MissingTest/Module1.bas");
// File file = new File("vba/call_test.bas");
File file = new File("vba/Mid/Module1.bas");
// File file = new File("vba/func-call.bas");
VbaLexer lexer = new VbaLexer(new org.antlr.v4.runtime.ANTLRInputStream(new FileInputStream(file)));
// CommonTokenStream tokenStream = new CommonTokenStream();
CommonTokenStream tokenStream =new CommonTokenStream(lexer);
VbaParser parser = new VbaParser(tokenStream);
parser.setBuildParseTree(true);
ParseTree moduleNode = parser.module();
ParserRuleContext c = (ParserRuleContext) moduleNode;
TreeViewer viewr = new TreeViewer(Arrays.asList(parser.getRuleNames()),moduleNode);
viewr.open();
}
示例9: showTreeViewer
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
/**
* Show the TreeViewer given as argument. Requires a graphic environment.
*
* @param tv
* @param title
*/
public static void showTreeViewer(TreeViewer tv, String title) {
JPanel panel = new JPanel();
//tv.setScale(2);
panel.add(tv);
JOptionPane.showMessageDialog(null, panel, title, JOptionPane.PLAIN_MESSAGE);
}
示例10: initialiseTreeViewer
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
private static TreeViewer initialiseTreeViewer(RContext parseTree, RpgParser parser) {
TreeViewer viewer = new TreeViewer(
Arrays.asList(parser.getRuleNames()),
parseTree
);
viewer.setAutoscrolls(true);
viewer.setScale(1.5);
return viewer;
}
示例11: setScale
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
public void setScale(double scale) {
if ( treeViewers==null ) return;
for (TreeViewer viewer : treeViewers) {
viewer.setScale(scale);
}
treeScrollPane.revalidate();
}
示例12: getTreeViewer
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
public TreeViewer getTreeViewer() {
return treeViewer;
}
示例13: setTreeViewer
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
public void setTreeViewer(TreeViewer treeViewer) {
this.treeViewer = treeViewer;
}
示例14: getParseTreeViewer
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
public TreeViewer getParseTreeViewer() {
return parseTreeViewer;
}
示例15: parse
import org.antlr.v4.gui.TreeViewer; //导入依赖的package包/类
/**
* Class instantiating and calling ANTLR Lexer and Parser.
*
* @param Query
* @param file
* @return
* @throws IOException
*/
public static ParseTree parse(String Query, boolean file) throws IOException {
TriALQLLexer lexer;
lexer = new TriALQLLexer(new ANTLRInputStream(Query));
CommonTokenStream tokens = new CommonTokenStream(lexer);
TriALQLParser parser = new TriALQLParser(tokens);
ParseTree tree = parser.parse();
final List<String> ruleNames = Arrays.asList(TriALQLParser.ruleNames);
final TreeViewer view = new TreeViewer(ruleNames, tree);
// If tree is to be drawn, remove comment below.
// view.open();
return tree;
}