Difference between revisions of "User:Dylan Potter"

From CDOT Wiki
Jump to: navigation, search
(OSD600)
(OSD600)
Line 20: Line 20:
  
 
== OSD600 ==
 
== OSD600 ==
 +
<u>09/25/2012:</u>
 +
 +
 +
 +
Over the weekend, I wrote a set of about 31 conformance tests for a webvtt parser ([[https://github.com/downloads/caitp/webvtt/caitp-cue_settings_tests-09232012.tgz here]], more recent ones should be posted [OSD600/webvtt/cue_settings|here]).
 +
 +
 +
 +
This is a relatively simple section of the draft, as far as I can tell. It can be illustrated essentially like this (BNF, no state machine diagram here) -- regular expressions have been included in some areas, eg /[0-9]+/. I'm not including the BNF for the other cue-settings here, this is just a start. The main point is that BNF will be helpful for writing scanners and parsers.
 +
 +
 +
 +
<pre>
 +
<webvtt-delimiter> ::= U+0020
 +
 +
                    | U+0009
 +
 +
<webvtt-delimiters> ::= <webvtt-delimiter>
 +
 +
                      | <webvtt-delimiters> <webvtt-delimiter>
 +
 +
 +
 +
<vertical-value> ::= "rl"
 +
 +
                  | "lr"
 +
 +
 +
 +
<vertical-setting> ::= "vertical" ":" <vertical-value>
 +
 +
 +
 +
<line-value-pct> ::= /[0-9]+/ "%"
 +
 +
 +
<line-value-num> ::= /[0-9]+/
 +
 +
                  | "-" /[0-9]+/
 +
 +
 +
 +
<line-value> ::= <line-value-pct>
 +
 +
              | <line-value-num>
 +
 +
 +
 +
<line-setting> ::= "line" ":" <line-value>
 +
 +
 +
<cue-setting> ::= <vertical-setting>
 +
 +
                | <line-setting>
 +
 +
                | <position-setting>
 +
 +
                | <size-setting>
 +
 +
                | <align-setting>
 +
 +
<cue-settings> ::= <cue-setting>
 +
 +
                | <cue-settings> <webvtt-delimiters> <cue-setting>
 +
 +
 +
</pre>
 +
 +
 +
 +
 +
Some implementation details for the parser:
 +
 +
The spec allows for multiple cue-settings per line (as shown in the BNF), however, the same line setting may not be repeated twice, which would not be caught by a parser generator based on the BNF alone, and would have to be checked for in code.
 +
 +
 +
 +
 
<u>09/10/2012:</u>
 
<u>09/10/2012:</u>
  

Revision as of 16:10, 25 September 2012

Me

My (preferred) name is Caitlin Potter, but for the time being my legal given name is Dylan.

I've been a software developer since about 2005, primarily working with C, C++ and Perl (however, I do very much enjoy Ruby, and Java is nice too). I've written numerous programs and scripts for Synrevoice Technologies, and have contributed to some small independent projects here and there.


Interests

  • audio signal processing
  • 3D visualization
  • artificial intelligence
  • electronic music


Links


OSD600

09/25/2012:


Over the weekend, I wrote a set of about 31 conformance tests for a webvtt parser ([here], more recent ones should be posted [OSD600/webvtt/cue_settings|here]).


This is a relatively simple section of the draft, as far as I can tell. It can be illustrated essentially like this (BNF, no state machine diagram here) -- regular expressions have been included in some areas, eg /[0-9]+/. I'm not including the BNF for the other cue-settings here, this is just a start. The main point is that BNF will be helpful for writing scanners and parsers.


<webvtt-delimiter> ::= U+0020

                     | U+0009

<webvtt-delimiters> ::= <webvtt-delimiter>

                      | <webvtt-delimiters> <webvtt-delimiter>



<vertical-value> ::= "rl"

                   | "lr"



<vertical-setting> ::= "vertical" ":" <vertical-value>



<line-value-pct> ::= /[0-9]+/ "%"


<line-value-num> ::= /[0-9]+/

                   | "-" /[0-9]+/



<line-value> ::= <line-value-pct>

               | <line-value-num>



<line-setting> ::= "line" ":" <line-value>


<cue-setting> ::= <vertical-setting>

                | <line-setting>

                | <position-setting>

                | <size-setting>

                | <align-setting>

<cue-settings> ::= <cue-setting>

                 | <cue-settings> <webvtt-delimiters> <cue-setting>




Some implementation details for the parser:

The spec allows for multiple cue-settings per line (as shown in the BNF), however, the same line setting may not be repeated twice, which would not be caught by a parser generator based on the BNF alone, and would have to be checked for in code.



09/10/2012:

After a few nights of headaches trying to build mozilla-central on windows 7 with Visual Studio 2010, and not getting much in the way of help from IRC, I have finally got a preliminary build together, and am able to attach the VS debugger, which is nice.

Minoo Ziaei blogged a mozconfig which gave me some insight into the build system and helped me to get things working correctly.

I've blogged about it here

While I am still investigating exactly how the changes I made to my configuration allowed me to compile without -WX being passed to cl.exe, and will certainly explain this (because it is not obvious at all from the readme or documentation provided by mozilla), I will post about it again when I figure that out completely, for the benefit of other people who are new to the mozilla source.

Bob

Bob-ross.png