User talk:Steamerandy

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search


This is the talk page for talking to, with or about me - Andy Patterson (Steamerandy)

Please sign your comments using four tildes (~~~~).

Talk About It[edit]

User:Steamerandy/sandbox/metalanguage

Schorre metalanguages[edit]

Personal article on Schorre metacompiler languages It includes my personal work. Changed to some of the characters used as opetators. The characters are more inline with the c and c++ use as operators making I hope easier for people to relate to. At least newer generations of programmers.

Quick Links[edit]

Reductive grammar

Talk Formal grammar

Talk:Metacompiler

Wikipedia:WikiProject Computer science

Wikipedia:Contributing to Wikipedia Reductive grammar

Talk:Formal grammar

Talk:Metacompiler

Wikipedia:WikiProject Computer science

Wikipedia:Contributing to Wikipedia

Re: Backus-Naur Form[edit]

Sorry for the delayed reply. I don't monitor my talk page.

I recall editing a table of BNF. I don't remember on which page, I guess it must have been the table which you, apparently, had originally created.

I appreciate your message. I do not mind your removing work of mine which you deem poor or unnecessary.

I have not read the ALGOL 60 report. In fact, I only learned that this was the first publication of BNF from that article's history section (which I found very interesting, so I took the time to improve it). If you say that < and > are not in the same class of symbol as ::= , then I accept your word for it.

