Changes In Branch feature/abc Through [029fd48614] Excluding Merge-Ins
This is equivalent to a diff from 843dabad43 to 029fd48614
2011-09-15
| ||
15:28 | Got the program to run through again. Now without the roman numerals check-in: 33ddc6fee4 user: brian tags: feature/abc | |
2011-09-13
| ||
20:08 | Added a name parameter to the Tree class that will prove helpful in generating the score check-in: 029fd48614 user: brian tags: feature/abc | |
20:02 | Changed parser to include nodes check-in: 18dba95a2e user: brian tags: feature/abc | |
18:29 | Create new branch named "feature/abc" check-in: 3833b59ec2 user: brian tags: feature/abc | |
2011-02-10
| ||
22:34 | Added lexical support for parens instead of quotes for chords, cleaned up the yacc parser, added lex tokens for syncopation check-in: 702d933446 user: brian@linux-85dd.site tags: master | |
2010-11-30
| ||
17:33 | This is what I submitted as my final piece for MUS 306 check-in: 843dabad43 user: spiffytech@gmail.com tags: master | |
06:22 | Added a timbre instrument, doubled the length of the piece, added intros and outro check-in: de7c009e4d user: spiffytech@gmail.com tags: master | |
Modified parse.py from [9c47a4ff24] to [e9eede661e].
1 2 3 4 5 6 7 8 | 1 2 3 4 5 6 7 8 9 10 | + + | #!/usr/bin/env python import tree from ply import lex, yacc class Note(): def __init__(self, value, duration=.25, octave=8): self.value = value self.duration = duration self.octave = octave |
︙ | |||
33 34 35 36 37 38 39 40 41 42 43 44 | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | + - + + + | "NOTE_LENGTH", "BASENOTE", "ACCIDENTAL", "REST", "OCTAVE", "CHORD_TYPE", "QUOTE", "NODE", ) t_ignore = " |" #t_BASENOTE = r"[A-Ga-g]" |
︙ | |||
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | + + | # Parse (yacc) def p_pitch_list(p): '''score : score note | score chord | score rest | score node ''' p[0] = p[1] + [p[2]] def p_score(p): '''score : note | chord | rest | node ''' p[0] = [p[1]] def p_note(p): '''note : pitch ''' |
︙ | |||
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | + + + + + + | def p_rest(p): ''' rest : REST | REST NOTE_LENGTH ''' p[0] = Rest() if len(p) > 2: p[0].duration = p[2] def node(p): '''node: NODE ''' p[0] = tree.Tree(node.strip("(").strip(")")) def p_error(p): raise Exception("Syntax error at '%s' of element type %s" % (p.value, p.type)) yacc.yacc() #print yacc.parse("GFG B'AB,, | g/2fg gab | GFG BAB | d2A AFD") return yacc.parse(score) |
Added tree.py version [29c78902c8].
|