net.cscott.sdr.calls.ast
Class AstParser
java.lang.Object
org.antlr.runtime.BaseRecognizer
org.antlr.runtime.Parser
net.cscott.sdr.calls.ast.AstParser
public class AstParser
- extends org.antlr.runtime.Parser
Simple lisp-like grammar for printing/scanning AstNode
trees.
If this were simpler and more lisp-like, I wouldn't need ANTLR to parse it!
- Tests:
Simple conversion:
js> new AstParser("(Seq (Prim -1, in 1, none, 1))").ast()
(Seq (Prim -1, in 1, none, 1))
White space is ignored:
js> new AstParser("( Seq\n (Prim\tin\r-1 , 1 , out 1 / 4 ,1 ) ) ").ast()
(Seq (Prim in -1, 1, in -1/4, 1))
Call names, predicates, formations, etc can be quoted:
js> new AstParser("(Condition \"Condition\" (Condition \"If\") (Condition \"Prim\"))").ast()
(Condition Condition (Condition If) (Condition Prim))
Keywords ought to be ignored in call names, etc.
js> new AstParser("(Condition Condition (Condition If) (Condition Prim))").ast()
(Condition Condition (Condition If) (Condition Prim))
Parsing complicated Prims:
js> new AstParser("(Seq (Prim 1 1/2, 1/2, left, 1, PASS_LEFT, FORCE_ARC, FORCE_ROLL_RIGHT))").ast()
(Seq (Prim 1 1/2, 1/2, left, 1, PASS_LEFT, FORCE_ARC, FORCE_ROLL_RIGHT))
Fields inherited from class org.antlr.runtime.Parser |
input |
Fields inherited from class org.antlr.runtime.BaseRecognizer |
DEFAULT_TOKEN_CHANNEL, HIDDEN, INITIAL_FOLLOW_STACK_SIZE, MEMO_RULE_FAILED, MEMO_RULE_UNKNOWN, NEXT_TOKEN_RULE_NAME, state |
Constructor Summary |
AstParser(String s)
|
AstParser(org.antlr.runtime.TokenStream input)
|
AstParser(org.antlr.runtime.TokenStream input,
org.antlr.runtime.RecognizerSharedState state)
|
Methods inherited from class org.antlr.runtime.Parser |
getCurrentInputSymbol, getMissingSymbol, getSourceName, getTokenStream, reset, setTokenStream, traceIn, traceOut |
Methods inherited from class org.antlr.runtime.BaseRecognizer |
alreadyParsedRule, beginResync, combineFollows, computeContextSensitiveRuleFOLLOW, computeErrorRecoverySet, consumeUntil, consumeUntil, displayRecognitionError, emitErrorMessage, endResync, getBacktrackingLevel, getErrorHeader, getErrorMessage, getNumberOfSyntaxErrors, getRuleInvocationStack, getRuleInvocationStack, getRuleMemoization, getRuleMemoizationCacheSize, getTokenErrorDisplay, match, matchAny, memoize, mismatch, mismatchIsMissingToken, mismatchIsUnwantedToken, pushFollow, recover, recoverFromMismatchedSet, recoverFromMismatchedToken, reportError, toStrings, traceIn, traceOut |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
tokenNames
public static final String[] tokenNames
WS
public static final int WS
- See Also:
- Constant Field Values
T__16
public static final int T__16
- See Also:
- Constant Field Values
T__15
public static final int T__15
- See Also:
- Constant Field Values
T__12
public static final int T__12
- See Also:
- Constant Field Values
T__11
public static final int T__11
- See Also:
- Constant Field Values
T__14
public static final int T__14
- See Also:
- Constant Field Values
T__13
public static final int T__13
- See Also:
- Constant Field Values
T__10
public static final int T__10
- See Also:
- Constant Field Values
IDENT
public static final int IDENT
- See Also:
- Constant Field Values
INT
public static final int INT
- See Also:
- Constant Field Values
EOF
public static final int EOF
- See Also:
- Constant Field Values
T__9
public static final int T__9
- See Also:
- Constant Field Values
T__8
public static final int T__8
- See Also:
- Constant Field Values
STRING
public static final int STRING
- See Also:
- Constant Field Values
FOLLOW_comp_in_ast53
public static final org.antlr.runtime.BitSet FOLLOW_comp_in_ast53
FOLLOW_condition_in_ast63
public static final org.antlr.runtime.BitSet FOLLOW_condition_in_ast63
FOLLOW_optcall_in_ast73
public static final org.antlr.runtime.BitSet FOLLOW_optcall_in_ast73
FOLLOW_parcall_in_ast83
public static final org.antlr.runtime.BitSet FOLLOW_parcall_in_ast83
FOLLOW_seqcall_in_ast93
public static final org.antlr.runtime.BitSet FOLLOW_seqcall_in_ast93
FOLLOW_if__in_comp115
public static final org.antlr.runtime.BitSet FOLLOW_if__in_comp115
FOLLOW_in_in_comp125
public static final org.antlr.runtime.BitSet FOLLOW_in_in_comp125
FOLLOW_opt_in_comp135
public static final org.antlr.runtime.BitSet FOLLOW_opt_in_comp135
FOLLOW_par_in_comp145
public static final org.antlr.runtime.BitSet FOLLOW_par_in_comp145
FOLLOW_seq_in_comp155
public static final org.antlr.runtime.BitSet FOLLOW_seq_in_comp155
FOLLOW_warped_in_comp165
public static final org.antlr.runtime.BitSet FOLLOW_warped_in_comp165
FOLLOW_8_in_condition202
public static final org.antlr.runtime.BitSet FOLLOW_8_in_condition202
FOLLOW_IDENT_in_condition204
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_condition204
FOLLOW_predicate_in_condition206
public static final org.antlr.runtime.BitSet FOLLOW_predicate_in_condition206
FOLLOW_condition_in_condition211
public static final org.antlr.runtime.BitSet FOLLOW_condition_in_condition211
FOLLOW_9_in_condition217
public static final org.antlr.runtime.BitSet FOLLOW_9_in_condition217
FOLLOW_8_in_optcall257
public static final org.antlr.runtime.BitSet FOLLOW_8_in_optcall257
FOLLOW_IDENT_in_optcall259
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_optcall259
FOLLOW_selectors_in_optcall261
public static final org.antlr.runtime.BitSet FOLLOW_selectors_in_optcall261
FOLLOW_comp_in_optcall265
public static final org.antlr.runtime.BitSet FOLLOW_comp_in_optcall265
FOLLOW_9_in_optcall267
public static final org.antlr.runtime.BitSet FOLLOW_9_in_optcall267
FOLLOW_8_in_parcall307
public static final org.antlr.runtime.BitSet FOLLOW_8_in_parcall307
FOLLOW_IDENT_in_parcall309
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_parcall309
FOLLOW_tags_in_parcall311
public static final org.antlr.runtime.BitSet FOLLOW_tags_in_parcall311
FOLLOW_comp_in_parcall315
public static final org.antlr.runtime.BitSet FOLLOW_comp_in_parcall315
FOLLOW_9_in_parcall317
public static final org.antlr.runtime.BitSet FOLLOW_9_in_parcall317
FOLLOW_apply_in_seqcall347
public static final org.antlr.runtime.BitSet FOLLOW_apply_in_seqcall347
FOLLOW_part_in_seqcall357
public static final org.antlr.runtime.BitSet FOLLOW_part_in_seqcall357
FOLLOW_prim_in_seqcall368
public static final org.antlr.runtime.BitSet FOLLOW_prim_in_seqcall368
FOLLOW_8_in_apply406
public static final org.antlr.runtime.BitSet FOLLOW_8_in_apply406
FOLLOW_IDENT_in_apply408
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_apply408
FOLLOW_simple_words_in_apply412
public static final org.antlr.runtime.BitSet FOLLOW_simple_words_in_apply412
FOLLOW_apply_in_apply417
public static final org.antlr.runtime.BitSet FOLLOW_apply_in_apply417
FOLLOW_9_in_apply423
public static final org.antlr.runtime.BitSet FOLLOW_9_in_apply423
FOLLOW_8_in_part463
public static final org.antlr.runtime.BitSet FOLLOW_8_in_part463
FOLLOW_IDENT_in_part465
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_part465
FOLLOW_bool_in_part469
public static final org.antlr.runtime.BitSet FOLLOW_bool_in_part469
FOLLOW_comp_in_part473
public static final org.antlr.runtime.BitSet FOLLOW_comp_in_part473
FOLLOW_9_in_part475
public static final org.antlr.runtime.BitSet FOLLOW_9_in_part475
FOLLOW_8_in_prim520
public static final org.antlr.runtime.BitSet FOLLOW_8_in_prim520
FOLLOW_IDENT_in_prim522
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_prim522
FOLLOW_in_out_num_in_prim526
public static final org.antlr.runtime.BitSet FOLLOW_in_out_num_in_prim526
FOLLOW_10_in_prim528
public static final org.antlr.runtime.BitSet FOLLOW_10_in_prim528
FOLLOW_in_out_num_in_prim532
public static final org.antlr.runtime.BitSet FOLLOW_in_out_num_in_prim532
FOLLOW_10_in_prim534
public static final org.antlr.runtime.BitSet FOLLOW_10_in_prim534
FOLLOW_in_out_dir_in_prim538
public static final org.antlr.runtime.BitSet FOLLOW_in_out_dir_in_prim538
FOLLOW_10_in_prim540
public static final org.antlr.runtime.BitSet FOLLOW_10_in_prim540
FOLLOW_number_in_prim552
public static final org.antlr.runtime.BitSet FOLLOW_number_in_prim552
FOLLOW_prim_flags_in_prim556
public static final org.antlr.runtime.BitSet FOLLOW_prim_flags_in_prim556
FOLLOW_9_in_prim558
public static final org.antlr.runtime.BitSet FOLLOW_9_in_prim558
FOLLOW_10_in_prim_flags597
public static final org.antlr.runtime.BitSet FOLLOW_10_in_prim_flags597
FOLLOW_prim_flag_in_prim_flags599
public static final org.antlr.runtime.BitSet FOLLOW_prim_flag_in_prim_flags599
FOLLOW_IDENT_in_prim_flag636
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_prim_flag636
FOLLOW_8_in_if_669
public static final org.antlr.runtime.BitSet FOLLOW_8_in_if_669
FOLLOW_IDENT_in_if_671
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_if_671
FOLLOW_condition_in_if_673
public static final org.antlr.runtime.BitSet FOLLOW_condition_in_if_673
FOLLOW_comp_in_if_677
public static final org.antlr.runtime.BitSet FOLLOW_comp_in_if_677
FOLLOW_9_in_if_679
public static final org.antlr.runtime.BitSet FOLLOW_9_in_if_679
FOLLOW_8_in_in719
public static final org.antlr.runtime.BitSet FOLLOW_8_in_in719
FOLLOW_IDENT_in_in721
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_in721
FOLLOW_number_in_in725
public static final org.antlr.runtime.BitSet FOLLOW_number_in_in725
FOLLOW_comp_in_in729
public static final org.antlr.runtime.BitSet FOLLOW_comp_in_in729
FOLLOW_9_in_in731
public static final org.antlr.runtime.BitSet FOLLOW_9_in_in731
FOLLOW_8_in_opt776
public static final org.antlr.runtime.BitSet FOLLOW_8_in_opt776
FOLLOW_IDENT_in_opt778
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_opt778
FOLLOW_optcall_in_opt781
public static final org.antlr.runtime.BitSet FOLLOW_optcall_in_opt781
FOLLOW_9_in_opt787
public static final org.antlr.runtime.BitSet FOLLOW_9_in_opt787
FOLLOW_8_in_par832
public static final org.antlr.runtime.BitSet FOLLOW_8_in_par832
FOLLOW_IDENT_in_par834
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_par834
FOLLOW_parcall_in_par837
public static final org.antlr.runtime.BitSet FOLLOW_parcall_in_par837
FOLLOW_9_in_par843
public static final org.antlr.runtime.BitSet FOLLOW_9_in_par843
FOLLOW_8_in_seq888
public static final org.antlr.runtime.BitSet FOLLOW_8_in_seq888
FOLLOW_IDENT_in_seq890
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_seq890
FOLLOW_seqcall_in_seq893
public static final org.antlr.runtime.BitSet FOLLOW_seqcall_in_seq893
FOLLOW_9_in_seq899
public static final org.antlr.runtime.BitSet FOLLOW_9_in_seq899
FOLLOW_8_in_warped939
public static final org.antlr.runtime.BitSet FOLLOW_8_in_warped939
FOLLOW_IDENT_in_warped941
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_warped941
FOLLOW_warp_in_warped943
public static final org.antlr.runtime.BitSet FOLLOW_warp_in_warped943
FOLLOW_comp_in_warped947
public static final org.antlr.runtime.BitSet FOLLOW_comp_in_warped947
FOLLOW_9_in_warped949
public static final org.antlr.runtime.BitSet FOLLOW_9_in_warped949
FOLLOW_list_elem_in_predicate980
public static final org.antlr.runtime.BitSet FOLLOW_list_elem_in_predicate980
FOLLOW_string_list_in_selectors1010
public static final org.antlr.runtime.BitSet FOLLOW_string_list_in_selectors1010
FOLLOW_string_list_in_tags1040
public static final org.antlr.runtime.BitSet FOLLOW_string_list_in_tags1040
FOLLOW_11_in_string_list1078
public static final org.antlr.runtime.BitSet FOLLOW_11_in_string_list1078
FOLLOW_list_elem_in_string_list1082
public static final org.antlr.runtime.BitSet FOLLOW_list_elem_in_string_list1082
FOLLOW_10_in_string_list1096
public static final org.antlr.runtime.BitSet FOLLOW_10_in_string_list1096
FOLLOW_list_elem_in_string_list1100
public static final org.antlr.runtime.BitSet FOLLOW_list_elem_in_string_list1100
FOLLOW_12_in_string_list1107
public static final org.antlr.runtime.BitSet FOLLOW_12_in_string_list1107
FOLLOW_simple_words_in_list_elem1129
public static final org.antlr.runtime.BitSet FOLLOW_simple_words_in_list_elem1129
FOLLOW_STRING_in_list_elem1139
public static final org.antlr.runtime.BitSet FOLLOW_STRING_in_list_elem1139
FOLLOW_opt_sign_in_number1165
public static final org.antlr.runtime.BitSet FOLLOW_opt_sign_in_number1165
FOLLOW_integer_in_number1167
public static final org.antlr.runtime.BitSet FOLLOW_integer_in_number1167
FOLLOW_fraction_in_number1169
public static final org.antlr.runtime.BitSet FOLLOW_fraction_in_number1169
FOLLOW_opt_sign_in_number1187
public static final org.antlr.runtime.BitSet FOLLOW_opt_sign_in_number1187
FOLLOW_integer_in_number1189
public static final org.antlr.runtime.BitSet FOLLOW_integer_in_number1189
FOLLOW_opt_sign_in_number1207
public static final org.antlr.runtime.BitSet FOLLOW_opt_sign_in_number1207
FOLLOW_fraction_in_number1209
public static final org.antlr.runtime.BitSet FOLLOW_fraction_in_number1209
FOLLOW_13_in_opt_sign1241
public static final org.antlr.runtime.BitSet FOLLOW_13_in_opt_sign1241
FOLLOW_14_in_opt_sign1251
public static final org.antlr.runtime.BitSet FOLLOW_14_in_opt_sign1251
FOLLOW_integer_in_fraction1287
public static final org.antlr.runtime.BitSet FOLLOW_integer_in_fraction1287
FOLLOW_15_in_fraction1289
public static final org.antlr.runtime.BitSet FOLLOW_15_in_fraction1289
FOLLOW_integer_in_fraction1293
public static final org.antlr.runtime.BitSet FOLLOW_integer_in_fraction1293
FOLLOW_INT_in_integer1325
public static final org.antlr.runtime.BitSet FOLLOW_INT_in_integer1325
FOLLOW_in_out_in_in_out_num1357
public static final org.antlr.runtime.BitSet FOLLOW_in_out_in_in_out_num1357
FOLLOW_number_in_in_out_num1360
public static final org.antlr.runtime.BitSet FOLLOW_number_in_in_out_num1360
FOLLOW_in_out_in_in_out_dir1391
public static final org.antlr.runtime.BitSet FOLLOW_in_out_in_in_out_dir1391
FOLLOW_rotation_in_in_out_dir1394
public static final org.antlr.runtime.BitSet FOLLOW_rotation_in_in_out_dir1394
FOLLOW_IDENT_in_rotation1432
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_rotation1432
FOLLOW_fraction_in_rotation1440
public static final org.antlr.runtime.BitSet FOLLOW_fraction_in_rotation1440
FOLLOW_IDENT_in_in_out1474
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_in_out1474
FOLLOW_IDENT_in_in_out1494
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_in_out1494
FOLLOW_IDENT_in_bool1528
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_bool1528
FOLLOW_IDENT_in_bool1548
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_bool1548
FOLLOW_IDENT_in_simple_word1572
public static final org.antlr.runtime.BitSet FOLLOW_IDENT_in_simple_word1572
FOLLOW_INT_in_simple_word1582
public static final org.antlr.runtime.BitSet FOLLOW_INT_in_simple_word1582
FOLLOW_simple_word_in_simple_words1613
public static final org.antlr.runtime.BitSet FOLLOW_simple_word_in_simple_words1613
FOLLOW_simple_word_in_simple_words1628
public static final org.antlr.runtime.BitSet FOLLOW_simple_word_in_simple_words1628
FOLLOW_16_in_warp1664
public static final org.antlr.runtime.BitSet FOLLOW_16_in_warp1664
AstParser
public AstParser(org.antlr.runtime.TokenStream input)
AstParser
public AstParser(org.antlr.runtime.TokenStream input,
org.antlr.runtime.RecognizerSharedState state)
AstParser
public AstParser(String s)
getTokenNames
public String[] getTokenNames()
- Overrides:
getTokenNames
in class org.antlr.runtime.BaseRecognizer
getGrammarFileName
public String getGrammarFileName()
- Overrides:
getGrammarFileName
in class org.antlr.runtime.BaseRecognizer
ast
public final AstNode ast()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
comp
public final Comp comp()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
condition
public final Condition condition()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
optcall
public final OptCall optcall()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
parcall
public final ParCall parcall()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
seqcall
public final SeqCall seqcall()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
apply
public final Apply apply()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
part
public final Part part()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
prim
public final Prim prim()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
prim_flags
public final Set<Prim.Flag> prim_flags()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
prim_flag
public final Prim.Flag prim_flag()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
if_
public final If if_()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
in
public final In in()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
opt
public final Opt opt()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
par
public final Par par()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
seq
public final Seq seq()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
warped
public final Warped warped()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
predicate
public final String predicate()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
selectors
public final List<Selector> selectors()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
tags
public final Set<TaggedFormation.Tag> tags()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
string_list
public final List<String> string_list()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
list_elem
public final String list_elem()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
number
public final Fraction number()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
opt_sign
public final boolean opt_sign()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
fraction
public final Fraction fraction()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
integer
public final Integer integer()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
in_out_num
public final AstParser.in_out_num_return in_out_num()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
in_out_dir
public final AstParser.in_out_dir_return in_out_dir()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
rotation
public final AstParser.rotation_return rotation()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
in_out
public final AstParser.in_out_return in_out()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
bool
public final Boolean bool()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
simple_word
public final String simple_word()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
simple_words
public final String simple_words()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
warp
public final Warp warp()
throws org.antlr.runtime.RecognitionException
- Throws:
org.antlr.runtime.RecognitionException
Copyright © 2006-2009 C. Scott Ananian