I do have a concern: is there, now, a wikipedia page where a table of BNF (not EBNF) symbols can be conveniently looked up? If not, then please locate that deleted table (by accessing the article's change history), and copy it back somewhere where people will find it. I understand that it may have to be labelled differently that it was (perhaps "symbols introduced by the ALGOL 60 report for describing languages"?) but I do think that there is value, in a reference work such as wikipedia, to provide tables that conveniently summarize information that others may want to use.

Black Walnut (talk) 21:20, 26 June 2015 (UTC)

ArbCom elections are now open![edit]

Hi,
You appear to be eligible to vote in the current Arbitration Committee election. The Arbitration Committee is the panel of editors responsible for conducting the Wikipedia arbitration process. It has the authority to enact binding solutions for disputes between editors, primarily related to serious behavioural issues that the community has been unable to resolve. This includes the ability to impose site bans, topic bans, editing restrictions, and other measures needed to maintain our editing environment. The arbitration policy describes the Committee's roles and responsibilities in greater detail. If you wish to participate, you are welcome to review the candidates' statements and submit your choices on the voting page. For the Election committee, MediaWiki message delivery (talk) 16:55, 24 November 2015 (UTC)

Hey wassup[edit]

Hi. I was reading today edits by Arthur Rubin one of the Wiki eds I follow. I saw your message about your hard drive bit the dust and you were stuck typing on your smart phone Note4. I don't know your circumstance. do you have Wifi? If you have Wifi you should check this out

http://www.walmart.com/ip/RCA-Voyager-Pro-with-WiFi-7-Touchscreen-Tablet-PC-Featuring-Android-5.0-Lollipop-Operating-System/45804389

Its a small tablet from Walmart. And it has a keyboard! and only costs $49!!! And you don't have to drive to Walmart! you can order it online!! If you buy $1 more item from Walmart at same time you get shipping is free!! I got one for Christmas it even has a slot for micro sd card for data storage like a tiny hard drive. Edits on its keyboard is much better than on my smart phone. I can now update my blog in 10 minutes! instead of 1 hour it was taking me before using just my phone keyboard.

If you have Wifi at home it seems a good deal. And the price is good even if your a high school student, or old retired fix income. Even if you don't have Wifi at home. many restrants and coffee bars like Starbucks have Wifi hot spots. I buy a coffee and edit my blogs there. But its not Windows its Android operation system. A little bit different from Windows. But I like it! Try it you might like it too! I'm telling all my blog and twitter friends about this one. It comes with browser and all kinds of apps. And it has a camera! you can download and use Skype! You can even get free games!

Good luck your wiki edits and bloging. You have twitter? — Preceding unsigned comment added by 75.62.128.192 (talk) 02:41, 19 January 2016 (UTC)

Log in[edit]

Please make sure you log in when you edit. Thanks, Drmies (talk) 17:44, 17 June 2016 (UTC)

Wikipedia and copyright[edit]

Control copyright icon Hello Steamerandy, and welcome to Wikipedia. All or some of your addition(s) to Metacompiler has had to be removed, as it appears to have added copyrighted material without permission from the copyright holder. While we appreciate your contributing to Wikipedia, there are certain things you must keep in mind about using information from your sources to avoid copyright or plagiarism issues here.

  • You can only copy/translate a small amount of a source, and you must mark what you take as a direct quotation with double quotation marks (") and cite the source using an inline citation. You can read about this at Wikipedia:Non-free content in the sections on "text". See also Help:Referencing for beginners, for how to cite sources here.
  • Aside from limited quotation, you must put all information in your own words and structure, in proper paraphrase. Following the source's words too closely can create copyright problems, so it is not permitted here; see Wikipedia:Close paraphrasing. (There is a college-level introduction to paraphrase, with examples, hosted by the Online Writing Lab of Purdue.) Even when using your own words, you are still, however, asked to cite your sources to verify information and to demonstrate that the content is not original research.
  • Our primary policy on using copyrighted content is Wikipedia:Copyrights. You may also want to review Wikipedia:Copy-paste.
  • If you own the copyright to the source you want to copy or are a designated agent, you may be able to license that text so that we can publish it here. However, there are steps that must be taken to verify that license before you do. See Wikipedia:Donating copyrighted materials.
  • In very rare cases (that is, for sources that are public domain or compatibly licensed), it may be possible to include greater portions of a source text. However, please seek help at the help desk before adding such content to the article. 99.9% of sources may not be added in this way, so it is necessary to seek confirmation first. If you do confirm that a source is public domain or compatibly licensed, you will still need to provide full attribution; see Wikipedia:Plagiarism for the steps you need to follow.
  • Also note that Wikipedia articles may not be copied or translated without attribution. If you want to copy or translate from another Wikipedia project or article, you can, but please follow the steps in Wikipedia:Copying within Wikipedia.

It's very important that contributors understand and follow these practices, as policy requires that people who persistently do not must be blocked from editing. If you have any questions about this, you are welcome to leave me a message on my talk page. Thank you. — Diannaa (talk) 03:03, 12 July 2016 (UTC)

ArbCom Elections 2016: Voting now open![edit]

Scale of justice 2.svgHello, Steamerandy. Voting in the 2016 Arbitration Committee elections is open from Monday, 00:00, 21 November through Sunday, 23:59, 4 December to all unblocked users who have registered an account before Wednesday, 00:00, 28 October 2016 and have made at least 150 mainspace edits before Sunday, 00:00, 1 November 2016.

The Arbitration Committee is the panel of editors responsible for conducting the Wikipedia arbitration process. It has the authority to impose binding solutions to disputes between editors, primarily for serious conduct disputes the community has been unable to resolve. This includes the authority to impose site bans, topic bans, editing restrictions, and other measures needed to maintain our editing environment. The arbitration policy describes the Committee's roles and responsibilities in greater detail.

If you wish to participate in the 2016 election, please review the candidates' statements and submit your choices on the voting page. MediaWiki message delivery (talk) 22:08, 21 November 2016 (UTC)

Metacompiler[edit]

Are you the person who wrote the section "Metacompiler" on my talk page. I just reviewed it again and noticed a few things of extreme interest to me. Yes, I knew Val. He taught me how to understand the innards of the Generators Pass 1 compiler -- in particular, the meaning of the mysterious state vector "IV". I spent two weeks reading that compiler, and I had a headache every day, but at the end I knew it well enough to fix bugs and make a few small improvements.

Okay, the fact that Erwin handed out manuals at ACM means that those are no longer "trade secrets", so we can pretty much redistribute those (I have copies in PDF form and plan to rewrite them for my new version, "brisk", if I can ever finish it). Here's hoping I remember enough about "IV" to manage that. I'm writing from a vague memory of "how things worked", without access to the sources. Clark Weissman managed to find a copy of the source when he was at Northrop Grumman, but I have no idea what happened to that, and anyway I need to stay far away from the CWIC sources if I want to release an open source version.

Do you by any chance have the sources for your "extended CWIC" compiler? Maybe I can save myself a lot of work.

IMO neither C nor LISP nor FORTH are metacompilers. Self-hosting is not the same as a metacompiler (or compiler-compiler). The latter has features specifically designed for parsing the source and managing the parse tree. Yacc and lexx constitute a metacompiler (barely, as the parse tree management is minimal). But writing a compiler in a general-purpose language does not make it a metacompiler.

I have spoken. (From out of the depths of my navel) Bgoldnyxnet (talk) 02:25, 24 November 2017 (UTC)

Hay Bgoldnyxnet. Thanks for agreeing.

You asked about SLIC. I started on a new implementation but my laptop hard drive craped out. I had the syntax language parser almost completed. At least to the point of bootstraping. Using a C++ compiler I wrote _naked _asm functions. Hand compiling my formula into assembly. I now use the terms syntax formula, token formula, character class and parser programming language. A formula is a procedure to be followed. Calling them equations or rules today gets them confused with grammar rules. And side tracked into production rewrite rules.

Haven't got a replacement computer as yet. Had backups but not sure where that external drive is sense I moved. I wrote SLIC with only CWIC SYNTAX and GENERATOR language manuals for referance. I visited Irwin there once and met Val Schorre. Irwin gave me is work number with the manuals. He had no problem answering my questions on implementation.

My new implementation combines all the languages into one set of Parser formula, generator functions, pseudo functions and machop functions that can be intermixed:

program = $((declaration		   	// A program is a sequance of
                                                // declarations terminated by 
                       |.EOF .STOP)	  // End Of File
                     \  // Backtrack: .EOF failed or declaration long-failed.
                       (ERRORX["?Error?"]   // report unknown error
                                                           // flaging furthest parse point.
                        	$(-';' (.ANY                // find a ; .ANY skiping any
                        | .STOP))  		               // character fails on end of file
                                                          // and .STOP ends the compile.
                              	                           // -';' failing breaks loop. Match ';'
						            ';'));                                 // and continue declaration loop

declaration =	"#" dirictive
              | comment
              | global	  	DECLAR[*1]                 
              | (id ( formula   PARSER[*1]     // Parser function
                    | sequencer GENERATOR[*1]  // Generator function
                    | optimizer ISO[*1]        // In Sequence Optimizer
                    | pseudo_op PRODUCTION[*1] // Pseudo instruction
                    | emitor_op MACHOP[*1]     // Machine instruction
                    )  // All the above start with an identifier
                \ ERRORX["Syntax error"] garbol); // Backtrack ERROR

grammar = (':'  class  :CLASS   // character class define
          |".." token  :TOKEN   // token rule
          |"==" syntax :BCKTRAK // backtrack grammar rule
          |'='  syntax :SYNTAX  // grammar rule.
          	)';'!2	        // Combine node name and tree
         	$(-.NL -"/*" .any); Comment to line seperator?

comment  =    // C style comments:
           "//" $(-.NL .ANY)     
         | "/*" $(-"*/" .ANY) "*/";

syntax   = seq ('|' alt1|'\' alt2 |--);

alt1     = seq:ALT!2 ('|' alt1|--); alternative sequance.
         
alt2     = seq:BKTK!2 ('\' alt2|--); backtrack alternative sequance

seq      = +[oper $oper]+;

oper    = test | action | '(' syntax ')';

test     = string | id ('[' (arg_list|-- ,NILL) ']':GENR!2|--)

Note. -- is equivalent to .EMPTY. I am using { } instead of .BEGIN and .END. I have also changed list making operators < and > used in the syntax language to +[ and ]+ agreeing with the generator language. I also changed token formula to allow calling generator functions as their operation. i.e.

str .. (''' .ANY '''|'"' $(-'"' .ANY | """""",'"') '"') MAKSTR[];
chr .. ''' .ANY ''' MAKESTR[];
num .. "0B" bin $bin MAKBIN[]
      |"0O" oct $oct MAKOCT[]
      |("0H"|"0X") hex $hex MAKEHEX[]
      |dgt $dgt MAKNUM[];

One thing that I could not find in the manuals. Is the last alternatives of a backtrack sequence backtracked. I assumed that it wasn't. In SLIC only the left alternatives are backtracked.

(A \ B \ C)

A and B are backtracked. C long failing would have to be handled by a previous backtrack. One could write:

 (A \ B \ C \ .FAIL)

I added the == Backtracking formula to accommodate Ray who was working on the COBOL compiler. It shortened formula that line wiped because of adding the .FAIL alternative.

 X = A \ B \ C \ .FAIL;

is equivalent to:

 X == A \ B \ C;

In my PC implementation a syntax formula only has a return on the stack. Formula do not need a stack frame. I use the base pointer EBP to point at a backtrack stack frame. Backtrack stack frames are back linked to the previous Back Track stack Frame. An initial BTF is created befor calling the starting syntax formule. Backtracking to it is reported as an internal compiler error.

I have some code examples around that could be used. They do have a lot a stack games in their code. I have programed in assembly more then high level languages. I normally do not have any problem in using any processors assembly language. With a reference manual in hand I just go at it.

Though when I was working on APEXEC we had a major misunderstanding of CLI and SEI.

My email is at hotmail same user name as here if you wish to contact me. I am retired with a lot of free time. After Christmas I plane to put a new computer together. Probably a Rizen 5 system. I still have a lot of stuff at my old house that I need to get.

Women in Red World Contest[edit]

Hi. We're into the last five days of the Women in Red World Contest. There's a new bonus prize of $200 worth of books of your choice to win for creating the most new women biographies between 0:00 on the 26th and 23:59 on 30th November. If you've been contributing to the contest, thank you for your support, we've produced over 2000 articles. If you haven't contributed yet, we would appreciate you taking the time to add entries to our articles achievements list by the end of the month. Thank you, and if participating, good luck with the finale!

ArbCom 2017 election voter message[edit]

Scale of justice 2.svgHello, Steamerandy. Voting in the 2017 Arbitration Committee elections is now open until 23.59 on Sunday, 10 December. All users who registered an account before Saturday, 28 October 2017, made at least 150 mainspace edits before Wednesday, 1 November 2017 and are not currently blocked are eligible to vote. Users with alternate accounts may only vote once.

The Arbitration Committee is the panel of editors responsible for conducting the Wikipedia arbitration process. It has the authority to impose binding solutions to disputes between editors, primarily for serious conduct disputes the community has been unable to resolve. This includes the authority to impose site bans, topic bans, editing restrictions, and other measures needed to maintain our editing environment. The arbitration policy describes the Committee's roles and responsibilities in greater detail.

If you wish to participate in the 2017 election, please review the candidates and submit your choices on the voting page. MediaWiki message delivery (talk) 18:42, 3 December 2017 (UTC)